diff options
author | Filip Bozuta <Filip.Bozuta@syrmia.com> | 2020-06-19 14:33:29 +0200 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2020-06-29 13:08:48 +0200 |
commit | af861deaed5aa979522ec72425913295dc050f10 (patch) | |
tree | 62987e6b3fdf1e53f4bdc59d0a671e03107200f9 /linux-user/strace.list | |
parent | 4fc3cdde40f977ee8deecf988eea7acfa373117a (diff) |
linux-user: Add strace support for printing arguments of lseek()
This patch implements strace argument printing functionality for syscall:
*lseek - reposition read/write file offset
off_t lseek(int fd, off_t offset, int whence)
man page: https://www.man7.org/linux/man-pages/man2/lseek.2.html
Implementation notes:
The syscall's third argument "whence" has predefined values:
"SEEK_SET","SEEK_CUR","SEEK_END","SEEK_DATA","SEEK_HOLE"
and thus a separate printing function "print_lseek" was stated
in file "strace.list". This function is defined in "strace.c"
by using an existing function "print_raw_param()" to print
the first and second argument and a switch(case) statement
for the predefined values of the third argument.
Values "SEEK_DATA" and "SEEK_HOLE" are defined in kernel version 3.1.
That is the reason why case statements for these values are
enwrapped in #ifdef directive.
Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200619123331.17387-5-filip.bozuta@syrmia.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/strace.list')
-rw-r--r-- | linux-user/strace.list | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/linux-user/strace.list b/linux-user/strace.list index d04ad507b0..a4a8c61969 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -516,7 +516,7 @@ { TARGET_NR_lremovexattr, "lremovexattr" , NULL, print_lremovexattr, NULL }, #endif #ifdef TARGET_NR_lseek -{ TARGET_NR_lseek, "lseek" , NULL, NULL, NULL }, +{ TARGET_NR_lseek, "lseek" , NULL, print_lseek, NULL }, #endif #ifdef TARGET_NR_lsetxattr { TARGET_NR_lsetxattr, "lsetxattr" , NULL, NULL, NULL }, |