Mark the iovec parameters of writev() and readv() as IN and OUT.

This makes truss work on readv() as expected.
This commit is contained in:
tuexen 2018-01-14 09:51:25 +00:00
parent adfee38d71
commit 445752d5e4

View File

@ -387,7 +387,7 @@ static struct syscall decoded_syscalls[] = {
{ .name = "read", .ret_type = 1, .nargs = 3,
.args = { { Int, 0 }, { BinString | OUT, 1 }, { Sizet, 2 } } },
{ .name = "readv", .ret_type = 1, .nargs = 3,
.args = { { Int, 0 }, { Iovec, 1 }, { Int, 2 } } },
.args = { { Int, 0 }, { Iovec | OUT, 1 }, { Int, 2 } } },
{ .name = "readlink", .ret_type = 1, .nargs = 3,
.args = { { Name, 0 }, { Readlinkres | OUT, 1 }, { Sizet, 2 } } },
{ .name = "readlinkat", .ret_type = 1, .nargs = 4,
@ -523,7 +523,7 @@ static struct syscall decoded_syscalls[] = {
{ .name = "write", .ret_type = 1, .nargs = 3,
.args = { { Int, 0 }, { BinString | IN, 1 }, { Sizet, 2 } } },
{ .name = "writev", .ret_type = 1, .nargs = 3,
.args = { { Int, 0 }, { Iovec, 1 }, { Int, 2 } } },
.args = { { Int, 0 }, { Iovec | IN, 1 }, { Int, 2 } } },
/* Linux ABI */
{ .name = "linux_access", .ret_type = 1, .nargs = 2,