[PATCH v2 00/34] Move librt into libc

Florian Weimer fweimer@redhat.com
Thu Jun 17 18:56:44 GMT 2021


This series contains the adjustments for time64 support.  I had to redo
the symbol moves with my local version of the symbol moving scripts to
be sure, but the results look consistent.

Thanks,
Florian

Florian Weimer (34):
  rt: Lexicographically sort Versions file; librt-routines in Makefile
  Fix librt-routines-var issues for !PTHREAD_IN_LIBC
  rt: Replace generic stub of shm_open with the posix version
  rt: Replace generic stub of shm_unlink with the posix version
  rt: Move shm_open into libc
  rt: Move shm_unlink into libc
  rt: Move generic implementation from sysdeps/pthread to rt
  nptl: Move pthreadP.h into sysdeps directory
  Add hidden prototypes for fsync, fdatasync
  Linux: Move aio_init from librt into libc
  Linux: Move aio_cancel, aio_cancel64 into libc
  Linux: Move aio_error, aio_error64 into libc
  Linux: Move aio_fsync, aio_fsync64 into libc
  Linux: Move aio_read, aio_read64 into libc
  Linux: Move aio_return, aio_return64 into libc
  Linux: Move aio_suspend, aio_suspend64, __aio_suspend_time64 to libc
  Linux: Move aio_write, aio_write64 into libc
  rt: Rework lio_listio implementation
  Linux: Move lio_listio, lio_listio64 from librt to libc
  Linux: Move mq_close from librt to libc
  Linux: Move mq_setattr from librt to libc
  Linux: Move mq_getattr from librt to libc
  Linux: Move mq_notify from librt to libc
  Linux: Move mq_open, __mq_open_2 from librt to libc
  Linux: Move mq_receive, mq_timedreceive, __mq_timedreceive_time64 to
    libc
  Linux: Move mq_send, mq_timedsend, __mq_timedsend_time64 to libc
  Linux: Move mq_unlink from librt to libc
  Linux: Move timer helper routines from librt to libc
  Linux: Define TIMER_T_WAS_INT_COMPAT in kernel-posix-timers.h
  Linux: Move timer_create, timer_delete from librt to libc
  Linux: Move timer_getoverrun from librt to libc
  Linux: Move timer_gettime, __timer_gettime64 from librt to libc
  Linux: Move timer_settime, __timer_settime64 from librt to libc
  Linux: Cleanups after librt move

 Makeconfig                                    |   2 +-
 elf/Makefile                                  |   4 +-
 include/aio.h                                 |   4 +
 include/mqueue.h                              |  27 +-
 include/pthread.h                             |   3 +
 include/time.h                                |  12 +-
 include/unistd.h                              |   2 +
 misc/fdatasync.c                              |   1 +
 misc/fsync.c                                  |   2 +-
 nptl/Makefile                                 |   9 -
 nptl/pthread_getschedparam.c                  |   1 +
 nptl_db/thread_dbP.h                          |   2 +-
 rt/Makefile                                   |  62 +-
 rt/Versions                                   | 165 +++-
 rt/aio_cancel.c                               | 143 +++-
 rt/aio_error.c                                |  27 +-
 rt/aio_fsync.c                                |  40 +-
 rt/aio_misc.c                                 | 722 +++++++++++++++++-
 rt/aio_notify.c                               | 149 +++-
 rt/aio_read.c                                 |  51 +-
 rt/aio_read64.c                               |  44 +-
 rt/aio_return.c                               |  15 +-
 rt/aio_sigqueue.c                             |   1 -
 rt/aio_suspend.c                              | 266 ++++++-
 rt/aio_write.c                                |  51 +-
 rt/aio_write64.c                              |  44 +-
 rt/librt-compat.c                             |  55 ++
 .../lio_listio.c => rt/lio_listio-common.c    |  78 +-
 rt/lio_listio.c                               |  31 +-
 rt/lio_listio64.c                             |  30 +-
 rt/shm_open.c                                 |  37 +-
 rt/shm_unlink.c                               |  29 +-
 rt/timer_create.c                             | 156 +++-
 rt/timer_delete.c                             |  58 +-
 rt/timer_getoverr.c                           |  33 +-
 rt/timer_gettime.c                            |  64 +-
 rt/timer_settime.c                            | 120 ++-
 sysdeps/generic/aio_misc.h                    |  85 ++-
 sysdeps/{pthread => htl}/timer_routines.c     |   0
 sysdeps/mach/hurd/fdatasync.c                 |   1 +
 sysdeps/mach/hurd/fsync.c                     |   1 +
 sysdeps/mach/hurd/i386/libc.abilist           |   4 +
 sysdeps/mach/hurd/i386/librt.abilist          |   2 -
 sysdeps/nptl/Makefile                         |   2 +-
 sysdeps/nptl/aio_misc.h                       |   6 +-
 sysdeps/nptl/dl-tls_init_tp.c                 |   2 +-
 sysdeps/nptl/fork.c                           |   7 +-
 sysdeps/nptl/gai_misc.h                       |   2 +-
 sysdeps/nptl/jmp-unwind.c                     |   2 +-
 sysdeps/nptl/libc-lockP.h                     |   2 +-
 sysdeps/nptl/libc_start_call_main.h           |   2 +-
 {nptl => sysdeps/nptl}/pthreadP.h             |   3 +-
 sysdeps/nptl/pthread_early_init.h             |   2 +-
 sysdeps/nptl/setxid.h                         |   2 +-
 sysdeps/posix/shm_open.c                      |  62 --
 sysdeps/posix/shm_unlink.c                    |  48 --
 sysdeps/posix/spawni.c                        |   2 +-
 sysdeps/pthread/Makefile                      |   2 +
 sysdeps/pthread/Versions                      |   5 -
 sysdeps/pthread/aio_cancel.c                  | 157 ----
 sysdeps/pthread/aio_error.c                   |  48 --
 sysdeps/pthread/aio_fsync.c                   |  57 --
 sysdeps/pthread/aio_misc.c                    | 721 -----------------
 sysdeps/pthread/aio_misc.h                    | 122 ---
 sysdeps/pthread/aio_notify.c                  | 157 ----
 sysdeps/pthread/aio_suspend.c                 | 263 -------
 sysdeps/pthread/lio_listio64.c                |  33 -
 sysdeps/pthread/timer_create.c                | 166 ----
 sysdeps/pthread/timer_delete.c                |  68 --
 sysdeps/pthread/timer_gettime.c               |  74 --
 sysdeps/pthread/timer_settime.c               | 131 ----
 sysdeps/unix/sysv/linux/Versions              |  34 +-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  70 ++
 sysdeps/unix/sysv/linux/aarch64/librt.abilist |  36 +-
 sysdeps/unix/sysv/linux/aio_misc.h            |  10 +-
 sysdeps/unix/sysv/linux/aio_sigqueue.c        |   2 +-
 sysdeps/unix/sysv/linux/alpha/Versions        |  18 +-
 sysdeps/unix/sysv/linux/alpha/aio_cancel.c    |  26 +-
 .../sysv/linux/alpha/kernel-posix-timers.h}   |  31 +-
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  79 ++
 .../sysv/linux/alpha/librt-compat.c}          |  20 +-
 sysdeps/unix/sysv/linux/alpha/librt.abilist   |  51 +-
 sysdeps/unix/sysv/linux/alpha/timer_create.c  |   1 -
 sysdeps/unix/sysv/linux/alpha/timer_delete.c  |   1 -
 .../unix/sysv/linux/alpha/timer_getoverr.c    |   1 -
 sysdeps/unix/sysv/linux/alpha/timer_gettime.c |   1 -
 sysdeps/unix/sysv/linux/alpha/timer_settime.c |   1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  70 ++
 sysdeps/unix/sysv/linux/arc/librt.abilist     |  36 +-
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  75 ++
 sysdeps/unix/sysv/linux/arm/be/librt.abilist  |  42 +-
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  75 ++
 sysdeps/unix/sysv/linux/arm/le/librt.abilist  |  42 +-
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  75 ++
 sysdeps/unix/sysv/linux/csky/librt.abilist    |  41 +-
 sysdeps/unix/sysv/linux/dl-execstack.c        |   2 +-
 sysdeps/unix/sysv/linux/fdatasync.c           |   1 +
 sysdeps/unix/sysv/linux/fsync.c               |   1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  77 ++
 sysdeps/unix/sysv/linux/hppa/librt.abilist    |  47 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  77 ++
 sysdeps/unix/sysv/linux/i386/librt.abilist    |  47 +-
 sysdeps/unix/sysv/linux/ia64/Versions         |   7 -
 .../kernel-posix-timers.h}                    |  26 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  77 ++
 sysdeps/unix/sysv/linux/ia64/librt.abilist    |  48 +-
 sysdeps/unix/sysv/linux/ia64/timer_create.c   |   1 -
 sysdeps/unix/sysv/linux/ia64/timer_delete.c   |   1 -
 sysdeps/unix/sysv/linux/ia64/timer_getoverr.c |   1 -
 sysdeps/unix/sysv/linux/ia64/timer_gettime.c  |   1 -
 sysdeps/unix/sysv/linux/ia64/timer_settime.c  |   1 -
 sysdeps/unix/sysv/linux/kernel-posix-timers.h |  31 +-
 .../sysv/linux/librt-compat.c}                |  22 +-
 .../sysv/linux/m68k/coldfire/libc.abilist     |  75 ++
 .../sysv/linux/m68k/coldfire/librt.abilist    |  42 +-
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  77 ++
 .../unix/sysv/linux/m68k/m680x0/librt.abilist |  47 +-
 .../sysv/linux/microblaze/be/libc.abilist     |  75 ++
 .../sysv/linux/microblaze/be/librt.abilist    |  41 +-
 .../sysv/linux/microblaze/le/libc.abilist     |  75 ++
 .../sysv/linux/microblaze/le/librt.abilist    |  41 +-
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  77 ++
 .../unix/sysv/linux/mips/mips32/librt.abilist |  46 +-
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  77 ++
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  77 ++
 .../sysv/linux/mips/mips64/n32/librt.abilist  |  46 +-
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  72 ++
 .../sysv/linux/mips/mips64/n64/librt.abilist  |  41 +-
 sysdeps/unix/sysv/linux/mq_close.c            |   7 +-
 sysdeps/unix/sysv/linux/mq_getattr.c          |   8 +-
 sysdeps/unix/sysv/linux/mq_notify.c           |  57 +-
 sysdeps/unix/sysv/linux/mq_open.c             |  12 +-
 sysdeps/unix/sysv/linux/mq_receive.c          |   9 +-
 sysdeps/unix/sysv/linux/mq_send.c             |   7 +-
 .../sysv/linux/mq_setattr.c}                  |  23 +-
 sysdeps/unix/sysv/linux/mq_timedreceive.c     |  38 +-
 sysdeps/unix/sysv/linux/mq_timedsend.c        |  38 +-
 sysdeps/unix/sysv/linux/mq_unlink.c           |   7 +-
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  75 ++
 sysdeps/unix/sysv/linux/nios2/librt.abilist   |  41 +-
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  77 ++
 .../linux/powerpc/powerpc32/librt.abilist     |  47 +-
 .../powerpc/powerpc32/nofpu/libc.abilist      |  77 ++
 .../sysv/linux/powerpc/powerpc64/Versions     |   8 -
 .../linux/powerpc/powerpc64/be/libc.abilist   |  77 ++
 .../linux/powerpc/powerpc64/be/librt.abilist  |  47 +-
 .../powerpc/powerpc64/kernel-posix-timers.h   |  22 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |  70 ++
 .../linux/powerpc/powerpc64/le/librt.abilist  |  36 +-
 .../linux/powerpc/powerpc64/timer_create.c    |   1 -
 .../linux/powerpc/powerpc64/timer_delete.c    |   1 -
 .../linux/powerpc/powerpc64/timer_getoverr.c  |   1 -
 .../linux/powerpc/powerpc64/timer_gettime.c   |   1 -
 .../linux/powerpc/powerpc64/timer_settime.c   |   1 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  70 ++
 .../unix/sysv/linux/riscv/rv32/librt.abilist  |  36 +-
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  70 ++
 .../unix/sysv/linux/riscv/rv64/librt.abilist  |  36 +-
 sysdeps/unix/sysv/linux/s390/jmp-unwind.c     |   2 +-
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  77 ++
 .../sysv/linux/s390/s390-32/librt.abilist     |  47 +-
 sysdeps/unix/sysv/linux/s390/s390-64/Versions |   8 -
 .../linux/s390/s390-64/kernel-posix-timers.h  |  22 +
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  77 ++
 .../sysv/linux/s390/s390-64/librt.abilist     |  47 +-
 .../sysv/linux/s390/s390-64/timer_create.c    |   1 -
 .../sysv/linux/s390/s390-64/timer_delete.c    |   1 -
 .../sysv/linux/s390/s390-64/timer_getoverr.c  |   1 -
 .../sysv/linux/s390/s390-64/timer_gettime.c   |   1 -
 .../sysv/linux/s390/s390-64/timer_settime.c   |   1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  77 ++
 sysdeps/unix/sysv/linux/sh/be/librt.abilist   |  47 +-
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  77 ++
 sysdeps/unix/sysv/linux/sh/le/librt.abilist   |  47 +-
 sysdeps/unix/sysv/linux/sigprocmask.c         |   2 +-
 sysdeps/unix/sysv/linux/sparc/Versions        |  11 +-
 sysdeps/unix/sysv/linux/sparc/aio_cancel.c    |  26 +-
 .../sysv/linux/sparc/librt-compat.c}          |  20 +-
 .../sysv/linux/sparc/sparc32/libc.abilist     |  79 ++
 .../sysv/linux/sparc/sparc32/librt.abilist    |  50 +-
 .../unix/sysv/linux/sparc/sparc64/Versions    |   8 -
 .../linux/sparc/sparc64/kernel-posix-timers.h |  22 +
 .../sysv/linux/sparc/sparc64/libc.abilist     |  79 ++
 .../sysv/linux/sparc/sparc64/librt.abilist    |  51 +-
 .../sysv/linux/sparc/sparc64/timer_create.c   |   1 -
 .../sysv/linux/sparc/sparc64/timer_delete.c   |   1 -
 .../sysv/linux/sparc/sparc64/timer_getoverr.c |   1 -
 .../sysv/linux/sparc/sparc64/timer_gettime.c  |   1 -
 .../sysv/linux/sparc/sparc64/timer_settime.c  |   1 -
 sysdeps/unix/sysv/linux/spawni.c              |   2 +-
 sysdeps/unix/sysv/linux/syscalls.list         |   2 -
 sysdeps/unix/sysv/linux/timer_create.c        |  80 +-
 sysdeps/unix/sysv/linux/timer_delete.c        |  54 +-
 sysdeps/unix/sysv/linux/timer_getoverr.c      |  34 +-
 sysdeps/unix/sysv/linux/timer_gettime.c       |  65 +-
 sysdeps/unix/sysv/linux/timer_routines.c      |  57 +-
 sysdeps/unix/sysv/linux/timer_settime.c       |  75 +-
 sysdeps/unix/sysv/linux/tls-internal.h        |   2 +-
 .../unix/sysv/linux/wordsize-64/aio_read.c    |   7 -
 .../unix/sysv/linux/wordsize-64/aio_read64.c  |   1 -
 .../unix/sysv/linux/wordsize-64/aio_write.c   |   7 -
 .../unix/sysv/linux/wordsize-64/aio_write64.c |   1 -
 .../unix/sysv/linux/wordsize-64/lio_listio.c  |  13 -
 .../sysv/linux/wordsize-64/lio_listio64.c     |   1 -
 sysdeps/unix/sysv/linux/x86/longjmp.c         |   2 +-
 .../linux/x86_64/64/kernel-posix-timers.h     |  22 +
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  77 ++
 .../unix/sysv/linux/x86_64/64/librt.abilist   |  47 +-
 sysdeps/unix/sysv/linux/x86_64/Versions       |   8 -
 sysdeps/unix/sysv/linux/x86_64/compat-timer.h |  45 --
 sysdeps/unix/sysv/linux/x86_64/timer_create.c |  65 --
 sysdeps/unix/sysv/linux/x86_64/timer_delete.c |  44 --
 .../unix/sysv/linux/x86_64/timer_gettime.c    |  41 -
 .../unix/sysv/linux/x86_64/timer_settime.c    |  44 --
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  70 ++
 .../unix/sysv/linux/x86_64/x32/librt.abilist  |  36 +-
 216 files changed, 5568 insertions(+), 4216 deletions(-)
 create mode 100644 rt/librt-compat.c
 rename sysdeps/pthread/lio_listio.c => rt/lio_listio-common.c (70%)
 rename sysdeps/{pthread => htl}/timer_routines.c (100%)
 rename {nptl => sysdeps/nptl}/pthreadP.h (99%)
 delete mode 100644 sysdeps/posix/shm_open.c
 delete mode 100644 sysdeps/posix/shm_unlink.c
 delete mode 100644 sysdeps/pthread/Versions
 delete mode 100644 sysdeps/pthread/aio_cancel.c
 delete mode 100644 sysdeps/pthread/aio_error.c
 delete mode 100644 sysdeps/pthread/aio_fsync.c
 delete mode 100644 sysdeps/pthread/aio_misc.c
 delete mode 100644 sysdeps/pthread/aio_misc.h
 delete mode 100644 sysdeps/pthread/aio_notify.c
 delete mode 100644 sysdeps/pthread/aio_suspend.c
 delete mode 100644 sysdeps/pthread/lio_listio64.c
 delete mode 100644 sysdeps/pthread/timer_create.c
 delete mode 100644 sysdeps/pthread/timer_delete.c
 delete mode 100644 sysdeps/pthread/timer_gettime.c
 delete mode 100644 sysdeps/pthread/timer_settime.c
 rename sysdeps/{pthread/timer_getoverr.c => unix/sysv/linux/alpha/kernel-posix-timers.h} (57%)
 rename sysdeps/{pthread/aio_read64.c => unix/sysv/linux/alpha/librt-compat.c} (67%)
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/timer_create.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/timer_delete.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/timer_gettime.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/timer_settime.c
 rename sysdeps/unix/sysv/linux/{x86_64/timer_getoverr.c => ia64/kernel-posix-timers.h} (54%)
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/timer_create.c
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/timer_delete.c
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/timer_getoverr.c
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/timer_gettime.c
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/timer_settime.c
 rename sysdeps/{pthread/aio_write.c => unix/sysv/linux/librt-compat.c} (63%)
 rename sysdeps/{pthread/aio_read.c => unix/sysv/linux/mq_setattr.c} (56%)
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel-posix-timers.h
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
 create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/kernel-posix-timers.h
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/timer_create.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/timer_delete.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/timer_getoverr.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/timer_gettime.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c
 rename sysdeps/{pthread/aio_write64.c => unix/sysv/linux/sparc/librt-compat.c} (67%)
 create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/kernel-posix-timers.h
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c
 create mode 100644 sysdeps/unix/sysv/linux/x86_64/64/kernel-posix-timers.h
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/compat-timer.h
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/timer_create.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/timer_delete.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/timer_settime.c

-- 
2.31.1



More information about the Libc-alpha mailing list