diff options
-rw-r--r-- | io.c | 33 | ||||
-rw-r--r-- | linux/alpha/syscallent.h | 4 | ||||
-rw-r--r-- | linux/arm/syscallent.h | 4 | ||||
-rw-r--r-- | linux/bfin/syscallent.h | 4 | ||||
-rw-r--r-- | linux/hppa/syscallent.h | 4 | ||||
-rw-r--r-- | linux/i386/syscallent.h | 4 | ||||
-rw-r--r-- | linux/ia64/syscallent.h | 4 | ||||
-rw-r--r-- | linux/m68k/syscallent.h | 4 | ||||
-rw-r--r-- | linux/microblaze/syscallent.h | 4 | ||||
-rw-r--r-- | linux/mips/syscallent.h | 12 | ||||
-rw-r--r-- | linux/powerpc/syscallent.h | 4 | ||||
-rw-r--r-- | linux/s390/syscallent.h | 4 | ||||
-rw-r--r-- | linux/s390x/syscallent.h | 4 | ||||
-rw-r--r-- | linux/sh/syscallent.h | 4 | ||||
-rw-r--r-- | linux/sh64/syscallent.h | 4 | ||||
-rw-r--r-- | linux/sparc/syscallent.h | 4 | ||||
-rw-r--r-- | linux/syscall.h | 1 | ||||
-rw-r--r-- | linux/x86_64/syscallent.h | 4 |
18 files changed, 70 insertions, 36 deletions
@@ -304,6 +304,39 @@ sys_pwrite(struct tcb *tcp) return 0; } +#if HAVE_SYS_UIO_H +int +sys_preadv(struct tcb *tcp) +{ + if (entering(tcp)) { + printfd(tcp, tcp->u_arg[0]); + tprintf(", "); + } else { + if (syserror(tcp)) { + tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]); + return 0; + } + tprint_iov(tcp, tcp->u_arg[2], tcp->u_arg[1]); + tprintf(", %lu, ", tcp->u_arg[2]); + printllval(tcp, "%llu", PREAD_OFFSET_ARG); + } + return 0; +} + +int +sys_pwritev(struct tcb *tcp) +{ + if (entering(tcp)) { + printfd(tcp, tcp->u_arg[0]); + tprintf(", "); + tprint_iov(tcp, tcp->u_arg[2], tcp->u_arg[1]); + tprintf(", %lu, ", tcp->u_arg[2]); + printllval(tcp, "%llu", PREAD_OFFSET_ARG); + } + return 0; +} +#endif /* HAVE_SYS_UIO_H */ + int sys_sendfile(struct tcb *tcp) { diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index 3192bdf..07344bc 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -518,8 +518,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 487 */ { 2, TD, sys_pipe2, "pipe2" }, /* 488 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 489 */ - { 5, TD, printargs, "preadv" }, /* 490 */ - { 5, TD, printargs, "pwritev" }, /* 491 */ + { 5, TD, sys_preadv, "preadv" }, /* 490 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 491 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 492 */ { 5, TD, printargs, "perf_event_open" }, /* 493 */ { 2, TD, printargs, "fanotify_init" }, /* 494 */ diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index b914ca0..784b986 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -391,8 +391,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 358 */ { 2, TD, sys_pipe2, "pipe2" }, /* 359 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 360 */ - { 5, TD, printargs, "preadv" }, /* 361 */ - { 5, TD, printargs, "pwritev" }, /* 362 */ + { 5, TD, sys_preadv, "preadv" }, /* 361 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 362 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 363 */ { 5, TD, printargs, "perf_event_open"}, /* 364 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 365 */ diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h index eb1fb9a..7cfd79d 100644 --- a/linux/bfin/syscallent.h +++ b/linux/bfin/syscallent.h @@ -394,8 +394,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 363 */ { 2, TD, sys_pipe2, "pipe2" }, /* 364 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 365 */ - { 5, TD, printargs, "preadv" }, /* 366 */ - { 5, TD, printargs, "pwritev" }, /* 367 */ + { 5, TD, sys_preadv, "preadv" }, /* 366 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 367 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 368 */ { 5, TD, printargs, "perf_event_open" }, /* 369 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 370 */ diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h index 8f20bc0..119c26e 100644 --- a/linux/hppa/syscallent.h +++ b/linux/hppa/syscallent.h @@ -320,8 +320,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 312 */ { 2, TD, sys_pipe2, "pipe2" }, /* 313 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 314 */ - { 5, TD, printargs, "preadv" }, /* 315 */ - { 5, TD, printargs, "pwritev" }, /* 316 */ + { 5, TD, sys_preadv, "preadv" }, /* 315 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 316 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 317 */ { 5, TD, printargs, "perf_event_open" }, /* 318 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 319 */ diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index 6e2d466..54de0ad 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -363,8 +363,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 330 */ { 2, TD, sys_pipe2, "pipe2" }, /* 331 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 332 */ - { 5, TD, printargs, "preadv" }, /* 333 */ - { 5, TD, printargs, "pwritev" }, /* 334 */ + { 5, TD, sys_preadv, "preadv" }, /* 333 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 334 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 335 */ { 5, TD, printargs, "perf_event_open"}, /* 336 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 337 */ diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index fbd732d..17c4500 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -1114,8 +1114,8 @@ { 3, TD|TS, sys_signalfd, "signalfd" }, /* 1307 */ { 4, TD, sys_timerfd, "timerfd" }, /* 1308 */ { 1, TD, sys_eventfd, "eventfd" }, /* 1309 */ - { 5, TD, printargs, "preadv" }, /* 1319 */ - { 5, TD, printargs, "pwritev" }, /* 1320 */ + { 5, TD, sys_preadv, "preadv" }, /* 1319 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 1320 */ { 4, TS, printargs, "rt_tgsigqueueinfo"}, /* 1321 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 1322 */ { 2, TD, printargs, "fanotify_init" }, /* 1323 */ diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h index 1568bb6..48b5378 100644 --- a/linux/m68k/syscallent.h +++ b/linux/m68k/syscallent.h @@ -357,8 +357,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 326 */ { 2, TD, sys_pipe2, "pipe2" }, /* 327 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 328 */ - { 5, TD, printargs, "preadv" }, /* 329 */ - { 5, TD, printargs, "pwritev" }, /* 330 */ + { 5, TD, sys_preadv, "preadv" }, /* 329 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 330 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 331 */ { 5, TD, printargs, "perf_event_open"}, /* 332 */ { 0, 0, sys_get_thread_area, "get_thread_area"}, /* 333 */ diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h index 026e46a..ed6e525 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -392,8 +392,8 @@ { 5, TN, sys_sendmsg, "sendmsg" }, /* 360 */ { 5, TN, sys_recvmsg, "recvmsg" }, /* 361 */ { 4, TN, sys_accept4, "accept4" }, /* 362 */ - { 5, TD, printargs, "preadv" }, /* 363 */ - { 5, TD, printargs, "pwritev" }, /* 364 */ + { 5, TD, sys_preadv, "preadv" }, /* 363 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 364 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 365 */ { 5, TN, printargs, "perf_event_open" }, /* 366 */ { 5, TN, printargs, "recvmmsg" }, /* 367 */ diff --git a/linux/mips/syscallent.h b/linux/mips/syscallent.h index 913d3d9..5756fae 100644 --- a/linux/mips/syscallent.h +++ b/linux/mips/syscallent.h @@ -4332,8 +4332,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 4327 */ { 2, TD, sys_pipe2, "pipe2" }, /* 4328 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 4329 */ - { 6, TD, printargs, "preadv" }, /* 4330 */ - { 6, TD, printargs, "pwritev" }, /* 4331 */ + { 6, TD, sys_preadv, "preadv" }, /* 4330 */ + { 6, TD, sys_pwritev, "pwritev" }, /* 4331 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 4332 */ { 5, TD, printargs, "perf_event_open" }, /* 4333 */ { 4, TN, sys_accept4, "accept4" }, /* 4334 */ @@ -5637,8 +5637,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 5286 */ { 2, TD, sys_pipe2, "pipe2" }, /* 5287 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 5288 */ - { 5, TD, printargs, "preadv" }, /* 5289 */ - { 5, TD, printargs, "pwritev" }, /* 5290 */ + { 5, TD, sys_preadv, "preadv" }, /* 5289 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 5290 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 5291 */ { 5, TD, printargs, "perf_event_open" }, /* 5292 */ { 4, TN, sys_accept4, "accept4" }, /* 5293 */ @@ -6947,8 +6947,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 6290 */ { 2, TD, sys_pipe2, "pipe2" }, /* 6291 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 6292 */ - { 5, TD, printargs, "preadv" }, /* 6293 */ - { 5, TD, printargs, "pwritev" }, /* 6294 */ + { 5, TD, sys_preadv, "preadv" }, /* 6293 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 6294 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 6295 */ { 5, TD, printargs, "perf_event_open" }, /* 6296 */ { 4, TN, sys_accept4, "accept4" }, /* 6297 */ diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index 91b13ee..aeae7ed 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -348,8 +348,8 @@ { 2, TD, sys_pipe2, "pipe2" }, /* 317 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 318 */ { 5, TD, printargs, "perf_event_open" }, /* 319 */ - { 5, TD, printargs, "preadv" }, /* 320 */ - { 5, TD, printargs, "pwritev" }, /* 321 */ + { 5, TD, sys_preadv, "preadv" }, /* 320 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 321 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 322 */ { 2, TD, printargs, "fanotify_init" }, /* 323 */ { 5, TD|TF, printargs, "fanotify_mark" }, /* 324 */ diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index 85679de..c077731 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -356,8 +356,8 @@ { 2, TD, sys_pipe2, "pipe2" }, /* 325 */ { 3, TD, sys_dup3, "dup3" }, /* 326 */ { 1, TD, sys_epoll_create1, "epoll_create1" }, /* 327 */ - { 5, TD, printargs, "preadv" }, /* 328 */ - { 5, TD, printargs, "pwritev" }, /* 329 */ + { 5, TD, sys_preadv, "preadv" }, /* 328 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 329 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 330 */ { 5, TD, printargs, "perf_event_open"}, /* 331 */ { 2, TD, printargs, "fanotify_init" }, /* 332 */ diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index 72a4b3b..9ae284e 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -355,8 +355,8 @@ { 2, TD, sys_pipe2, "pipe2" }, /* 325 */ { 3, TD, sys_dup3, "dup3" }, /* 326 */ { 1, TD, sys_epoll_create1, "epoll_create1" }, /* 327 */ - { 5, TD, printargs, "preadv" }, /* 328 */ - { 5, TD, printargs, "pwritev" }, /* 329 */ + { 5, TD, sys_preadv, "preadv" }, /* 328 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 329 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 330 */ { 5, TD, printargs, "perf_event_open"}, /* 331 */ { 2, TD, printargs, "fanotify_init" }, /* 332 */ diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h index 2906800..6ad858e 100644 --- a/linux/sh/syscallent.h +++ b/linux/sh/syscallent.h @@ -365,8 +365,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 330 */ { 2, TD, sys_pipe2, "pipe2" }, /* 331 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 332 */ - { 5, TD, printargs, "preadv" }, /* 333 */ - { 5, TD, printargs, "pwritev" }, /* 334 */ + { 5, TD, sys_preadv, "preadv" }, /* 333 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 334 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 335 */ { 5, TD, printargs, "perf_event_open"}, /* 336 */ { 2, TD, printargs, "fanotify_init" }, /* 337 */ diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h index 681a248..6f147a9 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -389,8 +389,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 358 */ { 2, TD, sys_pipe2, "pipe2" }, /* 359 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 360 */ - { 5, TD, printargs, "preadv" }, /* 361 */ - { 5, TD, printargs, "pwritev" }, /* 362 */ + { 5, TD, sys_preadv, "preadv" }, /* 361 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 362 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 363 */ { 5, TD, printargs, "perf_event_open"}, /* 364 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 365 */ diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h index beacb87..6581748 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -322,8 +322,8 @@ { 2, TD, sys_pipe2, "pipe2" }, /* 321 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 322 */ { 4, TN, sys_accept4, "accept4" }, /* 323 */ - { 5, TD, printargs, "preadv" }, /* 324 */ - { 5, TD, printargs, "pwritev" }, /* 325 */ + { 5, TD, sys_preadv, "preadv" }, /* 324 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 325 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 326 */ { 5, TD, printargs, "perf_event_open"}, /* 327 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 328 */ diff --git a/linux/syscall.h b/linux/syscall.h index e657f1e..b3a778d 100644 --- a/linux/syscall.h +++ b/linux/syscall.h @@ -80,6 +80,7 @@ int sys_sched_get_priority_max(), sys_sched_get_priority_min(); int sys_sched_rr_get_interval(), sys_nanosleep(), sys_mremap(); int sys_sendmsg(), sys_recvmsg(), sys_setresuid(), sys_setresgid(); int sys_getresuid(), sys_getresgid(), sys_pread(), sys_pwrite(), sys_getcwd(); +int sys_preadv(), sys_pwritev(); int sys_sigaltstack(), sys_rt_sigprocmask(), sys_rt_sigaction(); int sys_rt_sigpending(), sys_rt_sigsuspend(), sys_rt_sigqueueinfo(); int sys_rt_sigtimedwait(), sys_prctl(), sys_poll(), sys_vfork(); diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 2c2ed24..c58cc82 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -293,8 +293,8 @@ { 3, TD, sys_dup3, "dup3" }, /* 292 */ { 2, TD, sys_pipe2, "pipe2" }, /* 293 */ { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 294 */ - { 5, TD, printargs, "preadv" }, /* 295 */ - { 5, TD, printargs, "pwritev" }, /* 296 */ + { 5, TD, sys_preadv, "preadv" }, /* 295 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 296 */ { 4, TP|TS, printargs, "rt_tgsigqueueinfo"}, /* 297 */ { 5, TD, printargs, "perf_event_open"}, /* 298 */ { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 299 */ |