[0/8] Additional time64 aliases

Message ID cover.1625492203.git.fweimer@redhat.com
Headers
Series Additional time64 aliases |

Message

Florian Weimer July 5, 2021, 1:41 p.m. UTC
  This series adds several aliases for system call wrappers which are to
some degree type-generic wrappers.  There are two reasons for adding
them: our existing emulation may be incompatible with some legacy
applications in an essentially unfixable way (e.g., EFAULT differences),
and new kernel features may need emulation, and the kernel will not
allow us to detect the time_t size based on the multiplexer constant.

I do not propose to change the implementation in this series, it's just
a way to be able to be able to differentiate between time64 and legacy
applications in the future.

Thanks,
Florian

Florian Weimer (8):
  misc: Add time64 alias for ioctl
  io: Add time64 alias for fcntl
  Linux: Add time64 alias for prctl
  socket: Add time64 alias for sendmmsg
  socket: Add time64 alias for recvmsg
  socket: Add time64 alias for sendmsg
  socket: Add time64 alias for getsockopt
  socket: Add time64 alias for setsockopt

 io/Makefile                                   |   2 +
 io/fcntl.h                                    |  27 ++-
 io/tst-fcntl-time64.c                         |   1 +
 misc/Makefile                                 |   7 +-
 misc/sys/ioctl.h                              |  10 +
 misc/tst-ioctl-time64.c                       |   1 +
 misc/tst-ioctl.c                              |  41 ++++
 socket/Makefile                               |   9 +-
 socket/sys/socket.h                           |  65 +++++-
 socket/tst-sockopt-time64.c                   |   1 +
 socket/tst-sockopt.c                          |  52 +++++
 sysdeps/unix/syscalls.list                    |   2 +-
 sysdeps/unix/sysv/linux/Makefile              |   6 +-
 sysdeps/unix/sysv/linux/Versions              |   8 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |   8 +
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   8 +
 sysdeps/unix/sysv/linux/arm/syscalls.list     |   4 +-
 sysdeps/unix/sysv/linux/csky/libc.abilist     |   8 +
 sysdeps/unix/sysv/linux/fcntl64.c             |   3 +
 sysdeps/unix/sysv/linux/generic/syscalls.list |   4 +-
 sysdeps/unix/sysv/linux/getsockopt.c          |   3 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |   8 +
 sysdeps/unix/sysv/linux/hppa/syscalls.list    |   6 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist     |   8 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |   8 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   8 +
 .../sysv/linux/microblaze/be/libc.abilist     |   8 +
 .../sysv/linux/microblaze/le/libc.abilist     |   8 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |   8 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |   8 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |   8 +
 sysdeps/unix/sysv/linux/mips/syscalls.list    |   4 +-
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |   8 +
 sysdeps/unix/sysv/linux/powerpc/ioctl.c       |   3 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |   8 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |   8 +
 sysdeps/unix/sysv/linux/prctl.c               |   3 +
 sysdeps/unix/sysv/linux/recvmsg.c             |   3 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |   8 +
 sysdeps/unix/sysv/linux/sendmmsg.c            |   3 +
 sysdeps/unix/sysv/linux/sendmsg.c             |   3 +
 sysdeps/unix/sysv/linux/setsockopt.c          |   3 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   8 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   8 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |   8 +
 sysdeps/unix/sysv/linux/sys/prctl.h           |  10 +
 sysdeps/unix/sysv/linux/tst-prctl-time64.c    |   1 +
 sysdeps/unix/sysv/linux/tst-prctl.c           |  33 ++++
 .../unix/sysv/linux/tst-scm_rights-time64.c   |   1 +
 sysdeps/unix/sysv/linux/tst-scm_rights.c      | 186 ++++++++++++++++++
 50 files changed, 635 insertions(+), 22 deletions(-)
 create mode 100644 io/tst-fcntl-time64.c
 create mode 100644 misc/tst-ioctl-time64.c
 create mode 100644 misc/tst-ioctl.c
 create mode 100644 socket/tst-sockopt-time64.c
 create mode 100644 socket/tst-sockopt.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-prctl-time64.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-prctl.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights-time64.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights.c