summaryrefslogtreecommitdiff
path: root/src/epoll.c
Commit message (Collapse)AuthorAgeFilesLines
* epoll: use print_fields.h helpersDmitry V. Levin2021-03-031-11/+33
| | | | | | * src/epoll.c (SYS_FUNC(epoll_create), SYS_FUNC(epoll_ctl), epoll_wait_common, print_timeout_int, epoll_pwait_common): Use tprint_arg_next, PRINT_VAL_D, and PRINT_VAL_U.
* Update copyright headersDmitry V. Levin2021-02-161-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Switch to use bundled <asm-generic/fcntl.h> and <asm/fcntl.h>Dmitry V. Levin2021-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux kernel commit v5.10-rc1~111^2~13 changed the value of O_NONBLOCK on hppa from 0200004 to 0200000, breaking the following build assertion: xlat/open_mode_flags.h:158:1: error: static assertion failed: "O_NONBLOCK != 0200004" Address this issue by switching to use bundled fcntl.h files where appropriate. * NEWS: Mention this. * bundled/linux/include/uapi/asm-generic/fcntl.h: New file, copied from Linux kernel v5.11. * bundled/linux/arch/alpha/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/arm/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/arm64/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/ia64/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/m68k/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/mips/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/parisc/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/powerpc/include/uapi/asm/fcntl.h: Likewise. * bundled/linux/arch/sparc/include/uapi/asm/fcntl.h: Likewise. * bundled/Makefile.am (EXTRA_DIST): Add them. (dist-hook): New rule. * configure.ac: Invoke AC_PROG_LN_S. * src/kernel_fcntl.h: New file. * src/Makefile.am (libstrace_a_SOURCES): Add kernel_fcntl.h. * src/open.c: Include "kernel_fcntl.h" instead of <asm/fcntl.h>, remove redefinitions of O_ACCMODE and O_LARGEFILE. * src/open_tree.c: Include "kernel_fcntl.h" instead of "xlat/open_mode_flags.h". * src/bjm.c: Include "kernel_fcntl.h" instead of <fcntl.h>. * src/epoll.c: Likewise. * src/inotify.c: Likewise. * src/pidfd_open.c: Likewise. * src/time.c: Likewise. * src/userfaultfd.c: Likewise. * src/eventfd.c: Include "kernel_fcntl.h" instead of <fcntl.h> and <sys/eventfd.h>. * src/signalfd.c: Include "kernel_fcntl.h" instead of <fcntl.h> and <sys/signalfd.h>. * src/xlat/open_mode_flags.in: Add #unconditional, remove fallback definitions. (O_ASYNC, O_RSYNC, O_NDELAY): Remove. * src/xlat/open_access_modes.in: remove fallback definitions. * src/xlat/efd_flags.in (EFD_CLOEXEC): Define unconditionally. * src/xlat/epollflags.in (EPOLL_CLOEXEC): Likewise. * src/xlat/inotify_init_flags.in (IN_CLOEXEC): Likewise. * src/xlat/sfd_flags.in (SFD_CLOEXEC): Likewise. * src/xlat/timerfdflags.in (TFD_CLOEXEC): Likewise. * tests/dup3.c: Include "kernel_fcntl.h" instead of <fcntl.h>, assume O_CLOEXEC is defined. (main) [__sparc__]: Remove special handling of O_NDELAY. * tests/mq_sendrecv.c: Include "kernel_fcntl.h" instead of <fcntl.h>. (main): Replace S_IRWXU with 0700. * tests/accept4.c: Include "kernel_fcntl.h" instead of <fcntl.h>, assume O_CLOEXEC is defined. * tests/epoll_create1.c: Likewise. * tests/eventfd.c: Likewise. * tests/inotify_init1.c: Likewise. * tests/signalfd4.c: Likewise. * tests/timerfd_xettime.c: Likewise. * tests/userfaultfd.c: Likewise. * tests/delete_module.c: Include "kernel_fcntl.h" instead of <fcntl.h>. * tests/pipe2.c: Likewise. * tests/open_tree.c: Include "kernel_fcntl.h", assume O_CLOEXEC is defined. * tests/pidfd_open.c: Include "kernel_fcntl.h".
* Implement decoding of epoll_pwait2 syscallDmitry V. Levin2021-02-141-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | Introduced by Linux kernel commits v5.11-rc1~61^2~3 and v5.11-rc1~61^2~2. * src/epoll.c (epoll_wait_common): Add print_timeout argument, use it to print tcp->u_arg[3]. (print_timeout_int): New function. (SYS_FUNC(epoll_wait)): Pass it to epoll_wait_common. (epoll_pwait_common): New function. (SYS_FUNC(epoll_pwait)): Use it. (SYS_FUNC(epoll_pwait2)): New function. * src/linux/generic/syscallent-common.h [BASE_NR + 441]: Wire up epoll_pwait2. * NEWS: Mention this change. * tests/epoll_pwait2.c: New file. * tests/epoll_pwait2-P.c: Likewise. * tests/epoll_pwait2-y.c: Likewise. * tests/gen_tests.in (epoll_pwait2, epoll_pwait2-P, epoll_pwait2-y): New entries. * tests/pure_executables.list: Add epoll_pwait2, epoll_pwait2-P, and epoll_pwait2-y. * tests/.gitignore: Likewise.
* Move source files into src subdirectoryDmitry V. Levin2021-02-031-0/+111
* 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.