From f67ad1c2634b3c7a46c43ebdbdffbe7a083e99ed Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Tue, 20 Nov 2012 09:57:58 +0100 Subject: strace: backport AArch64 support This changeset updates existing OE patches to commits from upstream git tree and adds everything needed to get AArch64 support working. Signed-off-by: Marcin Juszkiewicz Signed-off-by: Saul Wold --- ...ilding-when-glibc-has-a-stub-process_vm_r.patch | 54 + .../strace-4.7/0014-x32-update-syscall-table.patch | 91 + ...-x32-update-g-s-etsockopt-syscall-numbers.patch | 43 + .../0024-x32-add-64bit-annotation-too.patch | 231 ++ .../0025-Add-e-trace-memory-option.patch | 2898 ++++++++++++++++++++ ...ew-errno-values-for-EPROBE_DEFER-and-EOPE.patch | 36 + .../0027-Add-AArch64-support-to-strace.patch | 542 ++++ .../0028-Enhance-quotactl-decoding.patch | 391 +++ ...029-Filter-out-redundant-32-ioctl-entries.patch | 145 + ...neric-ioctl-definitions-to-linux-ioctlent.patch | 571 ++++ ...-for-tracing-32-bit-ARM-EABI-binaries-on-.patch | 963 +++++++ .../strace/strace-4.7/strace-eglibc-2.16.patch | 52 - .../strace/strace-4.7/strace-x32.patch | 88 - meta/recipes-devtools/strace/strace_4.7.bb | 15 +- 14 files changed, 5977 insertions(+), 143 deletions(-) create mode 100644 meta/recipes-devtools/strace/strace-4.7/0003-util-fix-building-when-glibc-has-a-stub-process_vm_r.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0014-x32-update-syscall-table.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0018-x32-update-g-s-etsockopt-syscall-numbers.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0024-x32-add-64bit-annotation-too.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0025-Add-e-trace-memory-option.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0026-linux-add-new-errno-values-for-EPROBE_DEFER-and-EOPE.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0027-Add-AArch64-support-to-strace.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0028-Enhance-quotactl-decoding.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0029-Filter-out-redundant-32-ioctl-entries.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0030-Move-asm-generic-ioctl-definitions-to-linux-ioctlent.patch create mode 100644 meta/recipes-devtools/strace/strace-4.7/0031-Add-support-for-tracing-32-bit-ARM-EABI-binaries-on-.patch delete mode 100644 meta/recipes-devtools/strace/strace-4.7/strace-eglibc-2.16.patch delete mode 100644 meta/recipes-devtools/strace/strace-4.7/strace-x32.patch (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/strace/strace-4.7/0003-util-fix-building-when-glibc-has-a-stub-process_vm_r.patch b/meta/recipes-devtools/strace/strace-4.7/0003-util-fix-building-when-glibc-has-a-stub-process_vm_r.patch new file mode 100644 index 0000000000..2fd80ec2b2 --- /dev/null +++ b/meta/recipes-devtools/strace/strace-4.7/0003-util-fix-building-when-glibc-has-a-stub-process_vm_r.patch @@ -0,0 +1,54 @@ +Upstream-Status: Backport + +From 24ee60b836ad33bb4ac694ca99d6c94a8cc5ff92 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Fri, 4 May 2012 19:37:29 -0400 +Subject: [PATCH 03/31] util: fix building when glibc has a stub + process_vm_readv + +If you have a newer glibc which provides process_vm_readv, but it is built +against older kernel headers which lack __NR_process_vm_readv, the library +will contain a stub implementation that just returns ENOSYS. Autoconf +checks for this case explicitly and will declare it as unavailable. So we +end up in a case where the headers provide the prototype, but autoconf has +not defined HAVE_PROCESS_VM_READV, so we hit the same build failure again: + +util.c:738:16: error: static declaration of 'process_vm_readv' follows non-static declaration +/usr/include/bits/uio.h:58:16: note: previous declaration of 'process_vm_readv' was here + +So rename our local function to something unique, and add a define so the +callers all hit the right place. + +* util.c (strace_process_vm_readv): Rename from process_vm_readv. +(process_vm_readv): Define to strace_process_vm_readv. + +Signed-off-by: Mike Frysinger +--- + util.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/util.c b/util.c +index d347bd8..f27acdf 100644 +--- a/util.c ++++ b/util.c +@@ -735,7 +735,8 @@ static bool process_vm_readv_not_supported = 0; + + #if defined(__NR_process_vm_readv) + static bool process_vm_readv_not_supported = 0; +-static ssize_t process_vm_readv(pid_t pid, ++/* Have to avoid duplicating with the C library headers. */ ++static ssize_t strace_process_vm_readv(pid_t pid, + const struct iovec *lvec, + unsigned long liovcnt, + const struct iovec *rvec, +@@ -744,6 +745,7 @@ static ssize_t process_vm_readv(pid_t pid, + { + return syscall(__NR_process_vm_readv, (long)pid, lvec, liovcnt, rvec, riovcnt, flags); + } ++#define process_vm_readv strace_process_vm_readv + #else + static bool process_vm_readv_not_supported = 1; + # define process_vm_readv(...) (errno = ENOSYS, -1) +-- +1.8.0 + diff --git a/meta/recipes-devtools/strace/strace-4.7/0014-x32-update-syscall-table.patch b/meta/recipes-devtools/strace/strace-4.7/0014-x32-update-syscall-table.patch new file mode 100644 index 0000000000..b977e9db41 --- /dev/null +++ b/meta/recipes-devtools/strace/strace-4.7/0014-x32-update-syscall-table.patch @@ -0,0 +1,91 @@ +Upstream-Status: Backport + +From d7df59197d406b14af21cbc734d286c27108e2db Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Mon, 4 Jun 2012 14:01:59 -0400 +Subject: [PATCH 14/31] x32: update syscall table + +This syncs with the syscall table as it is in linux 3.4. + +* linux/x32/syscallent.h (59): Fix comment typo. +(78): Add missing getdents entry. +(174): Delete create_module entry (not in the kernel). +(181, 182, 183, 184, 185): Add missing entries. +(524, 536, 539, 540): Fix spacing. + +Signed-off-by: Mike Frysinger +--- + linux/x32/syscallent.h | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h +index fcb6a23..ee4c4ce 100644 +--- a/linux/x32/syscallent.h ++++ b/linux/x32/syscallent.h +@@ -57,7 +57,7 @@ + { 5, TP, sys_clone, "clone" }, /* 56 */ + { 0, TP, sys_fork, "fork" }, /* 57 */ + { 0, TP, sys_vfork, "vfork" }, /* 58 */ +- { }, /* 47 */ ++ { }, /* 59 */ + { 1, TP, sys_exit, "_exit" }, /* 60 */ + { 4, TP, sys_wait4, "wait4" }, /* 61 */ + { 2, TS, sys_kill, "kill" }, /* 62 */ +@@ -76,7 +76,7 @@ + { 1, TD, sys_fdatasync, "fdatasync" }, /* 75 */ + { 2, TF, sys_truncate, "truncate" }, /* 76 */ + { 2, TD, sys_ftruncate, "ftruncate" }, /* 77 */ +- { }, /* 78 */ ++ { 3, TD, sys_getdents, "getdents" }, /* 78 */ + { 2, TF, sys_getcwd, "getcwd" }, /* 79 */ + { 1, TF, sys_chdir, "chdir" }, /* 80 */ + { 1, TD, sys_fchdir, "fchdir" }, /* 81 */ +@@ -172,18 +172,18 @@ + { 2, 0, sys_setdomainname, "setdomainname" }, /* 171 */ + { 1, 0, sys_iopl, "iopl" }, /* 172 */ + { 3, 0, sys_ioperm, "ioperm" }, /* 173 */ +- { 2, 0, sys_create_module, "create_module" }, /* 174 */ ++ { }, /* 174 */ + { 3, 0, sys_init_module, "init_module" }, /* 175 */ + { 2, 0, sys_delete_module, "delete_module" }, /* 176 */ + { }, /* 177 */ + { }, /* 178 */ + { 4, 0, sys_quotactl, "quotactl" }, /* 179 */ + { }, /* 180 */ +- { }, /* 181 */ +- { }, /* 182 */ +- { }, /* 183 */ +- { }, /* 184 */ +- { }, /* 185 */ ++ { 5, 0, sys_getpmsg, "getpmsg" }, /* 181 */ ++ { 5, 0, sys_putpmsg, "putpmsg" }, /* 182 */ ++ { 5, 0, sys_afs_syscall, "afs_syscall" }, /* 183 */ ++ { 3, 0, sys_tuxcall, "tuxcall" }, /* 184 */ ++ { 3, 0, sys_security, "security" }, /* 185 */ + { 0, 0, sys_gettid, "gettid" }, /* 186 */ + { 4, TD, sys_readahead, "readahead" }, /* 187 */ + { 5, TF, sys_setxattr, "setxattr" }, /* 188 */ +@@ -325,7 +325,7 @@ + { 4, 0, sys_ptrace, "ptrace" }, /* 521 */ + { 2, TS, sys_rt_sigpending, "rt_sigpending" }, /* 522 */ + { 4, TS, sys_rt_sigtimedwait, "rt_sigtimedwait" }, /* 523 */ +- { 3, TS, sys_rt_sigqueueinfo, "rt_sigqueueinfo" }, /* 524 */ ++ { 3, TS, sys_rt_sigqueueinfo, "rt_sigqueueinfo" }, /* 524 */ + { 2, TS, sys_sigaltstack, "sigaltstack" }, /* 525 */ + { 3, 0, sys_timer_create, "timer_create" }, /* 526 */ + { 2, 0, sys_mq_notify, "mq_notify" }, /* 527 */ +@@ -337,8 +337,8 @@ + { 6, 0, sys_move_pages, "move_pages" }, /* 533 */ + { 5, TD, sys_preadv, "preadv" }, /* 534 */ + { 5, TD, sys_pwritev, "pwritev" }, /* 535 */ +- { 4, TP|TS, sys_rt_tgsigqueueinfo, "rt_tgsigqueueinfo"}, /* 536 */ ++ { 4, TP|TS, sys_rt_tgsigqueueinfo, "rt_tgsigqueueinfo" }, /* 536 */ + { 5, TN, sys_recvmmsg, "recvmmsg" }, /* 537 */ + { 4, TN, sys_sendmmsg, "sendmmsg" }, /* 538 */ +- { 6, 0, sys_process_vm_readv, "process_vm_readv"}, /* 539 */ +- { 6, 0, sys_process_vm_writev, "process_vm_writev"}, /* 540 */ ++ { 6, 0, sys_process_vm_readv, "process_vm_readv" }, /* 539 */ ++ { 6, 0, sys_process_vm_writev, "process_vm_writev" }, /* 540 */ +-- +1.8.0 + diff --git a/meta/recipes-devtools/strace/strace-4.7/0018-x32-update-g-s-etsockopt-syscall-numbers.patch b/meta/recipes-devtools/strace/strace-4.7/0018-x32-update-g-s-etsockopt-syscall-numbers.patch new file mode 100644 index 0000000000..4a1e2f7bec --- /dev/null +++ b/meta/recipes-devtools/strace/strace-4.7/0018-x32-update-g-s-etsockopt-syscall-numbers.patch @@ -0,0 +1,43 @@ +Upstream-Status: Backport + +From f04b5de5a5a743f0b3ca0895379dd2ba702ea174 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Wed, 22 Aug 2012 11:56:15 -0400 +Subject: [PATCH 18/31] x32: update {g,s}etsockopt syscall numbers + +Starting with linux 3.6 (and backported to earlier kernels), these two +syscalls have changed numbers (moving from native to compat entry points). +Update the strace syscall list accordingly. + +* linux/x32/syscallent.h: Move setsockopt from 54 to 541, and move +getsockopt from 55 to 542. + +Signed-off-by: Mike Frysinger +--- + linux/x32/syscallent.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h +index ee4c4ce..6385d45 100644 +--- a/linux/x32/syscallent.h ++++ b/linux/x32/syscallent.h +@@ -52,8 +52,8 @@ + { 3, TN, sys_getsockname, "getsockname" }, /* 51 */ + { 3, TN, sys_getpeername, "getpeername" }, /* 52 */ + { 4, TN, sys_socketpair, "socketpair" }, /* 53 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 54 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 55 */ ++ { }, /* 54 */ ++ { }, /* 55 */ + { 5, TP, sys_clone, "clone" }, /* 56 */ + { 0, TP, sys_fork, "fork" }, /* 57 */ + { 0, TP, sys_vfork, "vfork" }, /* 58 */ +@@ -342,3 +342,5 @@ + { 4, TN, sys_sendmmsg, "sendmmsg" }, /* 538 */ + { 6, 0, sys_process_vm_readv, "process_vm_readv" }, /* 539 */ + { 6, 0, sys_process_vm_writev, "process_vm_writev" }, /* 540 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 541 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 542 */ +-- +1.8.0 + diff --git a/meta/recipes-devtools/strace/strace-4.7/0024-x32-add-64bit-annotation-too.patch b/meta/recipes-devtools/strace/strace-4.7/0024-x32-add-64bit-annotation-too.patch new file mode 100644 index 0000000000..c0406a5bdc --- /dev/null +++ b/meta/recipes-devtools/strace/strace-4.7/0024-x32-add-64bit-annotation-too.patch @@ -0,0 +1,231 @@ +Upstream-Status: Backport + +From 85c217849046414a98d2d90173960f39defc145f Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Thu, 27 Sep 2012 01:12:39 -0400 +Subject: [PATCH 24/31] x32: add 64bit annotation too + +Since someone can invoke these entry points directly with syscall(), +at least decode their name and show that they're 64bit versions rather +than just showing syscall_###. + +* linux/x32/syscallent.h: Sync all missing entries below 312 with x86_64. + +Signed-off-by: Mike Frysinger +--- + linux/x32/syscallent.h | 84 +++++++++++++++++++++++++------------------------- + 1 file changed, 42 insertions(+), 42 deletions(-) + +diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h +index 6385d45..978af94 100644 +--- a/linux/x32/syscallent.h ++++ b/linux/x32/syscallent.h +@@ -11,14 +11,14 @@ + { 3, 0, sys_mprotect, "mprotect" }, /* 10 */ + { 2, 0, sys_munmap, "munmap" }, /* 11 */ + { 1, 0, sys_brk, "brk" }, /* 12 */ +- { }, /* 13 */ ++ { 4, TS, printargs, "64:rt_sigaction" }, /* 13 */ + { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask"}, /* 14 */ +- { }, /* 15 */ +- { }, /* 16 */ ++ { 0, TS, printargs, "64:rt_sigreturn" }, /* 15 */ ++ { 3, TD, printargs, "64:ioctl" }, /* 16 */ + { 5, TD, sys_pread, "pread" }, /* 17 */ + { 5, TD, sys_pwrite, "pwrite" }, /* 18 */ +- { }, /* 19 */ +- { }, /* 20 */ ++ { 3, TD, printargs, "64:readv" }, /* 19 */ ++ { 3, TD, printargs, "64:writev" }, /* 20 */ + { 2, TF, sys_access, "access" }, /* 21 */ + { 1, TD, sys_pipe, "pipe" }, /* 22 */ + { 5, TD, sys_select, "select" }, /* 23 */ +@@ -43,21 +43,21 @@ + { 3, TN, sys_connect, "connect" }, /* 42 */ + { 3, TN, sys_accept, "accept" }, /* 43 */ + { 6, TN, sys_sendto, "sendto" }, /* 44 */ +- { }, /* 45 */ +- { }, /* 46 */ +- { }, /* 47 */ ++ { 6, TN, printargs, "64:recvfrom" }, /* 45 */ ++ { 3, TN, printargs, "64:sendmsg" }, /* 46 */ ++ { 5, TN, printargs, "64:recvmsg" }, /* 47 */ + { 2, TN, sys_shutdown, "shutdown" }, /* 48 */ + { 3, TN, sys_bind, "bind" }, /* 49 */ + { 2, TN, sys_listen, "listen" }, /* 50 */ + { 3, TN, sys_getsockname, "getsockname" }, /* 51 */ + { 3, TN, sys_getpeername, "getpeername" }, /* 52 */ + { 4, TN, sys_socketpair, "socketpair" }, /* 53 */ +- { }, /* 54 */ +- { }, /* 55 */ ++ { 5, TN, printargs, "64:setsockopt" }, /* 54 */ ++ { 5, TN, printargs, "64:getsockopt" }, /* 55 */ + { 5, TP, sys_clone, "clone" }, /* 56 */ + { 0, TP, sys_fork, "fork" }, /* 57 */ + { 0, TP, sys_vfork, "vfork" }, /* 58 */ +- { }, /* 59 */ ++ { 3, TF|TP, printargs, "64:execve" }, /* 59 */ + { 1, TP, sys_exit, "_exit" }, /* 60 */ + { 4, TP, sys_wait4, "wait4" }, /* 61 */ + { 2, TS, sys_kill, "kill" }, /* 62 */ +@@ -99,7 +99,7 @@ + { 2, 0, sys_getrusage, "getrusage" }, /* 98 */ + { 1, 0, sys_sysinfo, "sysinfo" }, /* 99 */ + { 1, 0, sys_times, "times" }, /* 100 */ +- { }, /* 101 */ ++ { 4, 0, printargs, "64:ptrace" }, /* 101 */ + { 0, NF, sys_getuid, "getuid" }, /* 102 */ + { 3, 0, sys_syslog, "syslog" }, /* 103 */ + { 0, NF, sys_getgid, "getgid" }, /* 104 */ +@@ -125,14 +125,14 @@ + { 1, 0, sys_getsid, "getsid" }, /* 124 */ + { 2, 0, sys_capget, "capget" }, /* 125 */ + { 2, 0, sys_capset, "capset" }, /* 126 */ +- { }, /* 127 */ +- { }, /* 128 */ +- { }, /* 129 */ ++ { 2, TS, printargs, "64:rt_sigpending" }, /* 127 */ ++ { 4, TS, printargs, "64:rt_sigtimedwait" }, /* 128 */ ++ { 3, TS, printargs, "64:rt_sigqueueinfo" }, /* 129 */ + { 2, TS, sys_rt_sigsuspend, "rt_sigsuspend" }, /* 130 */ +- { }, /* 131 */ ++ { 2, TS, printargs, "64:sigaltstack"}, /* 131 */ + { 2, TF, sys_utime, "utime" }, /* 132 */ + { 3, TF, sys_mknod, "mknod" }, /* 133 */ +- { }, /* 134 */ ++ { 1, TF, printargs, "64:uselib" }, /* 134 */ + { 1, 0, sys_personality, "personality" }, /* 135 */ + { 2, 0, sys_ustat, "ustat" }, /* 136 */ + { 2, TF, sys_statfs, "statfs" }, /* 137 */ +@@ -154,7 +154,7 @@ + { 0, 0, sys_vhangup, "vhangup" }, /* 153 */ + { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 154 */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 155 */ +- { }, /* 156 */ ++ { 1, 0, printargs, "64:_sysctl" }, /* 156 */ + { 5, 0, sys_prctl, "prctl" }, /* 157 */ + { 2, TP, sys_arch_prctl, "arch_prctl" }, /* 158 */ + { 1, 0, sys_adjtimex, "adjtimex" }, /* 159 */ +@@ -172,13 +172,13 @@ + { 2, 0, sys_setdomainname, "setdomainname" }, /* 171 */ + { 1, 0, sys_iopl, "iopl" }, /* 172 */ + { 3, 0, sys_ioperm, "ioperm" }, /* 173 */ +- { }, /* 174 */ ++ { 2, 0, printargs, "64:create_module" }, /* 174 */ + { 3, 0, sys_init_module, "init_module" }, /* 175 */ + { 2, 0, sys_delete_module, "delete_module" }, /* 176 */ +- { }, /* 177 */ +- { }, /* 178 */ ++ { 1, 0, printargs, "64:get_kernel_syms" }, /* 177 */ ++ { 5, 0, printargs, "64:query_module" }, /* 178 */ + { 4, 0, sys_quotactl, "quotactl" }, /* 179 */ +- { }, /* 180 */ ++ { 3, 0, printargs, "64:nfsservctl" }, /* 180 */ + { 5, 0, sys_getpmsg, "getpmsg" }, /* 181 */ + { 5, 0, sys_putpmsg, "putpmsg" }, /* 182 */ + { 5, 0, sys_afs_syscall, "afs_syscall" }, /* 183 */ +@@ -203,24 +203,24 @@ + { 6, 0, sys_futex, "futex" }, /* 202 */ + { 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 203 */ + { 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 204 */ +- { }, /* 205 */ ++ { 1, 0, printargs, "64:set_thread_area" }, /* 205 */ + { 2, 0, sys_io_setup, "io_setup" }, /* 206 */ + { 1, 0, sys_io_destroy, "io_destroy" }, /* 207 */ + { 5, 0, sys_io_getevents, "io_getevents" }, /* 208 */ + { 3, 0, sys_io_submit, "io_submit" }, /* 209 */ + { 3, 0, sys_io_cancel, "io_cancel" }, /* 210 */ +- { }, /* 211 */ ++ { 1, 0, printargs, "64:get_thread_area" }, /* 211 */ + { 4, 0, sys_lookup_dcookie, "lookup_dcookie"}, /* 212 */ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 213 */ +- { }, /* 214 */ +- { }, /* 215 */ ++ { 4, 0, printargs, "64:epoll_ctl_old" }, /* 214 */ ++ { 4, 0, printargs, "64:epoll_wait_old" }, /* 215 */ + { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 216 */ + { 3, TD, sys_getdents64, "getdents64" }, /* 217 */ + { 1, 0, sys_set_tid_address, "set_tid_address"}, /* 218 */ + { 0, 0, sys_restart_syscall, "restart_syscall"}, /* 219 */ + { 5, TI, sys_semtimedop, "semtimedop" }, /* 220 */ + { 4, TD, sys_fadvise64_64, "fadvise64" }, /* 221 */ +- { }, /* 222 */ ++ { 3, 0, printargs, "64:timer_create"}, /* 222 */ + { 4, 0, sys_timer_settime, "timer_settime" }, /* 223 */ + { 2, 0, sys_timer_gettime, "timer_gettime" }, /* 224 */ + { 1, 0, sys_timer_getoverrun, "timer_getoverrun"}, /* 225 */ +@@ -234,7 +234,7 @@ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 233 */ + { 3, TS, sys_tgkill, "tgkill" }, /* 234 */ + { 2, TF, sys_utimes, "utimes" }, /* 235 */ +- { }, /* 236 */ ++ { 5, 0, printargs, "64:vserver" }, /* 236 */ + { 6, 0, sys_mbind, "mbind" }, /* 237 */ + { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 238 */ + { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 239 */ +@@ -242,10 +242,10 @@ + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 241 */ + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 242 */ + { 5, 0, sys_mq_timedreceive, "mq_timedreceive" }, /* 243 */ +- { }, /* 244 */ ++ { 2, 0, printargs, "64:mq_notify" }, /* 244 */ + { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 245 */ +- { }, /* 246 */ +- { }, /* 247 */ ++ { 4, 0, printargs, "64:kexec_load" }, /* 246 */ ++ { 5, TP, printargs, "64:waitid" }, /* 247 */ + { 5, 0, sys_add_key, "add_key" }, /* 248 */ + { 4, 0, sys_request_key, "request_key" }, /* 249 */ + { 5, 0, sys_keyctl, "keyctl" }, /* 250 */ +@@ -271,13 +271,13 @@ + { 6, TD, sys_pselect6, "pselect6" }, /* 270 */ + { 5, TD, sys_ppoll, "ppoll" }, /* 271 */ + { 1, TP, sys_unshare, "unshare" }, /* 272 */ +- { }, /* 273 */ +- { }, /* 274 */ ++ { 2, 0, printargs, "64:set_robust_list" }, /* 273 */ ++ { 3, 0, printargs, "64:get_robust_list" }, /* 274 */ + { 6, TD, sys_splice, "splice" }, /* 275 */ + { 4, TD, sys_tee, "tee" }, /* 276 */ + { 4, TD, sys_sync_file_range, "sync_file_range" }, /* 277 */ +- { }, /* 278 */ +- { }, /* 279 */ ++ { 4, TD, printargs, "64:vmsplice" }, /* 278 */ ++ { 6, 0, printargs, "64:move_pages" }, /* 279 */ + { 4, TD|TF, sys_utimensat, "utimensat" }, /* 280 */ + { 6, TD, sys_epoll_pwait, "epoll_pwait" }, /* 281 */ + { 3, TD|TS, sys_signalfd, "signalfd" }, /* 282 */ +@@ -293,11 +293,11 @@ + { 3, TD, sys_dup3, "dup3" }, /* 292 */ + { 2, TD, sys_pipe2, "pipe2" }, /* 293 */ + { 1, TD, sys_inotify_init1, "inotify_init1" }, /* 294 */ +- { }, /* 295 */ +- { }, /* 296 */ +- { }, /* 297 */ ++ { 5, TD, printargs, "64:preadv" }, /* 295 */ ++ { 5, TD, printargs, "64:pwritev" }, /* 296 */ ++ { 4, TP|TS, printargs, "64:rt_tgsigqueueinfo"}, /* 297 */ + { 5, TD, sys_perf_event_open, "perf_event_open"}, /* 298 */ +- { }, /* 299 */ ++ { 5, TN, printargs, "64:recvmmsg" }, /* 299 */ + { 2, TD, sys_fanotify_init, "fanotify_init" }, /* 300 */ + { 5, TD|TF, sys_fanotify_mark, "fanotify_mark" }, /* 301 */ + { 4, 0, sys_prlimit64, "prlimit64" }, /* 302 */ +@@ -305,11 +305,11 @@ + { 3, TD, sys_open_by_handle_at, "open_by_handle_at"}, /* 304 */ + { 2, 0, sys_clock_adjtime, "clock_adjtime" }, /* 305 */ + { 1, TD, sys_syncfs, "syncfs" }, /* 306 */ +- { }, /* 307 */ ++ { 4, TN, printargs, "64:sendmmsg" }, /* 307 */ + { 2, TD, sys_setns, "setns" }, /* 308 */ + { 3, 0, sys_getcpu, "getcpu" }, /* 309 */ +- { }, /* 310 */ +- { }, /* 311 */ ++ { 6, 0, printargs, "64:process_vm_readv" }, /* 310 */ ++ { 6, 0, printargs, "64:process_vm_writev" }, /* 311 */ + + [312 ... 511] = {}, + +-- +1.8.0 + diff --git a/meta/recipes-devtools/strace/strace-4.7/0025-Add-e-trace-memory-option.patch b/meta/recipes-devtools/strace/strace-4.7/0025-Add-e-trace-memory-option.patch new file mode 100644 index 0000000000..03ecf5df40 --- /dev/null +++ b/meta/recipes-devtools/strace/strace-4.7/0025-Add-e-trace-memory-option.patch @@ -0,0 +1,2898 @@ +Upstream-Status: Backport + +From 9679296d56e3c0a948b1b4dcce99fd3c9b253a3d Mon Sep 17 00:00:00 2001 +From: Namhyung Kim +Date: Wed, 24 Oct 2012 11:41:57 +0900 +Subject: [PATCH 25/31] Add -e trace=memory option + +Add a new 'memory' category for tracing memory mapping related syscalls. + +Affected syscalls are: break, brk, get_mempolicy, madvise, mbind, +migrate_pages, mincore, mlock, mlockall, mmap, move_pages, mprotect, +mremap, msync, munlock, munlockall, munmap, remap_file_pages, and +set_mempolicy. + +* defs.h (TRACE_MEMORY): New macro. +* syscall.c (lookup_class): Handle trace=memory option. +* strace.1: Document it. +* linux/alpha/syscallent.h: Add TM flag to memory mapping related syscalls. +* linux/arm/syscallent.h: Likewise. +* linux/avr32/syscallent.h: Likewise. +* linux/bfin/syscallent.h: Likewise. +* linux/hppa/syscallent.h: Likewise. +* linux/i386/syscallent.h: Likewise. +* linux/ia64/syscallent.h: Likewise. +* linux/m68k/syscallent.h: Likewise. +* linux/microblaze/syscallent.h: Likewise. +* linux/mips/syscallent.h: Likewise. +* linux/powerpc/syscallent.h: Likewise. +* linux/s390/syscallent.h: Likewise. +* linux/s390x/syscallent.h: Likewise. +* linux/sh/syscallent.h: Likewise. +* linux/sh64/syscallent.h: Likewise. +* linux/sparc/syscallent.h: Likewise. +* linux/tile/syscallent.h: Likewise. +* linux/x32/syscallent.h: Likewise. +* linux/x86_64/syscallent.h: Likewise. + +Signed-off-by: Namhyung Kim +--- + defs.h | 3 +- + linux/alpha/syscallent.h | 42 +++---- + linux/arm/syscallent.h | 38 +++---- + linux/avr32/syscallent.h | 26 ++--- + linux/bfin/syscallent.h | 38 +++---- + linux/hppa/syscallent.h | 38 +++---- + linux/i386/syscallent.h | 40 +++---- + linux/ia64/syscallent.h | 36 +++--- + linux/m68k/syscallent.h | 40 +++---- + linux/microblaze/syscallent.h | 40 +++---- + linux/mips/syscallent.h | 254 +++++++++++++++++++++--------------------- + linux/powerpc/syscallent.h | 40 +++---- + linux/s390/syscallent.h | 38 +++---- + linux/s390x/syscallent.h | 36 +++--- + linux/sh/syscallent.h | 40 +++---- + linux/sh64/syscallent.h | 40 +++---- + linux/sparc/syscallent.h | 38 +++---- + linux/tile/syscallent.h | 36 +++--- + linux/x32/syscallent.h | 38 +++---- + linux/x86_64/syscallent.h | 36 +++--- + strace.1 | 3 + + syscall.c | 4 + + 22 files changed, 476 insertions(+), 468 deletions(-) + +diff --git a/defs.h b/defs.h +index 7814bbd..d366b21 100644 +--- a/defs.h ++++ b/defs.h +@@ -447,7 +447,8 @@ extern const struct xlat open_access_modes[]; + #define TRACE_PROCESS 010 /* Trace process-related syscalls. */ + #define TRACE_SIGNAL 020 /* Trace signal-related syscalls. */ + #define TRACE_DESC 040 /* Trace file descriptor-related syscalls. */ +-#define SYSCALL_NEVER_FAILS 0100 /* Syscall is always successful. */ ++#define TRACE_MEMORY 0100 /* Trace memory mapping-related syscalls. */ ++#define SYSCALL_NEVER_FAILS 0200 /* Syscall is always successful. */ + + typedef enum { + CFLAG_NONE = 0, +diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h +index a2d048b..aa76a43 100644 +--- a/linux/alpha/syscallent.h ++++ b/linux/alpha/syscallent.h +@@ -43,7 +43,7 @@ + { 3, TF, sys_mknod, "mknod" }, /* 14 */ + { 2, TF, sys_chmod, "chmod" }, /* 15 */ + { 3, TF, sys_chown, "chown" }, /* 16 */ +- { 1, 0, sys_brk, "brk" }, /* 17 */ ++ { 1, TM, sys_brk, "brk" }, /* 17 */ + { 5, 0, printargs, "osf_getfsstat" }, /* 18, not implemented */ + { 3, TF, sys_lseek, "lseek" }, /* 19 */ + { 0, 0, sys_getpid, "getxpid" }, /* 20 */ +@@ -91,20 +91,20 @@ + { 5, 0, printargs, "osf_old_fstat" }, /* 62, not implemented */ + { 0, 0, sys_getpgrp, "getpgrp" }, /* 63 */ + { 0, 0, sys_getpagesize, "getpagesize" }, /* 64 */ +- { 5, 0, printargs, "osf_mremap" }, /* 65, not implemented */ ++ { 5, TM, printargs, "osf_mremap" }, /* 65, not implemented */ + { 0, TP, sys_fork, "vfork" }, /* 66 */ + { 2, TF, sys_stat, "stat" }, /* 67 */ + { 2, TF, sys_lstat, "lstat" }, /* 68 */ +- { 5, 0, printargs, "osf_sbrk" }, /* 69, not implemented */ ++ { 5, TM, printargs, "osf_sbrk" }, /* 69, not implemented */ + { 5, 0, printargs, "osf_sstk" }, /* 70, not implemented */ +- { 6, TD, sys_mmap, "mmap" }, /* 71 */ ++ { 6, TD|TM, sys_mmap, "mmap" }, /* 71 */ + { 5, 0, printargs, "osf_old_vadvise" }, /* 72, not implemented */ +- { 2, 0, sys_munmap, "munmap" }, /* 73 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 74 */ +- { 3, 0, sys_madvise, "madvise" }, /* 75 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 73 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 74 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 75 */ + { 0, 0, sys_vhangup, "vhangup" }, /* 76 */ + { 5, 0, printargs, "osf_kmodcall" }, /* 77, not implemented */ +- { 5, 0, printargs, "osf_mincore" }, /* 78, not implemented */ ++ { 5, TM, printargs, "osf_mincore" }, /* 78, not implemented */ + { 2, 0, sys_getgroups, "getgroups" }, /* 79 */ + { 2, 0, sys_setgroups, "setgroups" }, /* 80 */ + { 5, 0, printargs, "osf_old_getpgrp" }, /* 81, not implemented */ +@@ -243,7 +243,7 @@ + { 5, 0, printargs, "osf_getaddressconf" }, /* 214, not implemented */ + { 5, 0, printargs, "osf_msleep" }, /* 215, not implemented */ + { 5, 0, printargs, "osf_mwakeup" }, /* 216, not implemented */ +- { 3, 0, sys_msync, "msync" }, /* 217 */ ++ { 3, TM, sys_msync, "msync" }, /* 217 */ + { 5, 0, printargs, "osf_signal" }, /* 218, not implemented */ + { 5, 0, printargs, "osf_utc_gettime" }, /* 219, not implemented */ + { 5, 0, printargs, "osf_utc_adjtime" }, /* 220, not implemented */ +@@ -340,10 +340,10 @@ + { 4, 0, sys_reboot, "reboot" }, /* 311 */ + { 5, TP, sys_clone, "clone" }, /* 312 */ + { 1, 0, sys_uselib, "uselib" }, /* 313 */ +- { 2, 0, sys_mlock, "mlock" }, /* 314 */ +- { 2, 0, sys_munlock, "munlock" }, /* 315 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 316 */ +- { 0, 0, sys_munlockall, "munlockall" }, /* 317 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 314 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 315 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 316 */ ++ { 0, TM, sys_munlockall, "munlockall" }, /* 317 */ + { 1, 0, sys_sysinfo, "sysinfo" }, /* 318 */ + { 1, 0, sys_sysctl, "sysctl" }, /* 319 */ + { 0, 0, sys_idle, "idle" }, /* 320 */ +@@ -367,7 +367,7 @@ + { 5, 0, sys_afs_syscall, "afs_syscall" }, /* 338 */ + { 1, 0, sys_uname, "uname" }, /* 339 */ + { 2, 0, sys_nanosleep, "nanosleep" }, /* 340 */ +- { 5, 0, sys_mremap, "mremap" }, /* 341 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 341 */ + { 5, 0, sys_nfsservctl, "nfsservctl" }, /* 342 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 343 */ + { 3, 0, sys_getresuid, "getresuid" }, /* 344 */ +@@ -401,7 +401,7 @@ + { 3, 0, sys_getresgid, "getresgid" }, /* 372 */ + { 4, 0, printargs, "dipc" }, /* 373, not implemented */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 374 */ +- { 3, 0, sys_mincore, "mincore" }, /* 375 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 375 */ + { 3, 0, printargs, "pciconfig_iobase" }, /* 376 */ + { 3, TD, sys_getdents64, "getdents64" }, /* 377 */ + { 0, 0, sys_gettid, "gettid" }, /* 378 */ +@@ -436,7 +436,7 @@ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 407 */ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 408 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 409 */ +- { 5, 0, sys_remap_file_pages, "remap_file_pages" }, /* 410 */ ++ { 5, TM, sys_remap_file_pages, "remap_file_pages" }, /* 410 */ + { 1, 0, sys_set_tid_address, "set_tid_address" }, /* 411 */ + { 0, 0, sys_restart_syscall, "restart_syscall" }, /* 412 */ + { 4, TD, printargs, "fadvise" }, /* 413 */ +@@ -455,9 +455,9 @@ + { 2, TF, sys_lstat64, "lstat64" }, /* 426 */ + { 2, TD, sys_fstat64, "fstat64" }, /* 427 */ + { 5, 0, sys_vserver, "vserver" }, /* 428 ??? */ +- { 5, 0, printargs, "mbind" }, /* 429 ??? */ +- { 5, 0, printargs, "get_mempolicy" }, /* 430 ??? */ +- { 5, 0, printargs, "set_mempolicy" }, /* 431 ??? */ ++ { 5, TM, printargs, "mbind" }, /* 429 ??? */ ++ { 5, TM, printargs, "get_mempolicy" }, /* 430 ??? */ ++ { 5, TM, printargs, "set_mempolicy" }, /* 431 ??? */ + { 4, 0, sys_mq_open, "mq_open" }, /* 432 */ + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 433 */ + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 434 */ +@@ -475,7 +475,7 @@ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 446 */ + { 1, TD, sys_fdatasync, "fdatasync" }, /* 447 */ + { 4, 0, sys_kexec_load, "kexec_load" }, /* 448 */ +- { 4, 0, sys_migrate_pages, "migrate_pages" }, /* 449 */ ++ { 4, TM, sys_migrate_pages, "migrate_pages" }, /* 449 */ + { 4, TD|TF, sys_openat, "openat" }, /* 450 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 451 */ + { 4, TD|TF, sys_mknodat, "mknodat" }, /* 452 */ +@@ -498,7 +498,7 @@ + { 4, TD, sys_sync_file_range, "sync_file_range" }, /* 469 */ + { 4, TD, sys_tee, "tee" }, /* 470 */ + { 4, TD, sys_vmsplice, "vmsplice" }, /* 471 */ +- { 6, 0, sys_move_pages, "move_pages" }, /* 472 */ ++ { 6, TM, sys_move_pages, "move_pages" }, /* 472 */ + { 3, 0, sys_getcpu, "getcpu" }, /* 473 */ + { 6, TD, sys_epoll_pwait, "epoll_pwait" }, /* 474 */ + { 4, TD|TF, sys_utimensat, "utimensat" }, /* 475 */ +diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h +index 550335e..9b8da02 100644 +--- a/linux/arm/syscallent.h ++++ b/linux/arm/syscallent.h +@@ -43,7 +43,7 @@ + { 3, TF, sys_mknod, "mknod" }, /* 14 */ + { 2, TF, sys_chmod, "chmod" }, /* 15 */ + { 3, TF, sys_chown, "lchown" }, /* 16 */ +- { 0, 0, sys_break, "break" }, /* 17 */ ++ { 0, TM, sys_break, "break" }, /* 17 */ + { 2, TF, sys_oldstat, "oldstat" }, /* 18 */ + { 3, 0, sys_lseek, "lseek" }, /* 19 */ + { 0, 0, sys_getpid, "getpid" }, /* 20 */ +@@ -71,7 +71,7 @@ + { 1, 0, sys_pipe, "pipe" }, /* 42 */ + { 1, 0, sys_times, "times" }, /* 43 */ + { 0, 0, sys_prof, "prof" }, /* 44 */ +- { 1, 0, sys_brk, "brk" }, /* 45 */ ++ { 1, TM, sys_brk, "brk" }, /* 45 */ + { 1, 0, sys_setgid, "setgid" }, /* 46 */ + { 0, NF, sys_getgid, "getgid" }, /* 47 */ + { 3, TS, sys_signal, "signal" }, /* 48 */ +@@ -116,8 +116,8 @@ + { 2, TF, sys_swapon, "swapon" }, /* 87 */ + { 4, 0, sys_reboot, "reboot" }, /* 88 */ + { 3, 0, sys_readdir, "readdir" }, /* 89 */ +- { 6, TD, sys_old_mmap, "old_mmap" }, /* 90 */ +- { 2, 0, sys_munmap, "munmap" }, /* 91 */ ++ { 6, TD|TM, sys_old_mmap, "old_mmap" }, /* 90 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 91 */ + { 2, TF, sys_truncate, "truncate" }, /* 92 */ + { 2, 0, sys_ftruncate, "ftruncate" }, /* 93 */ + { 2, 0, sys_fchmod, "fchmod" }, /* 94 */ +@@ -151,7 +151,7 @@ + { 1, 0, sys_uname, "uname" }, /* 122 */ + { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 123 */ + { 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 125 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 125 */ + { 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */ + { 2, 0, sys_create_module, "create_module" }, /* 127 */ + { 3, 0, sys_init_module, "init_module" }, /* 128 */ +@@ -170,16 +170,16 @@ + { 3, 0, sys_getdents, "getdents" }, /* 141 */ + { 5, 0, sys_select, "select" }, /* 142 */ + { 2, 0, sys_flock, "flock" }, /* 143 */ +- { 3, 0, sys_msync, "msync" }, /* 144 */ ++ { 3, TM, sys_msync, "msync" }, /* 144 */ + { 3, 0, sys_readv, "readv" }, /* 145 */ + { 3, 0, sys_writev, "writev" }, /* 146 */ + { 1, 0, sys_getsid, "getsid" }, /* 147 */ + { 1, 0, sys_fdatasync, "fdatasync" }, /* 148 */ + { 1, 0, sys_sysctl, "_sysctl" }, /* 149 */ +- { 2, 0, sys_mlock, "mlock" }, /* 150 */ +- { 2, 0, sys_munlock, "munlock" }, /* 151 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 152 */ +- { 0, 0, sys_munlockall, "munlockall" }, /* 153 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 150 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 151 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 152 */ ++ { 0, TM, sys_munlockall, "munlockall" }, /* 153 */ + { 0, 0, sys_sched_setparam, "sched_setparam"}, /* 154 */ + { 2, 0, sys_sched_getparam, "sched_getparam"}, /* 155 */ + { 3, 0, sys_sched_setscheduler, "sched_setscheduler"}, /* 156 */ +@@ -189,7 +189,7 @@ + { 1, 0, sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */ + { 2, 0, sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */ + { 2, 0, sys_nanosleep, "nanosleep" }, /* 162 */ +- { 5, 0, sys_mremap, "mremap" }, /* 163 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 163 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 164 */ + { 3, 0, sys_getresuid, "getresuid" }, /* 165 */ + { 5, 0, sys_vm86, "vm86" }, /* 166 */ +@@ -219,7 +219,7 @@ + { 5, 0, sys_putpmsg, "putpmsg" }, /* 189 */ + { 0, TP, sys_vfork, "vfork" }, /* 190 */ + { 2, 0, sys_getrlimit, "getrlimit" }, /* 191 */ +- { 6, TD, sys_mmap, "mmap2" }, /* 192 */ ++ { 6, TD|TM, sys_mmap, "mmap2" }, /* 192 */ + { 4, TF, sys_truncate64, "truncate64" }, /* 193 */ + { 4, TF, sys_ftruncate64, "ftruncate64" }, /* 194 */ + { 2, TF, sys_stat64, "stat64" }, /* 195 */ +@@ -247,8 +247,8 @@ + { 1, NF, sys_setfsgid, "setfsgid32" }, /* 216 */ + { 3, 0, sys_getdents64, "getdents64" }, /* 217 */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 218 */ +- { 3, 0, sys_mincore, "mincore" }, /* 219 */ +- { 3, 0, sys_madvise, "madvise" }, /* 220 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 219 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 220 */ + { 3, 0, sys_fcntl, "fcntl64" }, /* 221 */ + { 5, 0, NULL, NULL }, /* 222 */ + { 5, 0, NULL, NULL }, /* 223 */ +@@ -281,7 +281,7 @@ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 250 */ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 251 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 252 */ +- { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 253 */ ++ { 5, TM, sys_remap_file_pages, "remap_file_pages"}, /* 253 */ + { 5, 0, NULL, NULL }, /* 254 */ + { 5, 0, NULL, NULL }, /* 255 */ + { 1, 0, sys_set_tid_address, "set_tid_address"}, /* 256 */ +@@ -347,9 +347,9 @@ + { 0, TD, sys_inotify_init, "inotify_init" }, /* 316 */ + { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 317 */ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 318 */ +- { 6, 0, sys_mbind, "mbind" }, /* 319 */ +- { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 320 */ +- { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 321 */ ++ { 6, TM, sys_mbind, "mbind" }, /* 319 */ ++ { 3, TM, sys_set_mempolicy, "set_mempolicy" }, /* 320 */ ++ { 5, TM, sys_get_mempolicy, "get_mempolicy" }, /* 321 */ + { 4, TD|TF, sys_openat, "openat" }, /* 322 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 323 */ + { 4, TD|TF, sys_mknodat, "mknodat" }, /* 324 */ +@@ -372,7 +372,7 @@ + { 5, 0, NULL, NULL }, /* 341 */ + { 4, TD, sys_tee, "tee" }, /* 342 */ + { 4, TD, sys_vmsplice, "vmsplice" }, /* 343 */ +- { 6, 0, sys_move_pages, "move_pages" }, /* 344 */ ++ { 6, TM, sys_move_pages, "move_pages" }, /* 344 */ + { 3, 0, sys_getcpu, "getcpu" }, /* 345 */ + { 6, TD, sys_epoll_pwait, "epoll_pwait" }, /* 346 */ + { 4, 0, sys_kexec_load, "kexec_load" }, /* 347 */ +diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h +index 102b17d..6076fca 100644 +--- a/linux/avr32/syscallent.h ++++ b/linux/avr32/syscallent.h +@@ -70,7 +70,7 @@ + { 1, TD, sys_pipe, "pipe" }, /* 42 */ + { 1, 0, sys_times, "times" }, /* 43 */ + { 5, TP, sys_clone, "clone" }, /* 44 */ +- { 1, 0, sys_brk, "brk" }, /* 45 */ ++ { 1, TM, sys_brk, "brk" }, /* 45 */ + { 1, 0, sys_setgid, "setgid" }, /* 46 */ + { 0, NF, sys_getgid, "getgid" }, /* 47 */ + { 2, TF, sys_getcwd, "getcwd" }, /* 48 */ +@@ -82,7 +82,7 @@ + { 3, TD, sys_ioctl, "ioctl" }, /* 54 */ + { 3, TD, sys_fcntl, "fcntl" }, /* 55 */ + { 2, 0, sys_setpgid, "setpgid" }, /* 56 */ +- { 5, 0, sys_mremap, "mremap" }, /* 57 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 57 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 58 */ + { 3, 0, sys_getresuid, "getresuid" }, /* 59 */ + { 2, 0, sys_setreuid, "setreuid" }, /* 60 */ +@@ -115,8 +115,8 @@ + { 5, TD, sys_pwrite, "pwrite" }, /* 87 */ + { 2, TF, sys_swapon, "swapon" }, /* 88 */ + { 4, 0, sys_reboot, "reboot" }, /* 89 */ +- { 6, TD, sys_mmap, "mmap" }, /* 90 */ +- { 2, 0, sys_munmap, "munmap" }, /* 91 */ ++ { 6, TD|TM, sys_mmap, "mmap" }, /* 90 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 91 */ + { 2, TF, sys_truncate, "truncate" }, /* 92 */ + { 2, TD, sys_ftruncate, "ftruncate" }, /* 93 */ + { 2, TD, sys_fchmod, "fchmod" }, /* 94 */ +@@ -138,7 +138,7 @@ + { 2, 0, sys_setdomainname, "setdomainname" }, /* 110 */ + { 1, 0, sys_uname, "uname" }, /* 111 */ + { 1, 0, sys_adjtimex, "adjtimex" }, /* 112 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 113 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 113 */ + { 0, TP, sys_vfork, "vfork" }, /* 114 */ + { 3, 0, sys_init_module, "init_module" }, /* 115 */ + { 2, 0, sys_delete_module, "delete_module" }, /* 116 */ +@@ -150,16 +150,16 @@ + { 5, 0, sys_afs_syscall, "afs_syscall" }, /* 122 */ + { 3, TD, sys_getdents, "getdents" }, /* 123 */ + { 2, TD, sys_flock, "flock" }, /* 124 */ +- { 3, 0, sys_msync, "msync" }, /* 125 */ ++ { 3, TM, sys_msync, "msync" }, /* 125 */ + { 3, TD, sys_readv, "readv" }, /* 126 */ + { 3, TD, sys_writev, "writev" }, /* 127 */ + { 1, 0, sys_getsid, "getsid" }, /* 128 */ + { 1, TD, sys_fdatasync, "fdatasync" }, /* 129 */ + { 1, 0, sys_sysctl, "_sysctl" }, /* 130 */ +- { 2, 0, sys_mlock, "mlock" }, /* 131 */ +- { 2, 0, sys_munlock, "munlock" }, /* 132 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 133 */ +- { 0, 0, sys_munlockall, "munlockall" }, /* 134 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 131 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 132 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 133 */ ++ { 0, TM, sys_munlockall, "munlockall" }, /* 134 */ + { 0, 0, sys_sched_setparam, "sched_setparam"}, /* 135 */ + { 2, 0, sys_sched_getparam, "sched_getparam"}, /* 136 */ + { 3, 0, sys_sched_setscheduler, "sched_setscheduler"}, /* 137 */ +@@ -197,8 +197,8 @@ + { 2, TF, sys_lstat64, "lstat64" }, /* 169 */ + { 2, TD, sys_fstat64, "fstat64" }, /* 170 */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 171 */ +- { 3, 0, sys_mincore, "mincore" }, /* 172 */ +- { 3, 0, sys_madvise, "madvise" }, /* 173 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 172 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 173 */ + { 3, TD, sys_getdents64, "getdents64" }, /* 174 */ + { 3, TD, sys_fcntl, "fcntl64" }, /* 175 */ + { 0, 0, sys_gettid, "gettid" }, /* 176 */ +@@ -233,7 +233,7 @@ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 205 */ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 206 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 207 */ +- { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 208 */ ++ { 5, TM, sys_remap_file_pages, "remap_file_pages"}, /* 208 */ + { 1, 0, sys_set_tid_address, "set_tid_address"}, /* 209 */ + { 3, 0, sys_timer_create, "timer_create" }, /* 210 */ + { 4, 0, sys_timer_settime, "timer_settime" }, /* 211 */ +diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h +index 1ecab75..7a9e618 100644 +--- a/linux/bfin/syscallent.h ++++ b/linux/bfin/syscallent.h +@@ -43,7 +43,7 @@ + { 3, TF, sys_mknod, "mknod" }, /* 14 */ + { 2, TF, sys_chmod, "chmod" }, /* 15 */ + { 3, TF, sys_chown, "chown" }, /* 16 */ +- { 0, 0, sys_break, "break" }, /* 17 */ ++ { 0, TM, sys_break, "break" }, /* 17 */ + { 2, TF, sys_oldstat, "oldstat" }, /* 18 */ + { 3, TD, sys_lseek, "lseek" }, /* 19 */ + { 0, 0, sys_getpid, "getpid" }, /* 20 */ +@@ -71,7 +71,7 @@ + { 1, TD, sys_pipe, "pipe" }, /* 42 */ + { 1, 0, sys_times, "times" }, /* 43 */ + { 0, 0, sys_prof, "prof" }, /* 44 */ +- { 1, 0, sys_brk, "brk" }, /* 45 */ ++ { 1, TM, sys_brk, "brk" }, /* 45 */ + { 1, 0, sys_setgid, "setgid" }, /* 46 */ + { 0, NF, sys_getgid, "getgid" }, /* 47 */ + { 3, TS, sys_signal, "signal" }, /* 48 */ +@@ -116,8 +116,8 @@ + { 2, TF, sys_swapon, "swapon" }, /* 87 */ + { 4, 0, sys_reboot, "reboot" }, /* 88 */ + { 3, TD, sys_readdir, "readdir" }, /* 89 */ +- { 6, TD, sys_old_mmap, "old_mmap" }, /* 90 */ +- { 2, 0, sys_munmap, "munmap" }, /* 91 */ ++ { 6, TD|TM, sys_old_mmap, "old_mmap" }, /* 90 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 91 */ + { 2, TF, sys_truncate, "truncate" }, /* 92 */ + { 2, TD, sys_ftruncate, "ftruncate" }, /* 93 */ + { 2, TD, sys_fchmod, "fchmod" }, /* 94 */ +@@ -151,7 +151,7 @@ + { 1, 0, sys_uname, "uname" }, /* 122 */ + { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 123 */ + { 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 125 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 125 */ + { 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */ + { 2, 0, sys_create_module, "create_module" }, /* 127 */ + { 3, 0, sys_init_module, "init_module" }, /* 128 */ +@@ -170,16 +170,16 @@ + { 3, TD, sys_getdents, "getdents" }, /* 141 */ + { 5, TD, sys_select, "select" }, /* 142 */ + { 2, TD, sys_flock, "flock" }, /* 143 */ +- { 3, 0, sys_msync, "msync" }, /* 144 */ ++ { 3, TM, sys_msync, "msync" }, /* 144 */ + { 3, TD, sys_readv, "readv" }, /* 145 */ + { 3, TD, sys_writev, "writev" }, /* 146 */ + { 1, 0, sys_getsid, "getsid" }, /* 147 */ + { 1, TD, sys_fdatasync, "fdatasync" }, /* 148 */ + { 1, 0, sys_sysctl, "_sysctl" }, /* 149 */ +- { 2, 0, sys_mlock, "mlock" }, /* 150 */ +- { 2, 0, sys_munlock, "munlock" }, /* 151 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 152 */ +- { 0, 0, sys_munlockall, "munlockall" }, /* 153 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 150 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 151 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 152 */ ++ { 0, TM, sys_munlockall, "munlockall" }, /* 153 */ + { 0, 0, sys_sched_setparam, "sched_setparam" }, /* 154 */ + { 2, 0, sys_sched_getparam, "sched_getparam" }, /* 155 */ + { 3, 0, sys_sched_setscheduler, "sched_setscheduler" }, /* 156 */ +@@ -189,7 +189,7 @@ + { 1, 0, sys_sched_get_priority_min, "sched_get_priority_min" }, /* 160 */ + { 2, 0, sys_sched_rr_get_interval, "sched_rr_get_interval" }, /* 161 */ + { 2, 0, sys_nanosleep, "nanosleep" }, /* 162 */ +- { 5, 0, sys_mremap, "mremap" }, /* 163 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 163 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 164 */ + { 3, 0, sys_getresuid, "getresuid" }, /* 165 */ + { 5, 0, sys_vm86, "vm86" }, /* 166 */ +@@ -218,7 +218,7 @@ + { 5, 0, sys_putpmsg, "putpmsg" }, /* 189 */ + { 0, TP, sys_vfork, "vfork" }, /* 190 */ + { 2, 0, sys_getrlimit, "getrlimit" }, /* 191 */ +- { 6, TD, sys_mmap, "mmap2" }, /* 192 */ ++ { 6, TD|TM, sys_mmap, "mmap2" }, /* 192 */ + { 3, TF, sys_truncate64, "truncate64" }, /* 193 */ + { 3, TD, sys_ftruncate64, "ftruncate64" }, /* 194 */ + { 2, TF, sys_stat64, "stat64" }, /* 195 */ +@@ -244,8 +244,8 @@ + { 1, NF, sys_setfsuid, "setfsuid32" }, /* 215 */ + { 1, NF, sys_setfsgid, "setfsgid32" }, /* 216 */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 217 */ +- { 3, 0, sys_mincore, "mincore" }, /* 218 */ +- { 3, 0, sys_madvise, "madvise" }, /* 219 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 218 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 219 */ + { 3, TD, sys_getdents64, "getdents64" }, /* 220 */ + { 3, TD, sys_fcntl, "fcntl64" }, /* 221 */ + { 4, 0, NULL, NULL }, /* 222 */ +@@ -284,7 +284,7 @@ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 255 */ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 256 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 257 */ +- { 5, 0, sys_remap_file_pages, "remap_file_pages" }, /* 258 */ ++ { 5, TM, sys_remap_file_pages, "remap_file_pages" }, /* 258 */ + { 1, 0, sys_set_tid_address, "set_tid_address" }, /* 259 */ + { 3, 0, sys_timer_create, "timer_create" }, /* 260 */ + { 4, 0, sys_timer_settime, "timer_settime" }, /* 261 */ +@@ -301,9 +301,9 @@ + { 2, TF, sys_utimes, "utimes" }, /* 272 */ + { 6, TD, sys_fadvise64_64, "fadvise64_64" }, /* 273 */ + { 5, 0, sys_vserver, "vserver" }, /* 274 */ +- { 6, 0, sys_mbind, "mbind" }, /* 275 */ +- { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 276 */ +- { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 277 */ ++ { 6, TM, sys_mbind, "mbind" }, /* 275 */ ++ { 5, TM, sys_get_mempolicy, "get_mempolicy" }, /* 276 */ ++ { 3, TM, sys_set_mempolicy, "set_mempolicy" }, /* 277 */ + { 4, 0, sys_mq_open, "mq_open" }, /* 278 */ + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 279 */ + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 280 */ +@@ -320,7 +320,7 @@ + { 0, TD, sys_inotify_init, "inotify_init" }, /* 291 */ + { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 292 */ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 293 */ +- { 4, 0, sys_migrate_pages, "migrate_pages" }, /* 294 */ ++ { 4, TM, sys_migrate_pages, "migrate_pages" }, /* 294 */ + { 4, TD|TF, sys_openat, "openat" }, /* 295 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 296 */ + { 4, TD|TF, sys_mknodat, "mknodat" }, /* 297 */ +diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h +index c16eecb..f21d0c3 100644 +--- a/linux/hppa/syscallent.h ++++ b/linux/hppa/syscallent.h +@@ -47,7 +47,7 @@ + { 1, TD, sys_pipe, "pipe" }, /* 42 */ + { 1, 0, sys_times, "times" }, /* 43 */ + { 3, TN, sys_getsockname, "getsockname" }, /* 44 */ +- { 1, 0, sys_brk, "brk" }, /* 45 */ ++ { 1, TM, sys_brk, "brk" }, /* 45 */ + { 1, 0, sys_setgid, "setgid" }, /* 46 */ + { 0, NF, sys_getgid, "getgid" }, /* 47 */ + { 2, 0, sys_signal, "signal" }, /* 48 */ +@@ -74,7 +74,7 @@ + { 1, TS, sys_sigsetmask, "ssetmask" }, /* 69 */ + { 2, 0, sys_setreuid, "setreuid" }, /* 70 */ + { 2, 0, sys_setregid, "setregid" }, /* 71 */ +- { 3, 0, sys_mincore, "mincore" }, /* 72 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 72 */ + { 1, TS, sys_sigpending, "sigpending" }, /* 73 */ + { 2, 0, sys_sethostname, "sethostname" }, /* 74 */ + { 2, 0, sys_setrlimit, "setrlimit" }, /* 75 */ +@@ -91,9 +91,9 @@ + { 1, 0, sys_uselib, "uselib" }, /* 86 */ + { 2, TF, sys_swapon, "swapon" }, /* 87 */ + { 4, 0, sys_reboot, "reboot" }, /* 88 */ +- { 6, TD, sys_mmap, "mmap2" }, /* 89 */ +- { 6, TD, sys_mmap, "mmap" }, /* 90 */ +- { 2, 0, sys_munmap, "munmap" }, /* 91 */ ++ { 6, TD|TM, sys_mmap, "mmap2" }, /* 89 */ ++ { 6, TD|TM, sys_mmap, "mmap" }, /* 90 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 91 */ + { 2, TF, sys_truncate, "truncate" }, /* 92 */ + { 2, TD, sys_ftruncate, "ftruncate" }, /* 93 */ + { 2, TD, sys_fchmod, "fchmod" }, /* 94 */ +@@ -121,13 +121,13 @@ + { 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */ + { 2, TN, sys_shutdown, "shutdown" }, /* 117 */ + { 1, TD, sys_fsync, "fsync" }, /* 118 */ +- { 3, 0, sys_madvise, "madvise" }, /* 119 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 119 */ + { 5, TP, sys_clone, "clone" }, /* 120 */ + { 2, 0, sys_setdomainname, "setdomainname" }, /* 121 */ + { 4, TD|TN, sys_sendfile, "sendfile" }, /* 122 */ + { 6, TN, sys_recvfrom, "recvfrom" }, /* 123 */ + { 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 125 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 125 */ + { 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */ + { 2, 0, sys_create_module, "create_module" }, /* 127 */ + { 4, 0, sys_init_module, "init_module" }, /* 128 */ +@@ -146,16 +146,16 @@ + { 3, TD, sys_getdents, "getdents" }, /* 141 */ + { 5, TD, sys_select, "_newselect" }, /* 142 */ + { 2, TD, sys_flock, "flock" }, /* 143 */ +- { 3, 0, sys_msync, "msync" }, /* 144 */ ++ { 3, TM, sys_msync, "msync" }, /* 144 */ + { 3, TD, sys_readv, "readv" }, /* 145 */ + { 3, TD, sys_writev, "writev" }, /* 146 */ + { 1, 0, sys_getsid, "getsid" }, /* 147 */ + { 1, TD, sys_fdatasync, "fdatasync" }, /* 148 */ + { 1, 0, sys_sysctl, "_sysctl" }, /* 149 */ +- { 2, 0, sys_mlock, "mlock" }, /* 150 */ +- { 2, 0, sys_munlock, "munlock" }, /* 151 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 152 */ +- { 1, 0, sys_munlockall, "munlockall" }, /* 153 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 150 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 151 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 152 */ ++ { 1, TM, sys_munlockall, "munlockall" }, /* 153 */ + { 2, 0, sys_sched_setparam, "sched_setparam" }, /* 154 */ + { 2, 0, sys_sched_getparam, "sched_getparam" }, /* 155 */ + { 3, 0, sys_sched_setscheduler, "sched_setscheduler" }, /* 156 */ +@@ -165,7 +165,7 @@ + { 1, 0, sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */ + { 2, 0, sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */ + { 2, 0, sys_nanosleep, "nanosleep" }, /* 162 */ +- { 5, 0, sys_mremap, "mremap" }, /* 163 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 163 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 164 */ + { 3, 0, sys_setresuid, "getresuid" }, /* 165 */ + { 2, TS, sys_sigaltstack, "sigaltstack" }, /* 166 */ +@@ -229,7 +229,7 @@ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 224 */ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 225 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 226 */ +- { 5, 0, printargs, "remap_file_pages" }, /* 227 */ ++ { 5, TM, printargs, "remap_file_pages" }, /* 227 */ + { 5, TI, sys_semtimedop, "semtimedop" }, /* 228 */ + { 5, 0, printargs, "mq_open" }, /* 229 */ + { 5, 0, printargs, "mq_unlink" }, /* 230 */ +@@ -262,9 +262,9 @@ + { 2, 0, sys_clock_getres, "clock_getres" }, /* 257 */ + { 5, 0, printargs, "clock_nanosleep" }, /* 258 */ + { 3, TS, sys_tgkill, "tgkill" }, /* 259 */ +- { 5, 0, printargs, "mbind" }, /* 260 */ +- { 5, 0, printargs, "get_mempolicy" }, /* 261 */ +- { 5, 0, printargs, "set_mempolicy" }, /* 262 */ ++ { 5, TM, printargs, "mbind" }, /* 260 */ ++ { 5, TM, printargs, "get_mempolicy" }, /* 261 */ ++ { 5, TM, printargs, "set_mempolicy" }, /* 262 */ + { 5, 0, sys_vserver, "vserver" }, /* 263 */ + { 5, 0, sys_add_key, "add_key" }, /* 264 */ + { 4, 0, sys_request_key, "request_key" }, /* 265 */ +@@ -274,7 +274,7 @@ + { 0, TD, sys_inotify_init, "inotify_init" }, /* 269 */ + { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 270 */ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 271 */ +- { 4, 0, sys_migrate_pages, "migrate_pages" }, /* 272 */ ++ { 4, TM, sys_migrate_pages, "migrate_pages" }, /* 272 */ + { 6, TD, sys_pselect6, "pselect6" }, /* 273 */ + { 5, TD, sys_ppoll, "ppoll" }, /* 274 */ + { 4, TD|TF, sys_openat, "openat" }, /* 275 */ +@@ -297,7 +297,7 @@ + { 4, TD, sys_sync_file_range, "sync_file_range" }, /* 292 */ + { 4, TD, sys_tee, "tee" }, /* 293 */ + { 4, TD, sys_vmsplice, "vmsplice" }, /* 294 */ +- { 6, 0, sys_move_pages, "move_pages" }, /* 295 */ ++ { 6, TM, sys_move_pages, "move_pages" }, /* 295 */ + { 3, 0, sys_getcpu, "getcpu" }, /* 296 */ + { 6, TD, sys_epoll_pwait, "epoll_pwait" }, /* 297 */ + { 3, TF, sys_statfs64, "statfs64" }, /* 298 */ +diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h +index 4092f2e..dd76244 100644 +--- a/linux/i386/syscallent.h ++++ b/linux/i386/syscallent.h +@@ -43,7 +43,7 @@ + { 3, TF, sys_mknod, "mknod" }, /* 14 */ + { 2, TF, sys_chmod, "chmod" }, /* 15 */ + { 3, TF, sys_chown, "lchown" }, /* 16 */ +- { 0, 0, sys_break, "break" }, /* 17 */ ++ { 0, TM, sys_break, "break" }, /* 17 */ + { 2, TF, sys_oldstat, "oldstat" }, /* 18 */ + { 3, TD, sys_lseek, "lseek" }, /* 19 */ + { 0, 0, sys_getpid, "getpid" }, /* 20 */ +@@ -71,7 +71,7 @@ + { 1, TD, sys_pipe, "pipe" }, /* 42 */ + { 1, 0, sys_times, "times" }, /* 43 */ + { 0, 0, sys_prof, "prof" }, /* 44 */ +- { 1, 0, sys_brk, "brk" }, /* 45 */ ++ { 1, TM, sys_brk, "brk" }, /* 45 */ + { 1, 0, sys_setgid, "setgid" }, /* 46 */ + { 0, NF, sys_getgid, "getgid" }, /* 47 */ + { 3, TS, sys_signal, "signal" }, /* 48 */ +@@ -116,8 +116,8 @@ + { 2, TF, sys_swapon, "swapon" }, /* 87 */ + { 4, 0, sys_reboot, "reboot" }, /* 88 */ + { 3, TD, sys_readdir, "readdir" }, /* 89 */ +- { 6, TD, sys_old_mmap, "old_mmap" }, /* 90 */ +- { 2, 0, sys_munmap, "munmap" }, /* 91 */ ++ { 6, TD|TM, sys_old_mmap, "old_mmap" }, /* 90 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 91 */ + { 2, TF, sys_truncate, "truncate" }, /* 92 */ + { 2, TD, sys_ftruncate, "ftruncate" }, /* 93 */ + { 2, TD, sys_fchmod, "fchmod" }, /* 94 */ +@@ -151,7 +151,7 @@ + { 1, 0, sys_uname, "uname" }, /* 122 */ + { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 123 */ + { 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 125 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 125 */ + { 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */ + { 2, 0, sys_create_module, "create_module" }, /* 127 */ + { 3, 0, sys_init_module, "init_module" }, /* 128 */ +@@ -170,16 +170,16 @@ + { 3, TD, sys_getdents, "getdents" }, /* 141 */ + { 5, TD, sys_select, "select" }, /* 142 */ + { 2, TD, sys_flock, "flock" }, /* 143 */ +- { 3, 0, sys_msync, "msync" }, /* 144 */ ++ { 3, TM, sys_msync, "msync" }, /* 144 */ + { 3, TD, sys_readv, "readv", }, /* 145 */ + { 3, TD, sys_writev, "writev", }, /* 146 */ + { 1, 0, sys_getsid, "getsid" }, /* 147 */ + { 1, TD, sys_fdatasync, "fdatasync" }, /* 148 */ + { 1, 0, sys_sysctl, "_sysctl" }, /* 149 */ +- { 2, 0, sys_mlock, "mlock" }, /* 150 */ +- { 2, 0, sys_munlock, "munlock" }, /* 151 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 152 */ +- { 0, 0, sys_munlockall, "munlockall" }, /* 153 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 150 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 151 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 152 */ ++ { 0, TM, sys_munlockall, "munlockall" }, /* 153 */ + { 0, 0, sys_sched_setparam, "sched_setparam"}, /* 154 */ + { 2, 0, sys_sched_getparam, "sched_getparam"}, /* 155 */ + { 3, 0, sys_sched_setscheduler, "sched_setscheduler"}, /* 156 */ +@@ -189,7 +189,7 @@ + { 1, 0, sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */ + { 2, 0, sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */ + { 2, 0, sys_nanosleep, "nanosleep" }, /* 162 */ +- { 5, 0, sys_mremap, "mremap" }, /* 163 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 163 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 164 */ + { 3, 0, sys_getresuid, "getresuid" }, /* 165 */ + { 5, 0, sys_vm86, "vm86" }, /* 166 */ +@@ -219,7 +219,7 @@ + { 5, 0, sys_putpmsg, "putpmsg" }, /* 189 */ + { 0, TP, sys_vfork, "vfork" }, /* 190 */ + { 2, 0, sys_getrlimit, "getrlimit" }, /* 191 */ +- { 6, TD, sys_mmap, "mmap2" }, /* 192 */ ++ { 6, TD|TM, sys_mmap, "mmap2" }, /* 192 */ + { 3, TF, sys_truncate64, "truncate64" }, /* 193 */ + { 3, TD, sys_ftruncate64, "ftruncate64" }, /* 194 */ + { 2, TF, sys_stat64, "stat64" }, /* 195 */ +@@ -246,8 +246,8 @@ + { 1, NF, sys_setfsuid, "setfsuid32" }, /* 215 */ + { 1, NF, sys_setfsgid, "setfsgid32" }, /* 216 */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 217 */ +- { 3, 0, sys_mincore, "mincore" }, /* 218 */ +- { 3, 0, sys_madvise, "madvise" }, /* 219 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 218 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 219 */ + { 3, TD, sys_getdents64, "getdents64" }, /* 220 */ + { 3, TD, sys_fcntl, "fcntl64" }, /* 221 */ + { 6, 0, NULL, NULL }, /* 222 */ +@@ -285,7 +285,7 @@ + { 1, TD, sys_epoll_create, "epoll_create" }, /* 254 */ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 255 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 256 */ +- { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 257 */ ++ { 5, TM, sys_remap_file_pages, "remap_file_pages"}, /* 257 */ + { 1, 0, sys_set_tid_address, "set_tid_address"}, /* 258 */ + { 3, 0, sys_timer_create, "timer_create" }, /* 259 */ + { 4, 0, sys_timer_settime, "timer_settime" }, /* 260 */ +@@ -302,9 +302,9 @@ + { 2, TF, sys_utimes, "utimes" }, /* 271 */ + { 6, TD, sys_fadvise64_64, "fadvise64_64" }, /* 272 */ + { 5, 0, sys_vserver, "vserver" }, /* 273 */ +- { 6, 0, sys_mbind, "mbind" }, /* 274 */ +- { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 275 */ +- { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 276 */ ++ { 6, TM, sys_mbind, "mbind" }, /* 274 */ ++ { 5, TM, sys_get_mempolicy, "get_mempolicy" }, /* 275 */ ++ { 3, TM, sys_set_mempolicy, "set_mempolicy" }, /* 276 */ + { 4, 0, sys_mq_open, "mq_open" }, /* 277 */ + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 278 */ + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 279 */ +@@ -322,7 +322,7 @@ + { 0, TD, sys_inotify_init, "inotify_init" }, /* 291 */ + { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 292 */ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 293 */ +- { 4, 0, sys_migrate_pages, "migrate_pages" }, /* 294 */ ++ { 4, TM, sys_migrate_pages, "migrate_pages" }, /* 294 */ + { 4, TD|TF, sys_openat, "openat" }, /* 295 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 296 */ + { 4, TD|TF, sys_mknodat, "mknodat" }, /* 297 */ +@@ -345,7 +345,7 @@ + { 4, TD, sys_sync_file_range, "sync_file_range" }, /* 314 */ + { 4, TD, sys_tee, "tee" }, /* 315 */ + { 4, TD, sys_vmsplice, "vmsplice" }, /* 316 */ +- { 6, 0, sys_move_pages, "move_pages" }, /* 317 */ ++ { 6, TM, sys_move_pages, "move_pages" }, /* 317 */ + { 3, 0, sys_getcpu, "getcpu" }, /* 318 */ + { 6, TD, sys_epoll_pwait, "epoll_pwait" }, /* 319 */ + { 4, TD|TF, sys_utimensat, "utimensat" }, /* 320 */ +diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h +index 0dd18f0..bbdfc36 100644 +--- a/linux/ia64/syscallent.h ++++ b/linux/ia64/syscallent.h +@@ -848,7 +848,7 @@ + { 1, TD, sys_dup, "dup" }, /* 1057 */ + { 1, TD, sys_pipe, "pipe" }, /* 1058 */ + { 1, 0, sys_times, "times" }, /* 1059 */ +- { 1, 0, sys_brk, "brk" }, /* 1060 */ ++ { 1, TM, sys_brk, "brk" }, /* 1060 */ + { 1, 0, sys_setgid, "setgid" }, /* 1061 */ + { 0, NF, sys_getgid, "getgid" }, /* 1062 */ + { 0, NF, sys_getegid, "getegid" }, /* 1063 */ +@@ -939,15 +939,15 @@ + { 4, TD, sys_pread, "pread" }, /* 1148 */ + { 4, TD, sys_pwrite, "pwrite" }, /* 1149 */ + { 1, 0, printargs, "_sysctl" }, /* 1150 */ +- { 6, TD, sys_mmap, "mmap" }, /* 1151 */ +- { 2, 0, sys_munmap, "munmap" }, /* 1152 */ +- { 2, 0, sys_mlock, "mlock" }, /* 1153 */ +- { 1, 0, sys_mlockall, "mlockall" }, /* 1154 */ +- { 3, 0, sys_mprotect, "mprotect" }, /* 1155 */ +- { 5, 0, sys_mremap, "mremap" }, /* 1156 */ +- { 3, 0, sys_msync, "msync" }, /* 1157 */ +- { 2, 0, sys_munlock, "munlock" }, /* 1158 */ +- { 0, 0, sys_munlockall, "munlockall" }, /* 1159 */ ++ { 6, TD|TM, sys_mmap, "mmap" }, /* 1151 */ ++ { 2, TM, sys_munmap, "munmap" }, /* 1152 */ ++ { 2, TM, sys_mlock, "mlock" }, /* 1153 */ ++ { 1, TM, sys_mlockall, "mlockall" }, /* 1154 */ ++ { 3, TM, sys_mprotect, "mprotect" }, /* 1155 */ ++ { 5, TM, sys_mremap, "mremap" }, /* 1156 */ ++ { 3, TM, sys_msync, "msync" }, /* 1157 */ ++ { 2, TM, sys_munlock, "munlock" }, /* 1158 */ ++ { 0, TM, sys_munlockall, "munlockall" }, /* 1159 */ + { 2, 0, sys_sched_getparam, "sched_getparam"}, /* 1160 */ + { 2, 0, sys_sched_setparam, "sched_setparam"}, /* 1161 */ + { 2, 0, sys_sched_getscheduler, "sched_getscheduler"}, /* 1162 */ +@@ -960,7 +960,7 @@ + { 3, 0, sys_nfsservctl, "nfsservctl" }, /* 1169 */ + { 5, 0, sys_prctl, "prctl" }, /* 1170 */ + { 1, 0, sys_getpagesize, "getpagesize" }, /* 1171 */ +- { 6, TD, sys_mmap, "mmap2" }, /* 1172 */ ++ { 6, TD|TM, sys_mmap, "mmap2" }, /* 1172 */ + { 5, 0, printargs, "pciconfig_read"}, /* 1173 */ + { 5, 0, printargs, "pciconfig_write"}, /* 1174 */ + { MA, 0, printargs, "perfmonctl" }, /* 1175 */ +@@ -996,8 +996,8 @@ + { 3, TN, sys_sendmsg, "sendmsg" }, /* 1205 */ + { 3, TN, sys_recvmsg, "recvmsg" }, /* 1206 */ + { 2, TF, sys_pivotroot, "pivot_root" }, /* 1207 */ +- { 3, 0, sys_mincore, "mincore" }, /* 1208 */ +- { 3, 0, sys_madvise, "madvise" }, /* 1209 */ ++ { 3, TM, sys_mincore, "mincore" }, /* 1208 */ ++ { 3, TM, sys_madvise, "madvise" }, /* 1209 */ + { 2, TF, sys_stat, "stat" }, /* 1210 */ + { 2, 0, sys_lstat, "lstat" }, /* 1211 */ + { 2, TD, sys_fstat, "fstat" }, /* 1212 */ +@@ -1047,9 +1047,9 @@ + { 4, 0, sys_clock_nanosleep, "clock_nanosleep"}, /* 1256 */ + { MA, 0, printargs, "fstatfs64" }, /* 1257 */ + { MA, 0, printargs, "statfs64" }, /* 1258 */ +- { 6, 0, sys_mbind, "mbind" }, /* 1259 */ +- { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 1260 */ +- { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 1261 */ ++ { 6, TM, sys_mbind, "mbind" }, /* 1259 */ ++ { 5, TM, sys_get_mempolicy, "get_mempolicy" }, /* 1260 */ ++ { 3, TM, sys_set_mempolicy, "set_mempolicy" }, /* 1261 */ + { 4, 0, sys_mq_open, "mq_open" }, /* 1262 */ + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 1263 */ + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 1264 */ +@@ -1064,11 +1064,11 @@ + { 5, 0, sys_keyctl, "keyctl" }, /* 1273 */ + { 3, 0, sys_ioprio_set, "ioprio_set" }, /* 1274 */ + { 2, 0, sys_ioprio_get, "ioprio_get" }, /* 1275 */ +- { 6, 0, sys_move_pages, "move_pages" }, /* 1276 */ ++ { 6, TM, sys_move_pages, "move_pages" }, /* 1276 */ + { 0, TD, sys_inotify_init, "inotify_init" }, /* 1277 */ + { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 1278 */ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 1279 */ +- { 4, 0, sys_migrate_pages, "migrate_pages" }, /* 1280 */ ++ { 4, TM, sys_migrate_pages, "migrate_pages" }, /* 1280 */ + { 4, TD|TF, sys_openat, "openat" }, /* 1281 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 1282 */ + { 4, TD|TF, sys_mknodat, "mknodat" }, /* 1283 */ +diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h +index 5b8d8d1..f95cf8d 100644 +--- a/linux/m68k/syscallent.h ++++ b/linux/m68k/syscallent.h +@@ -43,7 +43,7 @@ + { 3, TF, sys_mknod, "mknod" }, /* 14 */ + { 2, TF, sys_chmod, "chmod" }, /* 15 */ + { 3, TF, sys_chown, "chown" }, /* 16 */ +- { 0, 0, sys_break, "break" }, /* 17 */ ++ { 0, TM, sys_break, "break" }, /* 17 */ + { 2, TF, sys_oldstat, "oldstat" }, /* 18 */ + { 3, 0, sys_lseek, "lseek" }, /* 19 */ + { 0, 0, sys_getpid, "getpid" }, /* 20 */ +@@ -71,7 +71,7 @@ + { 1, 0, sys_pipe, "pipe" }, /* 42 */ + { 1, 0, sys_times, "times" }, /* 43 */ + { 0, 0, sys_prof, "prof" }, /* 44 */ +- { 1, 0, sys_brk, "brk" }, /* 45 */ ++ { 1, TM, sys_brk, "brk" }, /* 45 */ + { 1, 0, sys_setgid, "setgid" }, /* 46 */ + { 0, NF, sys_getgid, "getgid" }, /* 47 */ + { 3, TS, sys_signal, "signal" }, /* 48 */ +@@ -116,8 +116,8 @@ + { 2, TF, sys_swapon, "swapon" }, /* 87 */ + { 4, 0, sys_reboot, "reboot" }, /* 88 */ + { 3, 0, sys_readdir, "readdir" }, /* 89 */ +- { 6, TD, sys_old_mmap,