summaryrefslogtreecommitdiff
path: root/linux/xtensa
Commit message (Collapse)AuthorAgeFilesLines
* Move source files into src subdirectoryDmitry V. Levin2021-02-0311-637/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/Makefile.am: New file. * src/.gitignore: Likewise. * scno.am: Move into src subdirectory. * scno.head: Likewise. * strace-graph: Likewise. * strace-log-merge: Likewise. * linux/: Likewise. * types/: Likewise. * xlat/: Likewise. * *.awk: Likewise. * *.c: Likewise. * *.h: Likewise. * *.sh: Likewise. * .gitignore: Update. * Makefile.am: Update. * bootstrap: Update. * configure.ac: Update. * debian/rules: Update. * debian/strace-udeb.install: Update. * debian/strace.examples: Update. * debian/strace.install: Update. * debian/strace64.install: Update. * m4/gen_bpf_attr_m4.sh: Update. * m4/mpers.m4: Update. * tests/Makefile.am: Update. * tests/init.sh: Update. * tests/legacy_syscall_info.test: Update. * tests/strace-log-merge-error.test: Update. * tests/strace-log-merge-suffix.test: Update.
* linux/*/ioctls_arch0.h: remove redundant 0x890[1-7] ioctl entriesDmitry V. Levin2021-01-071-2/+0
| | | | | | | | | | | | | They are already defined in appropriate ioctls_inc*.h files. * linux/alpha/ioctls_arch0.h (0x8906, 0x8907): Remove. * linux/mips/ioctls_arch0.h: Likewise. * linux/xtensa/ioctls_arch0.h: Likewise. * linux/avr32/ioctls_arch0.h (0x890[1-7]): Remove. * linux/hppa/ioctls_arch0.h: Likewise. * linux/ia64/ioctls_arch0.h: Likewise. * linux/sparc/ioctls_arch0.h: Likewise. * linux/sparc64/ioctls_arch0.h: Likewise.
* Update the number of arguments of membarrier syscallDmitry V. Levin2020-12-111-1/+1
| | | | | | | | | Apply the following change: $ git grep -Fl 'SEN(membarrier)' |xargs sed -i '/SEN(membarrier)/ s/2,/3,/' * linux/*/syscallent*.h (membarrier): Change nargs from 2 to 3. Fixes: 176cbdc69 "membarrier: implement decoding of cpu_id argument"
* Introduce SYS_FUNC(tkill)Ákos Uzonyi2020-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is going to be needed to implement pidns support in tkill syscall decoder. syscallent*.h files are updated automatically by: git grep -l 'SEN(kill).*"tkill"' | xargs sed -i '/"tkill"/ s/SEN(kill)/SEN(tkill)/' * signal.c (SYS_FUNC(tkill)): New syscall decoder. * linux/32/syscallent.h: Use SEN(tkill) for "tkill" syscall. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * 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-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Modify %process class: trace syscalls associated with process lifecycleÁkos Uzonyi2020-06-161-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The description is rephrased as: "Trace system calls associated with process lifecycle (creation, exec, termination)." kill, tkill, tgkill, pidfd_send_signal and rt_sigqueueinfo are added, arch_prctl and unshare are removed from the %process class. syscallent*.h files are updated automatically by: find linux -name syscallent*.h -exec \ sed -i -r -e ' /(arch_prctl|unshare)/ { s/(\{[^,]*,\t[^,]*)TP\|/\1/ s/(\{[^,]*,\t[^,]*)\|TP/\1/ s/(\{[^,]*,\t[^,]*)TP,/\10,/ } ' -e ' /(kill|pidfd_send_signal|rt_sigqueueinfo)/ { s/(\{[^,]*,\t[^0][^,]*)/\1|TP/ s/(\{[^,]*,\s*)0/\1TP/ } ' {} + [ldv: document this change in NEWS.] * strace.1.in: Rephrase %process description. * linux/32/syscallent.h: Add TP flag to *kill, pidfd_send_signal and rt_sigqueueinfo; remove TP flag from arch_prctl and unshare. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * 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-compat.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/syscallent-common.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * NEWS: Mention this change.
* Add statx syscall to %fstat trace classDmitry V. Levin2020-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | statx syscall with AT_EMPTY_PATH flag is similar to newfstatat/fstatat64 syscall with AT_EMPTY_PATH flag. * linux/32/syscallent.h (statx): Add TFST flag. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * linux/arm/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-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * strace.1.in (.SS Filtering): Document it. * NEWS: Mention this fix. * tests/trace_fstat.in (statx): New entry.
* Update copyright headersDmitry V. Levin2020-06-011-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Add %clock trace classÁkos Uzonyi2020-04-171-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The %clock class includes the syscalls that read or modify system clock. linux/*/syscallent*.h part is updated automatically by: sed -i -r ' /"(.*adjtime.*|.*clock_([gs]et|adj).*|.*[gs]ettimeofday.*|time)"/ { s/(\{[^,]*,\t[^0][^,]*)/\1|TCL/ s/(\{[^,]*,\s*)0/\1TCL/ } ' linux/*/syscallent*.h * basic_filters.c (loopup_class): Add %clock member to syscall_class[]. * linux/32/syscallent-time32.h: Add TCL flag to clock related syscalls. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * 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-compat.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * strace.1.in: Add %clock description. * strace.c (usage): Add %clock group to help message. * sysent.h (TRACE_CLOCK): New definition. * sysent_shorthand_defs.h (TC): Likewise. * sysent_shorthand_undefs.h (TC): Add undef. * NEWS: Mention this. Signed-off-by: Ákos Uzonyi <uzonyi.akos@gmail.com>
* Update copyright headersDmitry V. Levin2020-04-034-4/+4
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* xtensa: switch to PTRACE_GETREGS APIDmitry V. Levin2020-03-305-35/+14
| | | | | | | | | | | | | | | | | | Implement PTRACE_GETREGS API introduced on xtensa by Linux kernel commit v2.6.13-rc1~68^2~366. * configure.ac [xtensa]: Remove arch_enable_Werror=no. * linux/xtensa/get_syscall_result.c: Remove. * Makefile.am (EXTRA_DIST): Remove it. * linux/xtensa/arch_regs.c (xtensa_regs): New variable. (ARCH_REGS_FOR_GETREGS, ARCH_PC_REG, ARCH_SP_REG): New macros. (xtensa_a2, ARCH_PC_PEEK_ADDR, ARCH_SP_PEEK_ADDR): Remove. * linux/xtensa/get_error.c (arch_get_error): Use xtensa_regs.a[2]. * linux/xtensa/get_syscall_args.c (arch_get_syscall_args): Use xtensa_regs.a. * linux/xtensa/set_error.c (arch_set_error, arch_set_success): Use xtensa_regs.a[2]. * NEWS: Mention this change.
* Implement %creds trace classAndrey Zax2019-12-291-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements a new trace class (%creds) to trace syscalls related to process credentials. syscallent headers are updated using the following command: sed -i -r '/[gs]et[^p]*([gu]id|groups)|cap[gs]et|\(prctl/ { s/(\{ [0-6],\t)([A-Z]+\|[A-Z|]+,)\t/\1TC|\2/; s/(\{ [0-6],\t)([A-Z]+,)/\1TC|\2/; s/(\{ [0-6],\t)0/\1TC/ }' linux/*/syscallent*.h * basic_filters.c (lookup_class): Add %creds member to syscall_class[]. * sysent.h (TRACE_CREDS): New macro. * sysent_shorthand_defs.h (TC): Likewise. * strace.1.in (.SS Filtering): Add a description for `-e trace=%creds`. * linux/32/syscallent.h: Add TC flag to credentials syscalls. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * 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-compat.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * NEWS: Mention this change. Signed-off-by: Andrey Zax <andrey.zax@gmail.com> Co-authored-by: Dmitry V. Levin <ldv@altlinux.org>
* Add seccomp filter syscall flagPaul Chaignon2019-08-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new syscall flag for syscall that are traced by default under seccomp filter. The syscallent changes can be reproduced with the following script: git grep -l 'SEN(\(execv\|ipc\|socketcall\|ipc\)' | xargs -r sed -i -e '/SEN(execv/ s/TP|/&TSD|/' \ -e '/SEN(ipc)/ s/TI/&|TSD/' -e '/SEN(socketcall)/ s/TD/&|TSD/' \ -e '/SEN(syscall)/ s/0,/TSD,/' * sysent.h (TRACE_SECCOMP_DEFAULT): Define new flag. * sysent_shorthand_defs.h (TSD): Define new flag shorthand. * linux/32/syscallent.h: Add TSD flag. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * 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-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
* Introduce linux/syscallent-common.h and linux/syscallent-common-32.hDmitry V. Levin2019-06-291-24/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These files are going to be used to define syscall entries for common syscalls added in Linux kernel 5.1+. * linux/syscallent-common.h: New file. * linux/syscallent-common-32.h: Likewise. * Makefile.am (EXTRA_DIST): Add them. (syscallent_names): Add syscallent-common.h and syscallent-common-32.h. * linux/mips/.gitignore: Add syscallent-common-32-stub.h and syscallent-common-stub.h. * linux/mips/genstub.sh: Parametrize source directory. Change syscall name prefix to SYSCALL_NAME_PREFIX. * configure.ac [MIPS]: Generate stubs for linux/syscallent-common.h and linux/syscallent-common-32.h files. * linux/mips/syscallent-n32.h [LINUX_MIPSN32] [BASE_NR + 403..BASE_NR + 427]: Remove, include "syscallent-common-32.h" and "syscallent-common.h" instead. [!LINUX_MIPSN32] (SYSCALL_NAME_PREFIX): Define. [!LINUX_MIPSN32]: Include "syscallent-common-32-sub.h" and "syscallent-common-stub.h". * linux/mips/syscallent-o32.h [LINUX_MIPSO32] [BASE_NR + 403..BASE_NR + 427]: Remove, include "syscallent-common-32.h" and "syscallent-common.h" instead. [!LINUX_MIPSO32] (SYSCALL_NAME_PREFIX): Define. [!LINUX_MIPSO32]: Include "syscallent-common-32-sub.h" * linux/32/syscallent.h [403..427]: Remove, include "syscallent-common-32.h" and "syscallent-common.h" instead. * linux/arm/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h (BASE_NR): Define. [534..537]: Remove, include "syscallent-common.h" instead. * linux/ia64/syscallent.h [BASE_NR + 424..BASE_NR + 427]: Remove, include "syscallent-common.h" instead. * linux/mips/syscallent-n64.h [LINUX_MIPSN64]: Likewise. [!LINUX_MIPSN64] (SYSCALL_NAME_PREFIX): Define. [!LINUX_MIPSN64]: Include "syscallent-common-stub.h". * linux/64/syscallent.h [424..427]: Remove, include "syscallent-common.h" instead. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise.
* Update copyright headersDmitry V. Levin2019-05-221-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Implement decoding of io_uring_* syscallsDmitry V. Levin2019-05-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... introduced by Linux kernel commits v5.1-rc1~99^2~14, v5.1-rc1~99^2~7, and v5.1-rc7~24^2. * configure.ac (AC_CHECK_HEADERS): Add linux/io_uring.h. * io_uring.c: New file. * Makefile.am (strace_SOURCES): Add it. * pathtrace.c (pathtrace_match_set): Add SEN_io_uring_enter, SEN_io_uring_register, and SEN_io_uring_setup. * xlat/uring_enter_flags.in: New file. * xlat/uring_register_opcodes.in: Likewise. * linux/32/syscallent.h [425, 426, 427]: Wire up io_uring_setup, io_uring_enter, and io_uring_register. * linux/64/syscallent.h: Likewise. * linux/arm/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h [535, 536, 537]: Likewise. * linux/ia64/syscallent.h [1024 + 425, 1024 + 426, 1024 + 427]: Likewise. * linux/mips/syscallent-n32.h [6425, 6426, 6427]: Likewise. * linux/mips/syscallent-n64.h [5425, 5426, 5427]: Likewise. * linux/mips/syscallent-o32.h [4425, 4426, 4427]: Likewise. * NEWS: Mention this change. * tests/io_uring_enter.c: New file. * tests/io_uring_register.c: Likewise. * tests/io_uring_setup.c: Likewise. * tests/gen_tests.in (io_uring_enter, io_uring_register, io_uring_setup): New entries. * tests/pure_executables.list: Add io_uring_enter, io_uring_register, and io_uring_setup. * tests/.gitignore: Likewise.
* Implement decoding of pidfd_send_signal syscallDmitry V. Levin2019-05-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... introduced by Linux kernel commit v5.1-rc1~6^2~1. * signal.c (SYS_FUNC(pidfd_send_signal)): New function. * linux/32/syscallent.h [424]: Wire up pidfd_send_signal. * linux/64/syscallent.h: Likewise. * linux/arm/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h [534]: Likewise. * linux/ia64/syscallent.h [1024 + 424]: Likewise. * linux/mips/syscallent-n32.h [6424]: Likewise. * linux/mips/syscallent-n64.h [5424]: Likewise. * linux/mips/syscallent-o32.h [4424]: Likewise. * NEWS: Mention this change. * tests/pidfd_send_signal.c: New file. * tests/gen_tests.in (pidfd_send_signal): New entry. * tests/pure_executables.list: Add pidfd_send_signal. * tests/.gitignore: Likewise.
* Implement and use new parsers of utimensat syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * utimes.c (SYS_FUNC(utimensat)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(utimensat_time32)): New function. * pathtrace.c (pathtrace_match_set): Replace SEN_utimensat with SEN_utimensat_time32. * linux/64/syscallent.h: Replace SEN(utimensat) with SEN(utimensat_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(utimensat) with SEN(utimensat_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of timerfd_gettime and timerfd_settime syscallsDmitry V. Levin2019-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * time.c (SYS_FUNC(timerfd_gettime), SYS_FUNC(timerfd_settime)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(timerfd_gettime32), SYS_FUNC(timerfd_settime32)): New functions. * pathtrace.c (pathtrace_match_set): Replace SEN_timerfd_gettime and SEN_timerfd_settime with SEN_timerfd_gettime32 and SEN_timerfd_settime32, respectively. * linux/64/syscallent.h: Replace SEN(timerfd_gettime) and SEN(timerfd_settime) with SEN(timerfd_gettime64) and SEN(timerfd_settime64), respectively. * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(timerfd_gettime) and SEN(timerfd_settime) with SEN(timerfd_gettime32) and SEN(timerfd_settime32), respectively. * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of timer_gettime and timer_settime syscallsDmitry V. Levin2019-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * time.c (SYS_FUNC(timer_gettime), SYS_FUNC(timer_settime)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(timer_gettime32), SYS_FUNC(timer_settime32)): New functions. * linux/64/syscallent.h: Replace SEN(timer_gettime) and SEN(timer_settime) with SEN(timer_gettime64) and SEN(timer_settime64), respectively. * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(timer_gettime) and SEN(timer_settime) with SEN(timer_gettime32) and SEN(timer_settime32), respectively. * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of nanosleep syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * time.c (SYS_FUNC(nanosleep)): Remove. [HAVE_ARCH_TIME32_SYSCALLS || HAVE_ARCH_OLD_TIME64_SYSCALLS] (do_nanosleep): New function. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(nanosleep_time32)): Likewise. [HAVE_ARCH_OLD_TIME64_SYSCALLS] (SYS_FUNC(nanosleep_time64)): Likewise. * linux/64/syscallent.h: Replace SEN(nanosleep) with SEN(nanosleep_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(nanosleep) with SEN(nanosleep_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of clock_nanosleep syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * time.c (SYS_FUNC(clock_nanosleep)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(clock_nanosleep_time32)): New function. * linux/64/syscallent.h: Replace SEN(clock_nanosleep) with SEN(clock_nanosleep_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(clock_nanosleep) with SEN(clock_nanosleep_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of clock_gettime and clock_settime syscallsDmitry V. Levin2019-05-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * time.c (SYS_FUNC(clock_gettime), SYS_FUNC(clock_settime)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(clock_gettime32), SYS_FUNC(clock_settime32)): New functions. * linux/dummy.h (sys_clock_getres): Remove. (sys_clock_getres_time32): Redirect to sys_clock_gettime32. * linux/64/syscallent.h: Replace SEN(clock_gettime), SEN(clock_settime), and SEN(clock_getres) with SEN(clock_gettime64), SEN(clock_settime64), and SEN(clock_getres_time64), respectively. * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(clock_gettime), SEN(clock_settime), and SEN(clock_getres) with SEN(clock_gettime32), SEN(clock_settime32), and SEN(clock_getres_time32), respectively. * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of mq_timedsend and mq_timedreceive syscallsDmitry V. Levin2019-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mq.c (SYS_FUNC(mq_timedsend), SYS_FUNC(mq_timedreceive)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(mq_timedsend_time32), SYS_FUNC(mq_timedreceive_time32)): New functions. * pathtrace.c (pathtrace_match_set): Replace SEN_mq_timedsend and SEN_mq_timedreceive with SEN_mq_timedsend_time32 and SEN_mq_timedreceive_time32, respectively. * syscall.c (dumpio): Likewise. * linux/64/syscallent.h: Replace SEN(mq_timedsend) and SEN(mq_timedreceive) with SEN(mq_timedsend_time64) and SEN(mq_timedreceive_time64), respectively. * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(mq_timedsend) and SEN(mq_timedreceive) with SEN(mq_timedsend_time32) and SEN(mq_timedreceive_time32), respectively. * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of rt_sigtimedwait syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * signal.c (SYS_FUNC(rt_sigtimedwait)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(rt_sigtimedwait_time32)): New function. * linux/64/syscallent.h: Replace SEN(rt_sigtimedwait) with SEN(ppoll_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(rt_sigtimedwait) with SEN(ppoll_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of sched_rr_get_interval syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sched.c (SYS_FUNC(sched_rr_get_interval)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(sched_rr_get_interval_time32)): New function. * linux/64/syscallent.h: Replace SEN(sched_rr_get_interval) with SEN(sched_rr_get_interval_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(sched_rr_get_interval) with SEN(sched_rr_get_interval_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of poll syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * poll.c (SYS_FUNC(poll)): Remove. [HAVE_ARCH_TIME32_SYSCALLS || HAVE_ARCH_OLD_TIME64_SYSCALLS] (do_poll): New function. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(poll_time32)): Likewise. [HAVE_ARCH_OLD_TIME64_SYSCALLS] (SYS_FUNC(poll_time64)): Likewise. * pathtrace.c (pathtrace_match_set): Replace SEN_poll with SEN_poll_time32 and SEN_poll_time64. * linux/aarch64/syscallent.h: Replace SEN(poll) with SEN(poll_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/arm/syscallent.h: Replace SEN(poll) with SEN(poll_time32). * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of ppoll syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * poll.c (SYS_FUNC(ppoll)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(ppoll_time32)): New function. * pathtrace.c (pathtrace_match_set): Replace SEN_ppoll with SEN_ppoll_time32. * linux/64/syscallent.h: Replace SEN(ppoll) with SEN(ppoll_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(ppoll) with SEN(ppoll_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of recvmmsg syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * mmsghdr.c (SYS_FUNC(recvmmsg)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(recvmmsg_time32)): New function. * syscall.c (dumpio): Handle SEN_recvmmsg_time32. * linux/subcall32.h (sys_recvmmsg): Redirect to sys_recvmmsg_time32. * linux/subcall64.h (sys_recvmmsg): Redirect to sys_recvmmsg_time64. * linux/64/syscallent.h: Replace SEN(recvmmsg) with SEN(recvmmsg_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(recvmmsg) with SEN(recvmmsg_time32). * linux/arm/syscallent.h: Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of semtimedop syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * ipc_sem.c (SYS_FUNC(semtimedop)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(semtimedop_time32)): New function. * linux/subcall32.h (sys_semtimedop): Redirect to sys_semtimedop_time32. * linux/subcall64.h (sys_semtimedop): Redirect to sys_semtimedop_time64. * linux/64/syscallent.h: Replace SEN(semtimedop) with SEN(semtimedop_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(semtimedop) with SEN(semtimedop_time32). * linux/arm/syscallent.h: Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of futex syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * futex.c (SYS_FUNC(futex)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(futex_time32)): New function. * linux/64/syscallent.h: Replace SEN(futex) with SEN(futex_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(futex) with SEN(futex_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of pselect6 syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * desc.c (SYS_FUNC(pselect6)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(pselect6_time32)): New function. * pathtrace.c (pathtrace_match_set): Replace SEN_pselect6 with SEN_pselect6_time32. * linux/64/syscallent.h: Replace SEN(pselect6) with SEN(pselect6_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(pselect6) with SEN(pselect6_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Implement and use new parsers of io_getevents syscallDmitry V. Levin2019-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aio.c (SYS_FUNC(io_getevents)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(io_getevents_time32)): New function. [HAVE_ARCH_OLD_TIME64_SYSCALLS] (SYS_FUNC(io_getevents_time64)): Likewise. * linux/64/syscallent.h: Replace SEN(io_getevents) with SEN(io_getevents_time64). * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(io_getevents) with SEN(io_getevents_time32). * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Wire up *time64 system callsDmitry V. Levin2019-05-111-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * linux/32/syscallent.h [403...423]: Wire up clock_gettime64, clock_settime64, clock_adjtime64, clock_getres_time64, clock_nanosleep_time64, timer_gettime64, timer_settime64, timerfd_gettime64, timerfd_settime64, utimensat_time64, pselect6_time64, ppoll_time64, io_pgetevents_time64, recvmmsg_time64, mq_timedsend_time64, mq_timedreceive_time64, semtimedop_time64, rt_sigtimedwait_time64, futex_time64, and sched_rr_get_interval_time64 introduced by linux commit v5.1-rc1~160^2~2^2. * linux/arm/syscallent.h [403...423]: Likewise. * linux/hppa/syscallent.h [403...423]: Likewise. * linux/i386/syscallent.h [403...423]: Likewise. * linux/m68k/syscallent.h [403...423]: Likewise. * linux/microblaze/syscallent.h [403...423]: Likewise. * linux/mips/syscallent-n32.h [6403...6423]: Likewise. * linux/mips/syscallent-o32.h [4403...4423]: Likewise. * linux/powerpc/syscallent.h [403...423]: Likewise. * linux/s390/syscallent.h [403...423]: Likewise. * linux/sh/syscallent.h [403...423]: Likewise. * linux/sparc/syscallent.h [403...423]: Likewise. * linux/xtensa/syscallent.h [403...423]: Likewise. * linux/64/syscallent.h: Add a comment about syscall numbers reserved to sync up with other architectures. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * pathtrace.c (pathtrace_match_set): Handle SEN_utimensat_time64, SEN_pselect6_time64, SEN_ppoll_time64, SEN_mq_timedreceive_time64, SEN_mq_timedsend_time64, SEN_timerfd_gettime64, and SEN_timerfd_settime64. * syscall.c (dumpio): Handle SEN_mq_timedsend_time64, SEN_mq_timedreceive_time64, and SEN_recvmmsg_time64. * NEWS: Mention this.
* Use new parsers of adjtimex and clock_adjtime syscallsDmitry V. Levin2019-05-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * print_timex.c (struct_timex, print_timex): Remove. * time.c (SYS_FUNC(adjtimex), SYS_FUNC(clock_adjtime)): Remove. * linux/alpha/syscallent.h [303]: Replace SEN(adjtimex) with SEN(adjtimex32). [366]: Replace SEN(adjtimex) with SEN(adjtimex64). [499]: Replace SEN(clock_adjtime) with SEN(clock_adjtime64). * linux/32/syscallent.h: Replace SEN(adjtimex) and SEN(clock_adjtime) with SEN(adjtimex32) and SEN(clock_adjtime32), respectively. * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/64/syscallent.h: Replace SEN(adjtimex) and SEN(clock_adjtime) with SEN(adjtimex64) and SEN(clock_adjtime64), respectively. * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * tests/adjtimex.c: Include <stddef.h>. (main): Print struct timex.tai unconditionally.
* Wire up pkey_* and rseq syscalls on remaining architecturesDmitry V. Levin2019-04-151-0/+1
| | | | | | | | | | | | | | | | | | | * linux/alpha/syscallent.h [524..527]: Wire up pkey_mprotect, pkey_alloc, pkey_free, and rseq syscalls introduced on this architecture by linux commit v5.1-rc1~160^2~3^2~3. * linux/hppa/syscallent.h [351..354]: Likewise. * linux/ia64/syscallent.h [1024 + 330..333]: Likewise. * linux/m68k/syscallent.h [381..384]: Likewise. * linux/sh/syscallent.h [384..387]: Likewise. * linux/sparc/syscallent.h [362..365]: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/s390/syscallent.h [384..386]: Wire up pkey_mprotect, pkey_alloc, and pkey_free syscalls introduced on this architecture by linux commit v5.1-rc1~160^2~3^2~3. * linux/s390x/syscallent.h: Likewise. * linux/xtensa/syscallent.h [352]: Wire up rseq syscall introduced on this architecture by linux commit v5.1-rc1~160^2~3^2~3. * NEWS: Mention this.
* Update copyright headersDmitry V. Levin2019-03-181-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Use accessors for tcp->s_ent, return a stub struct if it is NULLEugene Syromyatnikov2019-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since code paths are non-trivial, it's an attempt to future-proof and prevent improper access of tcp->s_ent fields. * defs.h (struct tcb): Update the description of s_ent field. (stub_sysent): New declaration. (tcp_sysent, n_args): New macro functions. (indirect_ipccall): Use tcp_sysent() instead of tcp->s_ent. * ipc.c (SYS_FUNC(ipc)): Use n_args() instead of tcp->s_ent->nargs. * linux/alpha/get_syscall_args.c (get_syscall_args): Likewise. * linux/bfin/get_syscall_args.c (get_syscall_args): Likewise. * linux/hppa/get_syscall_args.c (get_syscall_args): Likewise. * linux/ia64/get_syscall_args.c (get_syscall_args): Likewise. * linux/microblaze/get_syscall_args.c (get_syscall_args): Likewise. * linux/mips/get_syscall_args.c (get_syscall_args): Likewise. * linux/sh/get_syscall_args.c (get_syscall_args): Likewise. * linux/sh64/get_syscall_args.c (get_syscall_args): Likewise. * linux/x86_64/get_syscall_args.c (get_syscall_args): Likewise. * linux/xtensa/get_syscall_args.c (get_syscall_args): Likewise. * prctl.c (print_prctl_args): Likewise. * signal.c (SYS_FUNC(sgetmask)): Likewise. * util.c (printargs, printargs_u, printargs_d): Likewise. * syscall.c (decode_ipc_subcall, decode_syscall_subcall: Likewise. (dumpio, tamper_with_syscall_exiting, syscall_entering_decode, syscall_entering_decode, syscall_entering_trace, syscall_entering_trace, syscall_exiting_decode, print_syscall_resume, syscall_exiting_trace, get_syscall_result): Use tcp_sysent() instead of tcp->s_ent. (stub_sysent): New stub sysent. (get_scno): Reset scno, s_ent, qual_flg; initialise s->ent from stub_sysent. * pathtrace.c (pathtrace_match_set): Use tcp_sysent() instead of tcp->s_ent. Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
* Fix preprocessor indentationDmitry V. Levin2018-12-301-1/+1
| | | | | | | | | Indent the C preprocessor directives to reflect their nesting using the following script: $ cppi -l $(git grep -El '^[[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif|define|pragma)[[:space:]]' |grep -v '\.sh$') |while read f; do cppi < "$f" > "$f".cppi; mv "$f".cppi "$f" done
* Add copyright headers to some files that lack themDmitry V. Levin2018-12-249-0/+63
| | | | | | We do our best to keep copyright headers up to date, yet git history provides better information on this subject and is more accurate than copyright headers.
* Change the license of strace to LGPL-2.1-or-laterDmitry V. Levin2018-12-101-21/+1
| | | | | | | | strace is now provided under the terms of the GNU Lesser General Public License version 2.1 or later, see COPYING for more details. strace test suite is now provided under the terms of the GNU General Public License version 2 or later, see tests/COPYING for more details.
* Refactor get_syscall_args() and get_error()Dmitry V. Levin2018-12-052-2/+2
| | | | | | | | | | * linux/*/get_error.c: Rename all arch-specific implementations of get_error() to arch_get_error(). * linux/*/get_syscall_args.c: Rename all arch-specific implementations of get_syscall_args() to arch_get_syscall_args(). * syscall.c (get_syscall_args, get_error): New functions. (tamper_with_syscall_exiting, get_syscall_result): Do not clear tcp->u_error before get_error() invocation as the latter does it now.
* Refactor stack pointersDmitry V. Levin2018-12-052-33/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change all linux/*/arch_regs.c to provide either ARCH_SP_REG or ARCH_SP_PEEK_ADDR. Introduce get_stack_pointer(), rewrite all code accessing stack pointers to use get_stack_pointer(). On some architectures stack pointers were referred to as frame pointers, clean up this confusion. * defs.h (get_stack_pointer): New prototype. * syscall.c (get_stack_pointer): New function. * linux/arch_rt_sigframe.c: New file. * linux/aarch64/arch_regs.c (aarch64_sp_ptr, arm_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/alpha/arch_regs.c: Import linux/alpha/arch_regs.h. (REG_FP): Rename to REG_SP. (ARCH_SP_PEEK_ADDR): New macro. * linux/alpha/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/arc/arch_regs.c (arc_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/arm/arch_regs.c (arm_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/arm/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/avr32/arch_regs.c (avr32_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/bfin/arch_regs.c (ARCH_SP_PEEK_ADDR): New macro. * linux/hppa/arch_regs.c: Import linux/hppa/arch_regs.h. (PT_GR30, ARCH_SP_PEEK_ADDR): New macros. * linux/hppa/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/i386/arch_regs.c (i386_esp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/i386/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/i386/arch_sigreturn.c (arch_sigreturn): Likewise. * linux/ia64/arch_regs.c (ia64_frame_ptr): Remove. (ARCH_SP_REG): New macro. * linux/ia64/arch_regs.h (ia64_frame_ptr): Remove. * linux/ia64/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/m68k/arch_regs.c (m68k_usp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/m68k/arch_rt_sigframe.c: Link to i386/arch_rt_sigframe.c. * linux/m68k/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/metag/arch_regs.c (metag_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/metag/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/microblaze/arch_regs.c (ARCH_SP_PEEK_ADDR): New macro. * linux/mips/arch_regs.c: Import linux/mips/arch_regs.h. (mips_regs): Add static qualifier. (ARCH_SP_REG): New macro. * linux/mips/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/nios2/arch_regs.c (nios2_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/or1k/arch_regs.c (or1k_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/powerpc/arch_regs.c (ppc_regs): Add static qualifier. (ARCH_SP_REG): New macro. * linux/powerpc/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/powerpc/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/powerpc64/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/riscv/arch_regs.c (riscv_sp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/s390/arch_regs.c (s390_frame_ptr): Remove. (ARCH_SP_REG): New macro. * linux/s390/arch_sigreturn.c (S390_FRAME_PTR): Remove. (arch_sigreturn): Use get_stack_pointer. * linux/s390x/arch_regs.c (s390_frame_ptr, s390x_frame_ptr): Remove. (ARCH_SP_REG): New macro. * linux/s390x/arch_sigreturn.c (S390_FRAME_PTR): Remove. * linux/sh/arch_regs.c (ARCH_SP_PEEK_ADDR): New macro. * linux/sh64/arch_regs.c: Likewise. * linux/sparc/arch_regs.c: Import linux/sparc/arch_regs.h. (sparc_regs): Add static qualifier. (ARCH_SP_REG): New macro. * linux/sparc/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/sparc64/arch_rt_sigframe.c (FUNC_GET_RT_SIGFRAME_ADDR): Use get_stack_pointer. * linux/tile/arch_regs.c (tile_regs): Add static qualifier. (ARCH_SP_REG): New macro. * linux/tile/arch_sigreturn.c (arch_sigreturn): Use get_stack_pointer. * linux/x86_64/arch_regs.c (i386_esp_ptr, x86_64_rsp_ptr): Remove. (ARCH_SP_REG): New macro. * linux/x86_64/arch_regs.h (i386_esp_ptr, x86_64_rsp_ptr): Remove. * linux/x86_64/arch_rt_sigframe.c: Link to i386/arch_rt_sigframe.c. * linux/xtensa/arch_regs.c (ARCH_SP_PEEK_ADDR): New macro. * linux/aarch64/arch_regs.h: Remove. * linux/aarch64/arch_rt_sigframe.c: Remove. * linux/alpha/arch_regs.h: Remove. * linux/alpha/arch_rt_sigframe.c: Remove. * linux/arc/arch_regs.h: Remove. * linux/arc/arch_rt_sigframe.c: Remove. * linux/arm/arch_regs.h: Remove. * linux/arm/arch_rt_sigframe.c: Remove. * linux/avr32/arch_regs.h: Remove. * linux/avr32/arch_rt_sigframe.c: Remove. * linux/bfin/arch_rt_sigframe.c: Remove. * linux/hppa/arch_regs.h: Remove. * linux/i386/arch_regs.h: Remove. * linux/m68k/arch_regs.h: Remove. * linux/metag/arch_regs.h: Remove. * linux/microblaze/arch_rt_sigframe.c: Remove. * linux/mips/arch_regs.h: Remove. * linux/mips/arch_rt_sigframe.c: Remove. * linux/nios2/arch_regs.h: Remove. * linux/nios2/arch_rt_sigframe.c: Remove. * linux/or1k/arch_regs.h: Remove. * linux/or1k/arch_rt_sigframe.c: Remove. * linux/powerpc/arch_regs.h: Remove. * linux/powerpc64/arch_regs.h: Remove. * linux/riscv/arch_regs.h: Remove. * linux/riscv/arch_rt_sigframe.c: Remove. * linux/s390/arch_regs.h: Remove. * linux/s390/arch_rt_sigframe.c: Remove. * linux/s390x/arch_regs.h: Remove. * linux/s390x/arch_rt_sigframe.c: Remove. * linux/sh/arch_rt_sigframe.c: Remove. * linux/sh64/arch_rt_sigframe.c: Remove. * linux/sparc/arch_regs.h: Remove. * linux/sparc/arch_rt_sigframe.c: Remove. * linux/sparc64/arch_regs.h: Remove. * linux/tile/arch_regs.h: Remove. * linux/tile/arch_rt_sigframe.c: Remove. * linux/xtensa/arch_rt_sigframe.c: Remove. * Makefile.am (EXTRA_DIST): Remove them, add linux/arch_rt_sigframe.c.
* xtensa: fix typo in pkey_alloc syscall numberDmitry V. Levin2018-09-271-1/+1
| | | | * linux/xtensa/syscallent.h (pkey_alloc): Change from 249 to 349.
* Introduce raw syscall invocation wrappersDmitry V. Levin2018-03-231-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, syscall(3) provided by libc is too smart for some of our needs. * linux/raw_syscall.h: New file. * linux/aarch64/raw_syscall.h: Likewise. * linux/alpha/raw_syscall.h: Likewise. * linux/arc/raw_syscall.h: Likewise. * linux/arm/raw_syscall.h: Likewise. * linux/avr32/raw_syscall.h: Likewise. * linux/bfin/raw_syscall.h: Likewise. * linux/hppa/raw_syscall.h: Likewise. * linux/i386/raw_syscall.h: Likewise. * linux/ia64/raw_syscall.h: Likewise. * linux/m68k/raw_syscall.h: Likewise. * linux/metag/raw_syscall.h: Likewise. * linux/microblaze/raw_syscall.h: Likewise. * linux/mips/raw_syscall.h: Likewise. * linux/nios2/raw_syscall.h: Likewise. * linux/or1k/raw_syscall.h: Likewise. * linux/powerpc/raw_syscall.h: Likewise. * linux/powerpc64/raw_syscall.h: Likewise. * linux/riscv/raw_syscall.h: Likewise. * linux/s390/raw_syscall.h: Likewise. * linux/s390x/raw_syscall.h: Likewise. * linux/sh/raw_syscall.h: Likewise. * linux/sh64/raw_syscall.h: Likewise. * linux/sparc/raw_syscall.h: Likewise. * linux/sparc64/raw_syscall.h: Likewise. * linux/tile/raw_syscall.h: Likewise. * linux/x32/raw_syscall.h: Likewise. * linux/x86_64/raw_syscall.h: Likewise. * linux/xtensa/raw_syscall.h: Likewise. * Makefile.am (EXTRA_DIST): Add them.
* Add pure syscall flagEugene Syromyatnikov2018-02-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * basic_filters.c (lookup_class) <syscall_class>: Add "%pure" for TRACE_PURE. * sysent.h (TRACE_PURE): New syscall flag. * sysent_shorthand_defs.h (PU): New shorthand macro. * linux/32/syscallent.h ([172], [173], [174], [175], [176], [177], [178]): Add PU flag to getpid, getppid, getuid, geteuid, getgid, getegid, gettid syscalls. * linux/64/syscallent.h ([172], [173], [174], [175], [176], [177], [178]): Add PU flag to getpid, getppid, getuid, geteuid, getgid, getegid, gettid syscalls. * linux/aarch64/syscallent.h ([1060]): Add PU flag to getpgrp syscalls. * linux/alpha/syscallent.h ([20], [24], [47], [63], [64], [89], [378]): Add PU flag to getxpid, getxuid, getxgid, getpgrp, getpagesize, getdtablesize, gettid syscalls. * linux/arc/syscallent.h ([246]): Add PU flag to arc_gettls syscalls. * linux/arm/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [224], [ARM_FIRST_SHUFFLED_SYSCALL+1+6]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid, get_tls syscalls. * linux/avr32/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [176]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, gettid syscalls. * linux/bfin/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [224]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid syscalls. * linux/hppa/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [206]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, gettid syscalls. * linux/i386/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [224]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid syscalls. * linux/ia64/syscallent.h ([1041], [1042], [1046], [1047], [1062], [1063], [1105], [1171]): Add PU flag to getpid, getppid, getuid, geteuid, getgid, getegid, gettid, getpagesize syscalls. * linux/m68k/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [166], [199], [200], [201], [202], [221], [333]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getpagesize, getuid32, getgid32, geteuid32, getegid32, gettid, get_thread_area syscalls. * linux/metag/syscallent.h ([248]): Add PU flag to metag_get_tls syscalls. * linux/microblaze/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [224]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid syscalls. * linux/powerpc64/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [207]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, gettid syscalls. * linux/powerpc/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [207]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, gettid syscalls. * linux/s390/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [236]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid syscalls. * linux/s390x/syscallent.h ([20], [64], [65], [199], [200], [201], [202], [236]): Add PU flag to getpid, getppid, getpgrp, getuid, getgid, geteuid, getegid, gettid syscalls. * linux/sh64/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [252]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid syscalls. * linux/sh/syscallent.h ([20], [24], [47], [49], [50], [64], [65], [199], [200], [201], [202], [224]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, getuid32, getgid32, geteuid32, getegid32, gettid syscalls. * linux/sparc64/syscallent.h ([20], [24], [47], [49], [50], [64], [81], [143], [197], [340]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getpagesize, getpgrp, gettid, getppid, kern_features syscalls. * linux/sparc/syscallent.h ([20], [24], [44], [47], [49], [50], [53], [64], [69], [70], [81], [143], [197], [340]): Add PU flag to getpid, getuid, getuid32, getgid, geteuid, getegid, getgid32, getpagesize, geteuid32, getegid32, getpgrp, gettid, getppid, kern_features syscalls. * linux/x32/syscallent.h ([39], [102], [104], [107], [108], [110], [111], [186]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, gettid syscalls. * linux/x86_64/syscallent.h ([39], [102], [104], [107], [108], [110], [111], [186]): Add PU flag to getpid, getuid, getgid, geteuid, getegid, getppid, getpgrp, gettid syscalls. * linux/xtensa/syscallent.h ([120], [127], [137], [139], [140], [141], [150], [151]): Add PU flag to getpid, gettid, getuid, getgid, geteuid, getegid, getppid, getpgrp syscalls. * strace.1.in (.SS Filtering): Document it. * NEWS: Mention it.
* Add SYSCALL_NEVER_FAILS flag to getpgrpEugene Syromyatnikov2018-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | As glibc, at least, treats it this way. * linux/aarch64/syscallent.h (getpgrp): Add NF flag. * linux/alpha/syscallent.h: Likewise. * 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/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Enhance decoding of mq_* syscallsDmitry V. Levin2018-01-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mq.c (SYS_FUNC(mq_open)): Add RVAL_FD to return value. (SYS_FUNC(mq_timedsend), SYS_FUNC(mq_timedreceive), SYS_FUNC(mq_notify), SYS_FUNC(mq_getsetattr)): Print the first argument using printfd. * NEWS: Mention this change. * pathtrace.c (pathtrace_match_set) <SEN_mq_getsetattr, SEN_mq_notify, SEN_mq_open, SEN_mq_timedreceive, SEN_mq_timedsend>: Skip matching. * linux/32/syscallent.h (mq_getsetattr, mq_notify, mq_open, mq_timedreceive, mq_timedsend): Add TD flag. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * linux/arm/syscallent.h: Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/crisv10/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-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.
* Change the first argument of upeek from pid to tcpEugene Syromiatnikov2018-01-044-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All users were changed automatically by: for i in `git grep -l 'upeek(tcp->pid'`; do \ sed -i 's/upeek(tcp->pid/upeek(tcp/g' "$i"; \ done * upeek.c (upeek): Change the first argument from pid_t pid to struct tcb *tcp. Use tcp->pid instead of pid in the function's body. * defs.h (upeek): Update declaration. * linux/alpha/arch_getrval2.c: Pass tcp instead of tcp->pid to the upeek calls. * linux/alpha/arch_rt_sigframe.c: Likewise. * linux/alpha/arch_sigreturn.c: Likewise. * linux/alpha/get_scno.c: Likewise. * linux/alpha/get_syscall_args.c: Likewise. * linux/alpha/get_syscall_result.c: Likewise. * linux/bfin/arch_rt_sigframe.c: Likewise. * linux/bfin/get_scno.c: Likewise. * linux/bfin/get_syscall_args.c: Likewise. * linux/bfin/get_syscall_result.c: Likewise. * linux/crisv10/arch_rt_sigframe.c: Likewise. * linux/crisv10/get_scno.c: Likewise. * linux/crisv10/get_syscall_args.c: Likewise. * linux/crisv10/get_syscall_result.c: Likewise. * linux/hppa/arch_rt_sigframe.c: Likewise. * linux/hppa/get_scno.c: Likewise. * linux/hppa/get_syscall_args.c: Likewise. * linux/hppa/get_syscall_result.c: Likewise. * linux/microblaze/arch_rt_sigframe.c: Likewise. * linux/microblaze/arch_sigreturn.c: Likewise. * linux/microblaze/get_scno.c: Likewise. * linux/microblaze/get_syscall_args.c: Likewise. * linux/microblaze/get_syscall_result.c: Likewise. * linux/powerpc/getregs_old.c: Likewise. * linux/sh/arch_getrval2.c: Likewise. * linux/sh/arch_rt_sigframe.c: Likewise. * linux/sh/get_scno.c: Likewise. * linux/sh/get_syscall_args.c: Likewise. * linux/sh/get_syscall_result.c: Likewise. * linux/sh64/get_scno.c: Likewise. * linux/sh64/get_syscall_args.c: Likewise. * linux/sh64/get_syscall_result.c: Likewise. * linux/xtensa/arch_rt_sigframe.c: Likewise. * linux/xtensa/get_scno.c: Likewise. * linux/xtensa/get_syscall_args.c: Likewise. * linux/xtensa/get_syscall_result.c: Likewise. * syscall.c: Likewise.
* Change the first argument of upoke from pid to tcpEugene Syromiatnikov2018-01-042-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users were updated automatically by: for i in `git grep -l 'upoke(tcp->pid'`; do \ sed -i 's/upoke(tcp->pid/upoke(tcp/g' "$i"; \ done * upoke.c (upoke): Change the first argument from pid_t pid to struct tcb *tcp. Use tcp->pid instead of pid in the function's body. * defs.h (upoke): Update declaration. * linux/alpha/set_error.c (arch_set_error, arch_set_success): Provide tcp in the first argument of the upoke call instead of tcp->pid. * linux/alpha/set_scno.c (arch_set_scno): Likewise. * linux/bfin/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/bfin/set_scno.c (arch_set_scno): Likewise. * linux/crisv10/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/crisv10/set_scno.c (arch_set_scno): Likewise. * linux/hppa/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/hppa/set_scno.c (arch_set_scno): Likewise. * linux/i386/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/i386/set_scno.c (arch_set_scno): Likewise. * linux/microblaze/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/microblaze/set_scno.c (arch_set_scno): Likewise. * linux/powerpc/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/powerpc/set_scno.c (arch_set_scno): Likewise. * linux/sh/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/sh/set_scno.c (arch_set_scno): Likewise. * linux/sh64/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/sh64/set_scno.c (arch_set_scno): Likewise. * linux/x86_64/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/x86_64/set_scno.c (arch_set_scno): Likewise. * linux/xtensa/set_error.c (arch_set_error, arch_set_success): Likewise. * linux/xtensa/set_scno.c (arch_set_scno): Likewise.
* Add TF flag to inotify_add_watch syscall entriesNikolay Marchuk2017-08-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The second argument of the inotify_add_watch syscall is a file name, but inotify_add_watch has no TF flag set. * linux/32/syscallent.h (inotify_add_watch): Add TF flag. * linux/64/syscallent.h: Likewise. * linux/alpha/syscallent.h: Likewise. * linux/arm/syscallent.h: Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/crisv10/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-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/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/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise.