[0/3] Move libutil into libc

Message ID cover.1624275874.git.fweimer@redhat.com
Headers
Series Move libutil into libc |

Message

Florian Weimer June 21, 2021, 11:46 a.m. UTC
  There is no pthread dependency, so this move applies to both Linux and
Hurd.  Some preparations for PLT avoidance are needed.

The symbols are quite intertwined, so this is not split up into separate
commits.

On s390 (31-bit), some tweaks are needed due to the login@@GLIBC_2.9
symbol version.

Thanks,
Florian

Florian Weimer (3):
  login: Hidden prototypes for _getpt, __ptsname_r, grantpt, unlockpt
  login: Rework hidden prototypes for __setutent, __utmpname, __endutent
  login: Move libutil into libc

 include/pty.h                                 |  3 +-
 include/stdlib.h                              |  6 ++
 include/utmp.h                                | 14 +++--
 login/Makefile                                | 15 +++--
 login/Versions                                |  9 ++-
 login/forkpty.c                               | 29 +++++----
 login/getpt.c                                 |  1 +
 login/getutent_r.c                            |  2 +
 login/grantpt.c                               |  2 +-
 login/libutil-compat.c                        | 33 +++++++++++
 login/login.c                                 | 22 ++++---
 login/login_tty.c                             | 32 ++++++----
 login/logout.c                                | 19 ++++--
 login/logwtmp.c                               | 12 +++-
 login/openpty.c                               | 59 ++++++++++---------
 login/ptsname.c                               |  1 +
 login/utmpname.c                              |  1 +
 sysdeps/mach/hurd/i386/libc.abilist           | 12 ++++
 sysdeps/mach/hurd/i386/libutil.abilist        |  7 +--
 sysdeps/mach/hurd/ptsname.c                   |  1 +
 sysdeps/unix/bsd/getpt.c                      |  3 +-
 sysdeps/unix/bsd/unlockpt.c                   |  1 +
 sysdeps/unix/grantpt.c                        |  1 +
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  | 12 ++++
 .../unix/sysv/linux/aarch64/libutil.abilist   |  7 +--
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 12 ++++
 sysdeps/unix/sysv/linux/alpha/libutil.abilist |  7 +--
 sysdeps/unix/sysv/linux/arc/libc.abilist      | 12 ++++
 sysdeps/unix/sysv/linux/arc/libutil.abilist   |  7 +--
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   | 12 ++++
 .../unix/sysv/linux/arm/be/libutil.abilist    |  7 +--
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   | 12 ++++
 .../unix/sysv/linux/arm/le/libutil.abilist    |  7 +--
 sysdeps/unix/sysv/linux/csky/libc.abilist     | 12 ++++
 sysdeps/unix/sysv/linux/csky/libutil.abilist  |  7 +--
 sysdeps/unix/sysv/linux/getpt.c               |  2 +
 sysdeps/unix/sysv/linux/grantpt.c             |  1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     | 12 ++++
 sysdeps/unix/sysv/linux/hppa/libutil.abilist  |  7 +--
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 12 ++++
 sysdeps/unix/sysv/linux/i386/libutil.abilist  |  7 +--
 sysdeps/unix/sysv/linux/ia64/libc.abilist     | 12 ++++
 sysdeps/unix/sysv/linux/ia64/libutil.abilist  |  7 +--
 .../sysv/linux/m68k/coldfire/libc.abilist     | 12 ++++
 .../sysv/linux/m68k/coldfire/libutil.abilist  |  7 +--
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 12 ++++
 .../sysv/linux/m68k/m680x0/libutil.abilist    |  7 +--
 .../sysv/linux/microblaze/be/libc.abilist     | 12 ++++
 .../sysv/linux/microblaze/be/libutil.abilist  |  7 +--
 .../sysv/linux/microblaze/le/libc.abilist     | 12 ++++
 .../sysv/linux/microblaze/le/libutil.abilist  |  7 +--
 .../sysv/linux/mips/mips32/fpu/libc.abilist   | 12 ++++
 .../sysv/linux/mips/mips32/libutil.abilist    |  7 +--
 .../sysv/linux/mips/mips32/nofpu/libc.abilist | 12 ++++
 .../sysv/linux/mips/mips64/libutil.abilist    |  7 +--
 .../sysv/linux/mips/mips64/n32/libc.abilist   | 12 ++++
 .../sysv/linux/mips/mips64/n64/libc.abilist   | 12 ++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    | 12 ++++
 sysdeps/unix/sysv/linux/nios2/libutil.abilist |  7 +--
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 12 ++++
 .../linux/powerpc/powerpc32/libutil.abilist   |  7 +--
 .../powerpc/powerpc32/nofpu/libc.abilist      | 12 ++++
 .../linux/powerpc/powerpc64/be/libc.abilist   | 12 ++++
 .../powerpc/powerpc64/be/libutil.abilist      |  7 +--
 .../linux/powerpc/powerpc64/le/libc.abilist   | 12 ++++
 .../powerpc/powerpc64/le/libutil.abilist      |  7 +--
 sysdeps/unix/sysv/linux/ptsname.c             |  1 +
 .../unix/sysv/linux/riscv/rv32/libc.abilist   | 12 ++++
 .../sysv/linux/riscv/rv32/libutil.abilist     |  7 +--
 .../unix/sysv/linux/riscv/rv64/libc.abilist   | 12 ++++
 .../sysv/linux/riscv/rv64/libutil.abilist     |  7 +--
 sysdeps/unix/sysv/linux/s390/s390-32/Makefile |  3 +-
 sysdeps/unix/sysv/linux/s390/s390-32/Versions |  3 +-
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 13 ++++
 .../sysv/linux/s390/s390-32/libutil-compat.c  | 23 ++++++++
 .../sysv/linux/s390/s390-32/libutil.abilist   |  9 +--
 sysdeps/unix/sysv/linux/s390/s390-32/login.c  | 11 ++--
 .../unix/sysv/linux/s390/s390-32/login32.c    | 12 ++--
 .../unix/sysv/linux/s390/s390-64/libc.abilist | 12 ++++
 .../sysv/linux/s390/s390-64/libutil.abilist   |  7 +--
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    | 12 ++++
 sysdeps/unix/sysv/linux/sh/be/libutil.abilist |  7 +--
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    | 12 ++++
 sysdeps/unix/sysv/linux/sh/le/libutil.abilist |  7 +--
 .../sysv/linux/sparc/sparc32/libc.abilist     | 12 ++++
 .../sysv/linux/sparc/sparc32/libutil.abilist  |  7 +--
 .../sysv/linux/sparc/sparc64/libc.abilist     | 12 ++++
 .../sysv/linux/sparc/sparc64/libutil.abilist  |  7 +--
 sysdeps/unix/sysv/linux/unlockpt.c            |  1 +
 .../unix/sysv/linux/x86_64/64/libc.abilist    | 12 ++++
 .../unix/sysv/linux/x86_64/64/libutil.abilist |  7 +--
 .../unix/sysv/linux/x86_64/x32/libc.abilist   | 12 ++++
 .../sysv/linux/x86_64/x32/libutil.abilist     |  7 +--
 93 files changed, 658 insertions(+), 274 deletions(-)
 create mode 100644 login/libutil-compat.c
 create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/libutil-compat.c