aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/pty.h3
-rw-r--r--include/utmp.h5
-rw-r--r--login/Makefile15
-rw-r--r--login/Versions19
-rw-r--r--login/forkpty.c29
-rw-r--r--login/libutil-compat.c33
-rw-r--r--login/login.c22
-rw-r--r--login/login_tty.c32
-rw-r--r--login/logout.c19
-rw-r--r--login/logwtmp.c12
-rw-r--r--login/openpty.c59
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist12
-rw-r--r--sysdeps/mach/hurd/i386/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/arc/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/csky/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/i386/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/Makefile3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/Versions3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist13
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libutil-compat.c23
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/login.c11
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/login32.c12
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist7
79 files changed, 640 insertions, 269 deletions
diff --git a/include/pty.h b/include/pty.h
index 4979bb765f..93335fe3b6 100644
--- a/include/pty.h
+++ b/include/pty.h
@@ -3,7 +3,8 @@
# ifndef _ISOMAC
-libutil_hidden_proto (openpty)
+libc_hidden_proto (forkpty)
+libc_hidden_proto (openpty)
# endif /* !_ISOMAC */
#endif
diff --git a/include/utmp.h b/include/utmp.h
index e8162bd08d..b7921e5fb8 100644
--- a/include/utmp.h
+++ b/include/utmp.h
@@ -29,7 +29,10 @@ extern int __getutline_r (const struct utmp *__line,
struct utmp *__buffer, struct utmp **__result);
libc_hidden_proto (__getutline_r)
-libutil_hidden_proto (login_tty)
+libc_hidden_proto (login)
+libc_hidden_proto (login_tty)
+libc_hidden_proto (logout)
+libc_hidden_proto (logwtmp)
# endif /* !_ISOMAC */
#endif
diff --git a/login/Makefile b/login/Makefile
index bc72e6e5b4..4e6b97734d 100644
--- a/login/Makefile
+++ b/login/Makefile
@@ -28,7 +28,7 @@ headers := utmp.h bits/utmp.h lastlog.h pty.h
routines := getlogin getlogin_r setlogin getlogin_r_chk \
getutent getutent_r getutid getutline getutid_r getutline_r \
utmp_file utmpname updwtmp getpt grantpt unlockpt ptsname \
- ptsname_r_chk
+ ptsname_r_chk login login_tty logout logwtmp openpty forkpty
CFLAGS-grantpt.c += -DLIBEXECDIR='"$(libexecdir)"'
@@ -46,11 +46,18 @@ vpath %.c programs
tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname tst-getlogin tst-updwtmpx \
tst-pututxline-lockfail tst-pututxline-cache
-# Build the -lutil library with these extra functions.
+ifeq ($(have-GLIBC_2.33),yes)
+# Empty compatibility library for old binaries.
extra-libs := libutil
extra-libs-others := $(extra-libs)
-
-libutil-routines:= login login_tty logout logwtmp openpty forkpty
+libutil-routines := libutil-compat
+libutil-shared-only-routines := libutil-compat
+
+# Pretend that libutil.so is a linker script, so that the symbolic
+# link is not installed.
+install-lib-ldscripts = libutil.so
+$(inst_libdir)/libutil.so:
+endif # $(have-GLIBC_2.33)
include ../Rules
diff --git a/login/Versions b/login/Versions
index 475fcf063f..b1ccf86f4d 100644
--- a/login/Versions
+++ b/login/Versions
@@ -16,6 +16,14 @@ libc {
# u*
updwtmp; utmpname;
+
+ # Symbols formerly in libutil.
+ forkpty;
+ login;
+ login_tty;
+ logout;
+ logwtmp;
+ openpty;
}
GLIBC_2.1 {
# e*
@@ -45,10 +53,19 @@ libc {
__getlogin_r_chk;
__ptsname_r_chk;
}
+ GLIBC_2.34 {
+ # Symbols formerly in libutil.
+ forkpty;
+ login;
+ login_tty;
+ logout;
+ logwtmp;
+ openpty;
+ }
}
libutil {
GLIBC_2.0 {
- forkpty; login; login_tty; logout; logwtmp; openpty;
+ __libutil_version_placeholder;
}
}
diff --git a/login/forkpty.c b/login/forkpty.c
index 1e91bd8198..79f9846ac4 100644
--- a/login/forkpty.c
+++ b/login/forkpty.c
@@ -21,34 +21,41 @@
#include <unistd.h>
#include <utmp.h>
#include <pty.h>
+#include <shlib-compat.h>
int
-forkpty (int *amaster, char *name, const struct termios *termp,
- const struct winsize *winp)
+__forkpty (int *pptmx, char *name, const struct termios *termp,
+ const struct winsize *winp)
{
- int master, slave, pid;
+ int ptmx, terminal, pid;
- if (openpty (&master, &slave, name, termp, winp) == -1)
+ if (openpty (&ptmx, &terminal, name, termp, winp) == -1)
return -1;
- switch (pid = fork ())
+ switch (pid = __fork ())
{
case -1:
- close (master);
- close (slave);
+ __close (ptmx);
+ __close (terminal);
return -1;
case 0:
/* Child. */
- close (master);
- if (login_tty (slave))
+ __close (ptmx);
+ if (login_tty (terminal))
_exit (1);
return 0;
default:
/* Parent. */
- *amaster = master;
- close (slave);
+ *pptmx = ptmx;
+ __close (terminal);
return pid;
}
}
+versioned_symbol (libc, __forkpty, forkpty, GLIBC_2_34);
+libc_hidden_ver (__forkpty, forkpty)
+
+#if OTHER_SHLIB_COMPAT (libutil, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libutil, __forkpty, forkpty, GLIBC_2_0);
+#endif
diff --git a/login/libutil-compat.c b/login/libutil-compat.c
new file mode 100644
index 0000000000..249512a22e
--- /dev/null
+++ b/login/libutil-compat.c
@@ -0,0 +1,33 @@
+/* Placeholder compatibility symbols for libutil.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <shlib-compat.h>
+#include <sys/cdefs.h>
+
+/* This file is used to keep specific symbol versions occupied, so
+ that ld does not generate weak symbol version definitions. */
+
+void
+attribute_compat_text_section
+__attribute_used__
+__libutil_version_placeholder_1 (void)
+{
+}
+
+compat_symbol (libutil, __libutil_version_placeholder_1,
+ __libutil_version_placeholder, GLIBC_2_0);
diff --git a/login/login.c b/login/login.c
index d280c13f1f..c95b98416a 100644
--- a/login/login.c
+++ b/login/login.c
@@ -23,7 +23,7 @@
#include <unistd.h>
#include <stdlib.h>
#include <utmp.h>
-
+#include <shlib-compat.h>
/* Return the result of ttyname in the buffer pointed to by TTY, which should
be of length BUF_LEN. If it is too long to fit in this buffer, a
@@ -41,7 +41,7 @@ tty_name (int fd, char **tty, size_t buf_len)
if (buf_len)
{
- rv = ttyname_r (fd, buf, buf_len);
+ rv = __ttyname_r (fd, buf, buf_len);
if (rv != 0 || memchr (buf, '\0', buf_len))
/* We either got an error, or we succeeded and the
@@ -78,7 +78,7 @@ tty_name (int fd, char **tty, size_t buf_len)
}
void
-login (const struct utmp *ut)
+__login (const struct utmp *ut)
{
#ifdef PATH_MAX
char _tty[PATH_MAX + UT_LINESIZE];
@@ -114,16 +114,16 @@ login (const struct utmp *ut)
strncpy (copy.ut_line, ttyp, UT_LINESIZE);
/* Tell that we want to use the UTMP file. */
- if (utmpname (_PATH_UTMP) == 0)
+ if (__utmpname (_PATH_UTMP) == 0)
{
/* Open UTMP file. */
- setutent ();
+ __setutent ();
/* Write the entry. */
- pututline (&copy);
+ __pututline (&copy);
/* Close UTMP file. */
- endutent ();
+ __endutent ();
}
if (tty != _tty)
@@ -135,5 +135,11 @@ login (const struct utmp *ut)
strncpy (copy.ut_line, "???", UT_LINESIZE);
/* Update the WTMP file. Here we have to add a new entry. */
- updwtmp (_PATH_WTMP, &copy);
+ __updwtmp (_PATH_WTMP, &copy);
}
+versioned_symbol (libc, __login, login, GLIBC_2_34);
+libc_hidden_ver (__login, login)
+
+#if OTHER_SHLIB_COMPAT (libutil, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libutil, __login, login, GLIBC_2_0);
+#endif
diff --git a/login/login_tty.c b/login/login_tty.c
index a94f5cb861..a85b388482 100644
--- a/login/login_tty.c
+++ b/login/login_tty.c
@@ -37,13 +37,14 @@ static char sccsid[] = "@(#)login_tty.c 8.1 (Berkeley) 6/4/93";
#include <unistd.h>
#include <fcntl.h>
#include <utmp.h>
+#include <shlib-compat.h>
int
-login_tty (int fd)
+__login_tty (int fd)
{
- (void) setsid();
+ __setsid();
#ifdef TIOCSCTTY
- if (ioctl(fd, TIOCSCTTY, (char *)NULL) == -1)
+ if (__ioctl(fd, TIOCSCTTY, NULL) == -1)
return (-1);
#else
{
@@ -53,24 +54,29 @@ login_tty (int fd)
if (fdname)
{
if (fd != 0)
- (void) close (0);
+ _close (0);
if (fd != 1)
- (void) close (1);
+ __close (1);
if (fd != 2)
- (void) close (2);
- newfd = open (fdname, O_RDWR);
- (void) close (newfd);
+ __close (2);
+ newfd = __open64 (fdname, O_RDWR);
+ __close (newfd);
}
}
#endif
- while (dup2(fd, 0) == -1 && errno == EBUSY)
+ while (__dup2(fd, 0) == -1 && errno == EBUSY)
;
- while (dup2(fd, 1) == -1 && errno == EBUSY)
+ while (__dup2(fd, 1) == -1 && errno == EBUSY)
;
- while (dup2(fd, 2) == -1 && errno == EBUSY)
+ while (__dup2(fd, 2) == -1 && errno == EBUSY)
;
if (fd > 2)
- (void) close(fd);
+ __close(fd);
return (0);
}
-libutil_hidden_def (login_tty)
+versioned_symbol (libc, __login_tty, login_tty, GLIBC_2_34);
+libc_hidden_ver (__login_tty, login_tty)
+
+#if OTHER_SHLIB_COMPAT (libutil, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libutil, __login_tty, login_tty, GLIBC_2_0);
+#endif
diff --git a/login/logout.c b/login/logout.c
index 3def97fc83..bf78e0915e 100644
--- a/login/logout.c
+++ b/login/logout.c
@@ -21,27 +21,28 @@
#include <utmp.h>
#include <time.h>
#include <sys/time.h>
+#include <shlib-compat.h>
int
-logout (const char *line)
+__logout (const char *line)
{
struct utmp tmp, utbuf;
struct utmp *ut;
int result = 0;
/* Tell that we want to use the UTMP file. */
- if (utmpname (_PATH_UTMP) == -1)
+ if (__utmpname (_PATH_UTMP) == -1)
return 0;
/* Open UTMP file. */
- setutent ();
+ __setutent ();
/* Fill in search information. */
tmp.ut_type = USER_PROCESS;
strncpy (tmp.ut_line, line, sizeof tmp.ut_line);
/* Read the record. */
- if (getutline_r (&tmp, &utbuf, &ut) >= 0)
+ if (__getutline_r (&tmp, &utbuf, &ut) >= 0)
{
/* Clear information about who & from where. */
memset (ut->ut_name, '\0', sizeof ut->ut_name);
@@ -52,12 +53,18 @@ logout (const char *line)
TIMESPEC_TO_TIMEVAL (&ut->ut_tv, &ts);
ut->ut_type = DEAD_PROCESS;
- if (pututline (ut) != NULL)
+ if (__pututline (ut) != NULL)
result = 1;
}
/* Close UTMP file. */
- endutent ();
+ __endutent ();
return result;
}
+versioned_symbol (libc, __logout, logout, GLIBC_2_34);
+libc_hidden_ver (__logout, logout)
+
+#if OTHER_SHLIB_COMPAT (libutil, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libutil, __logout, logout, GLIBC_2_0);
+#endif
diff --git a/login/logwtmp.c b/login/logwtmp.c
index 1a7c46e9c0..8f3e8faed5 100644
--- a/login/logwtmp.c
+++ b/login/logwtmp.c
@@ -22,10 +22,10 @@
#include <unistd.h>
#include <utmp.h>
#include <struct___timespec64.h>
-
+#include <shlib-compat.h>
void
-logwtmp (const char *line, const char *name, const char *host)
+__logwtmp (const char *line, const char *name, const char *host)
{
struct utmp ut;
@@ -41,5 +41,11 @@ logwtmp (const char *line, const char *name, const char *host)
__clock_gettime64 (CLOCK_REALTIME, &ts);
TIMESPEC_TO_TIMEVAL (&ut.ut_tv, &ts);
- updwtmp (_PATH_WTMP, &ut);
+ __updwtmp (_PATH_WTMP, &ut);
}
+versioned_symbol (libc, __logwtmp, logwtmp, GLIBC_2_34);
+libc_hidden_ver (__logwtmp, logwtmp)
+
+#if OTHER_SHLIB_COMPAT (libutil, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libutil, __logwtmp, logwtmp, GLIBC_2_0);
+#endif
diff --git a/login/openpty.c b/login/openpty.c
index 22845b64f5..15277573ec 100644
--- a/login/openpty.c
+++ b/login/openpty.c
@@ -25,7 +25,7 @@
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
-
+#include <shlib-compat.h>
/* Return the result of ptsname_r in the buffer pointed to by PTS,
which should be of length BUF_LEN. If it is too long to fit in
@@ -43,7 +43,7 @@ pts_name (int fd, char **pts, size_t buf_len)
if (buf_len)
{
- rv = ptsname_r (fd, buf, buf_len);
+ rv = __ptsname_r (fd, buf, buf_len);
if (rv != 0 || memchr (buf, '\0', buf_len))
/* We either got an error, or we succeeded and the
@@ -79,12 +79,12 @@ pts_name (int fd, char **pts, size_t buf_len)
return rv;
}
-/* Create pseudo tty master slave pair and set terminal attributes
+/* Create pseudo tty multiplexer/terminal pair and set terminal attributes
according to TERMP and WINP. Return handles for both ends in
- AMASTER and ASLAVE, and return the name of the slave end in NAME. */
+ *PPTMX and *PTERMINAL, and return the name of the terminal end in NAME. */
int
-openpty (int *amaster, int *aslave, char *name,
- const struct termios *termp, const struct winsize *winp)
+__openpty (int *pptmx, int *pterminal, char *name,
+ const struct termios *termp, const struct winsize *winp)
{
#ifdef PATH_MAX
char _buf[PATH_MAX];
@@ -92,51 +92,51 @@ openpty (int *amaster, int *aslave, char *name,
char _buf[512];
#endif
char *buf = _buf;
- int master, ret = -1, slave = -1;
+ int ptmx, ret = -1, terminal = -1;
*buf = '\0';
- master = getpt ();
- if (master == -1)
+ ptmx = __getpt ();
+ if (ptmx == -1)
return -1;
- if (grantpt (master))
+ if (grantpt (ptmx))
goto on_error;
- if (unlockpt (master))
+ if (unlockpt (ptmx))
goto on_error;
#ifdef TIOCGPTPEER
- /* Try to allocate slave fd solely based on master fd first. */
- slave = ioctl (master, TIOCGPTPEER, O_RDWR | O_NOCTTY);
+ /* Try to allocate terminal fd solely based on PTMX fd first. */
+ terminal = __ioctl (ptmx, TIOCGPTPEER, O_RDWR | O_NOCTTY);
#endif
- if (slave == -1)
+ if (terminal == -1)
{
- /* Fallback to path-based slave fd allocation in case kernel doesn't
+ /* Fallback to path-based terminal fd allocation in case kernel doesn't
* support TIOCGPTPEER.
*/
- if (pts_name (master, &buf, sizeof (_buf)))
+ if (pts_name (ptmx, &buf, sizeof (_buf)))
goto on_error;
- slave = open (buf, O_RDWR | O_NOCTTY);
- if (slave == -1)
+ terminal = __open64 (buf, O_RDWR | O_NOCTTY);
+ if (terminal == -1)
goto on_error;
}
/* XXX Should we ignore errors here? */
if (termp)
- tcsetattr (slave, TCSAFLUSH, termp);
+ tcsetattr (terminal, TCSAFLUSH, termp);
#ifdef TIOCSWINSZ
if (winp)
- ioctl (slave, TIOCSWINSZ, winp);
+ __ioctl (terminal, TIOCSWINSZ, winp);
#endif
- *amaster = master;
- *aslave = slave;
+ *pptmx = ptmx;
+ *pterminal = terminal;
if (name != NULL)
{
if (*buf == '\0')
- if (pts_name (master, &buf, sizeof (_buf)))
+ if (pts_name (ptmx, &buf, sizeof (_buf)))
goto on_error;
strcpy (name, buf);
@@ -146,10 +146,10 @@ openpty (int *amaster, int *aslave, char *name,
on_error:
if (ret == -1) {
- close (master);
+ __close (ptmx);
- if (slave != -1)
- close (slave);
+ if (terminal != -1)
+ __close (terminal);
}
if (buf != _buf)
@@ -157,4 +157,9 @@ openpty (int *amaster, int *aslave, char *name,
return ret;
}
-libutil_hidden_def (openpty)
+versioned_symbol (libc, __openpty, openpty, GLIBC_2_34);
+libc_hidden_ver (__openpty, openpty)
+
+#if OTHER_SHLIB_COMPAT (libutil, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libutil, __openpty, openpty, GLIBC_2_0);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 120131a768..fcfe64f26b 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -863,6 +863,7 @@ GLIBC_2.2.6 fopen64 F
GLIBC_2.2.6 fopencookie F
GLIBC_2.2.6 fopenport F
GLIBC_2.2.6 fork F
+GLIBC_2.2.6 forkpty F
GLIBC_2.2.6 fpathconf F
GLIBC_2.2.6 fprintf F
GLIBC_2.2.6 fputc F
@@ -1215,6 +1216,10 @@ GLIBC_2.2.6 localtime_r F
GLIBC_2.2.6 lockf F
GLIBC_2.2.6 lockf64 F
GLIBC_2.2.6 locs D 0x4
+GLIBC_2.2.6 login F
+GLIBC_2.2.6 login_tty F
+GLIBC_2.2.6 logout F
+GLIBC_2.2.6 logwtmp F
GLIBC_2.2.6 longjmp F
GLIBC_2.2.6 lrand48 F
GLIBC_2.2.6 lrand48_r F
@@ -1337,6 +1342,7 @@ GLIBC_2.2.6 open_memstream F
GLIBC_2.2.6 opendir F
GLIBC_2.2.6 openlog F
GLIBC_2.2.6 openport F
+GLIBC_2.2.6 openpty F
GLIBC_2.2.6 optarg D 0x4
GLIBC_2.2.6 opterr D 0x4
GLIBC_2.2.6 optind D 0x4
@@ -2229,6 +2235,12 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
+GLIBC_2.34 openpty F
GLIBC_2.34 shm_open F
GLIBC_2.34 shm_unlink F
GLIBC_2.34 timespec_getres F
diff --git a/sysdeps/mach/hurd/i386/libutil.abilist b/sysdeps/mach/hurd/i386/libutil.abilist
index 1dd59e0afb..0196d40e56 100644
--- a/sysdeps/mach/hurd/i386/libutil.abilist
+++ b/sysdeps/mach/hurd/i386/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.2.6 forkpty F
-GLIBC_2.2.6 login F
-GLIBC_2.2.6 login_tty F
-GLIBC_2.2.6 logout F
-GLIBC_2.2.6 logwtmp F
-GLIBC_2.2.6 openpty F
+GLIBC_2.2.6 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 4736a5966f..ea7fdabc5a 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -878,6 +878,7 @@ GLIBC_2.17 fopen F
GLIBC_2.17 fopen64 F
GLIBC_2.17 fopencookie F
GLIBC_2.17 fork F
+GLIBC_2.17 forkpty F
GLIBC_2.17 fpathconf F
GLIBC_2.17 fprintf F
GLIBC_2.17 fputc F
@@ -1285,6 +1286,10 @@ GLIBC_2.17 localtime_r F
GLIBC_2.17 lockf F
GLIBC_2.17 lockf64 F
GLIBC_2.17 locs D 0x8
+GLIBC_2.17 login F
+GLIBC_2.17 login_tty F
+GLIBC_2.17 logout F
+GLIBC_2.17 logwtmp F
GLIBC_2.17 longjmp F
GLIBC_2.17 lrand48 F
GLIBC_2.17 lrand48_r F
@@ -1415,6 +1420,7 @@ GLIBC_2.17 openat F
GLIBC_2.17 openat64 F
GLIBC_2.17 opendir F
GLIBC_2.17 openlog F
+GLIBC_2.17 openpty F
GLIBC_2.17 optarg D 0x8
GLIBC_2.17 opterr D 0x4
GLIBC_2.17 optind D 0x4
@@ -2415,8 +2421,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2433,6 +2444,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libutil.abilist b/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
index 99889de22e..3a2da66d2c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.17 forkpty F
-GLIBC_2.17 login F
-GLIBC_2.17 login_tty F
-GLIBC_2.17 logout F
-GLIBC_2.17 logwtmp F
-GLIBC_2.17 openpty F
+GLIBC_2.17 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 89257e39c1..8b1adc918b 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -507,6 +507,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -771,6 +772,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x8
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -851,6 +856,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x8
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2514,8 +2520,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2532,6 +2543,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/alpha/libutil.abilist b/sysdeps/unix/sysv/linux/alpha/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/alpha/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index e1eef24877..740f39add4 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -822,6 +822,7 @@ GLIBC_2.32 fopen F
GLIBC_2.32 fopen64 F
GLIBC_2.32 fopencookie F
GLIBC_2.32 fork F
+GLIBC_2.32 forkpty F
GLIBC_2.32 fpathconf F
GLIBC_2.32 fprintf F
GLIBC_2.32 fputc F
@@ -1216,6 +1217,10 @@ GLIBC_2.32 localtime F
GLIBC_2.32 localtime_r F
GLIBC_2.32 lockf F
GLIBC_2.32 lockf64 F
+GLIBC_2.32 login F
+GLIBC_2.32 login_tty F
+GLIBC_2.32 logout F
+GLIBC_2.32 logwtmp F
GLIBC_2.32 longjmp F
GLIBC_2.32 lrand48 F
GLIBC_2.32 lrand48_r F
@@ -1349,6 +1354,7 @@ GLIBC_2.32 openat F
GLIBC_2.32 openat64 F
GLIBC_2.32 opendir F
GLIBC_2.32 openlog F
+GLIBC_2.32 openpty F
GLIBC_2.32 optarg D 0x4
GLIBC_2.32 opterr D 0x4
GLIBC_2.32 optind D 0x4
@@ -2174,8 +2180,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2192,6 +2203,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/libutil.abilist
index 61f73bc34e..70c9ed96e5 100644
--- a/sysdeps/unix/sysv/linux/arc/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.32 forkpty F
-GLIBC_2.32 login F
-GLIBC_2.32 login_tty F
-GLIBC_2.32 logout F
-GLIBC_2.32 logwtmp F
-GLIBC_2.32 openpty F
+GLIBC_2.32 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 19d609e058..6f41d2c0fa 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -317,8 +317,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -335,6 +340,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
@@ -1290,6 +1296,7 @@ GLIBC_2.4 fopen F
GLIBC_2.4 fopen64 F
GLIBC_2.4 fopencookie F
GLIBC_2.4 fork F
+GLIBC_2.4 forkpty F
GLIBC_2.4 fpathconf F
GLIBC_2.4 fprintf F
GLIBC_2.4 fputc F
@@ -1682,6 +1689,10 @@ GLIBC_2.4 localtime_r F
GLIBC_2.4 lockf F
GLIBC_2.4 lockf64 F
GLIBC_2.4 locs D 0x4
+GLIBC_2.4 login F
+GLIBC_2.4 login_tty F
+GLIBC_2.4 logout F
+GLIBC_2.4 logwtmp F
GLIBC_2.4 longjmp F
GLIBC_2.4 lrand48 F
GLIBC_2.4 lrand48_r F
@@ -1801,6 +1812,7 @@ GLIBC_2.4 openat F
GLIBC_2.4 openat64 F
GLIBC_2.4 opendir F
GLIBC_2.4 openlog F
+GLIBC_2.4 openpty F
GLIBC_2.4 optarg D 0x4
GLIBC_2.4 opterr D 0x4
GLIBC_2.4 optind D 0x4
diff --git a/sysdeps/unix/sysv/linux/arm/be/libutil.abilist b/sysdeps/unix/sysv/linux/arm/be/libutil.abilist
index cc1420e68c..3e4c25229d 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.4 forkpty F
-GLIBC_2.4 login F
-GLIBC_2.4 login_tty F
-GLIBC_2.4 logout F
-GLIBC_2.4 logwtmp F
-GLIBC_2.4 openpty F
+GLIBC_2.4 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 371274917a..695f809fce 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -314,8 +314,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -332,6 +337,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
@@ -1287,6 +1293,7 @@ GLIBC_2.4 fopen F
GLIBC_2.4 fopen64 F
GLIBC_2.4 fopencookie F
GLIBC_2.4 fork F
+GLIBC_2.4 forkpty F
GLIBC_2.4 fpathconf F
GLIBC_2.4 fprintf F
GLIBC_2.4 fputc F
@@ -1679,6 +1686,10 @@ GLIBC_2.4 localtime_r F
GLIBC_2.4 lockf F
GLIBC_2.4 lockf64 F
GLIBC_2.4 locs D 0x4
+GLIBC_2.4 login F
+GLIBC_2.4 login_tty F
+GLIBC_2.4 logout F
+GLIBC_2.4 logwtmp F
GLIBC_2.4 longjmp F
GLIBC_2.4 lrand48 F
GLIBC_2.4 lrand48_r F
@@ -1798,6 +1809,7 @@ GLIBC_2.4 openat F
GLIBC_2.4 openat64 F
GLIBC_2.4 opendir F
GLIBC_2.4 openlog F
+GLIBC_2.4 openpty F
GLIBC_2.4 optarg D 0x4
GLIBC_2.4 opterr D 0x4
GLIBC_2.4 optind D 0x4
diff --git a/sysdeps/unix/sysv/linux/arm/le/libutil.abilist b/sysdeps/unix/sysv/linux/arm/le/libutil.abilist
index cc1420e68c..3e4c25229d 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.4 forkpty F
-GLIBC_2.4 login F
-GLIBC_2.4 login_tty F
-GLIBC_2.4 logout F
-GLIBC_2.4 logwtmp F
-GLIBC_2.4 openpty F
+GLIBC_2.4 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index ee2ffbabc4..cc017b487f 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -861,6 +861,7 @@ GLIBC_2.29 fopen F
GLIBC_2.29 fopen64 F
GLIBC_2.29 fopencookie F
GLIBC_2.29 fork F
+GLIBC_2.29 forkpty F
GLIBC_2.29 fpathconf F
GLIBC_2.29 fprintf F
GLIBC_2.29 fputc F
@@ -1271,6 +1272,10 @@ GLIBC_2.29 localtime F
GLIBC_2.29 localtime_r F
GLIBC_2.29 lockf F
GLIBC_2.29 lockf64 F
+GLIBC_2.29 login F
+GLIBC_2.29 login_tty F
+GLIBC_2.29 logout F
+GLIBC_2.29 logwtmp F
GLIBC_2.29 longjmp F
GLIBC_2.29 lrand48 F
GLIBC_2.29 lrand48_r F
@@ -1406,6 +1411,7 @@ GLIBC_2.29 openat F
GLIBC_2.29 openat64 F
GLIBC_2.29 opendir F
GLIBC_2.29 openlog F
+GLIBC_2.29 openpty F
GLIBC_2.29 optarg D 0x4
GLIBC_2.29 opterr D 0x4
GLIBC_2.29 optind D 0x4
@@ -2439,8 +2445,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2457,6 +2468,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/csky/libutil.abilist b/sysdeps/unix/sysv/linux/csky/libutil.abilist
index cbd11999a4..6b49490071 100644
--- a/sysdeps/unix/sysv/linux/csky/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.29 forkpty F
-GLIBC_2.29 login F
-GLIBC_2.29 login_tty F
-GLIBC_2.29 logout F
-GLIBC_2.29 logwtmp F
-GLIBC_2.29 openpty F
+GLIBC_2.29 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index c6d4d2478e..b6b087d6ac 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -3,6 +3,12 @@ GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.0 forkpty F
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
+GLIBC_2.0 openpty F
GLIBC_2.1 aio_cancel F
GLIBC_2.1 aio_cancel64 F
GLIBC_2.1 aio_error F
@@ -2392,8 +2398,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2410,6 +2421,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/hppa/libutil.abilist b/sysdeps/unix/sysv/linux/hppa/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/hppa/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index f4e3082784..40f740253b 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -493,6 +493,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -753,6 +754,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -833,6 +838,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2576,8 +2582,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2594,6 +2605,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/i386/libutil.abilist b/sysdeps/unix/sysv/linux/i386/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/i386/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 8c13d88052..157f244ea0 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -3,6 +3,12 @@ GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.0 forkpty F
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
+GLIBC_2.0 openpty F
GLIBC_2.1 aio_cancel F
GLIBC_2.1 aio_cancel64 F
GLIBC_2.1 aio_error F
@@ -2352,8 +2358,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2370,6 +2381,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/ia64/libutil.abilist b/sysdeps/unix/sysv/linux/ia64/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/ia64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 43a692714f..bbc40bb608 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -318,8 +318,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -336,6 +341,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
@@ -1279,6 +1285,7 @@ GLIBC_2.4 fopen F
GLIBC_2.4 fopen64 F
GLIBC_2.4 fopencookie F
GLIBC_2.4 fork F
+GLIBC_2.4 forkpty F
GLIBC_2.4 fpathconf F
GLIBC_2.4 fprintf F
GLIBC_2.4 fputc F
@@ -1666,6 +1673,10 @@ GLIBC_2.4 localtime_r F
GLIBC_2.4 lockf F
GLIBC_2.4 lockf64 F
GLIBC_2.4 locs D 0x4
+GLIBC_2.4 login F
+GLIBC_2.4 login_tty F
+GLIBC_2.4 logout F
+GLIBC_2.4 logwtmp F
GLIBC_2.4 longjmp F
GLIBC_2.4 lrand48 F
GLIBC_2.4 lrand48_r F
@@ -1785,6 +1796,7 @@ GLIBC_2.4 openat F
GLIBC_2.4 openat64 F
GLIBC_2.4 opendir F
GLIBC_2.4 openlog F
+GLIBC_2.4 openpty F
GLIBC_2.4 optarg D 0x4
GLIBC_2.4 opterr D 0x4
GLIBC_2.4 optind D 0x4
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist
index cc1420e68c..3e4c25229d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.4 forkpty F
-GLIBC_2.4 login F
-GLIBC_2.4 login_tty F
-GLIBC_2.4 logout F
-GLIBC_2.4 logwtmp F
-GLIBC_2.4 openpty F
+GLIBC_2.4 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 901f086bfa..5aba59e956 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -494,6 +494,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -752,6 +753,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -832,6 +837,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2519,8 +2525,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2537,6 +2548,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index d14576eb2e..bfa665f086 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -880,6 +880,7 @@ GLIBC_2.18 fopen F
GLIBC_2.18 fopen64 F
GLIBC_2.18 fopencookie F
GLIBC_2.18 fork F
+GLIBC_2.18 forkpty F
GLIBC_2.18 fpathconf F
GLIBC_2.18 fprintf F
GLIBC_2.18 fputc F
@@ -1287,6 +1288,10 @@ GLIBC_2.18 localtime_r F
GLIBC_2.18 lockf F
GLIBC_2.18 lockf64 F
GLIBC_2.18 locs D 0x4
+GLIBC_2.18 login F
+GLIBC_2.18 login_tty F
+GLIBC_2.18 logout F
+GLIBC_2.18 logwtmp F
GLIBC_2.18 longjmp F
GLIBC_2.18 lrand48 F
GLIBC_2.18 lrand48_r F
@@ -1417,6 +1422,7 @@ GLIBC_2.18 openat F
GLIBC_2.18 openat64 F
GLIBC_2.18 opendir F
GLIBC_2.18 openlog F
+GLIBC_2.18 openpty F
GLIBC_2.18 optarg D 0x4
GLIBC_2.18 opterr D 0x4
GLIBC_2.18 optind D 0x4
@@ -2490,8 +2496,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2508,6 +2519,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist
index 0da0a40c22..44e72d5349 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.18 forkpty F
-GLIBC_2.18 login F
-GLIBC_2.18 login_tty F
-GLIBC_2.18 logout F
-GLIBC_2.18 logwtmp F
-GLIBC_2.18 openpty F
+GLIBC_2.18 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index b01add6f6c..cf93327b44 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -880,6 +880,7 @@ GLIBC_2.18 fopen F
GLIBC_2.18 fopen64 F
GLIBC_2.18 fopencookie F
GLIBC_2.18 fork F
+GLIBC_2.18 forkpty F
GLIBC_2.18 fpathconf F
GLIBC_2.18 fprintf F
GLIBC_2.18 fputc F
@@ -1287,6 +1288,10 @@ GLIBC_2.18 localtime_r F
GLIBC_2.18 lockf F
GLIBC_2.18 lockf64 F
GLIBC_2.18 locs D 0x4
+GLIBC_2.18 login F
+GLIBC_2.18 login_tty F
+GLIBC_2.18 logout F
+GLIBC_2.18 logwtmp F
GLIBC_2.18 longjmp F
GLIBC_2.18 lrand48 F
GLIBC_2.18 lrand48_r F
@@ -1417,6 +1422,7 @@ GLIBC_2.18 openat F
GLIBC_2.18 openat64 F
GLIBC_2.18 opendir F
GLIBC_2.18 openlog F
+GLIBC_2.18 openpty F
GLIBC_2.18 optarg D 0x4
GLIBC_2.18 opterr D 0x4
GLIBC_2.18 optind D 0x4
@@ -2487,8 +2493,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2505,6 +2516,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libutil.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libutil.abilist
index 0da0a40c22..44e72d5349 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.18 forkpty F
-GLIBC_2.18 login F
-GLIBC_2.18 login_tty F
-GLIBC_2.18 logout F
-GLIBC_2.18 logwtmp F
-GLIBC_2.18 openpty F
+GLIBC_2.18 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index ea5fee313d..1ff01ce150 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -492,6 +492,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -750,6 +751,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -829,6 +834,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2484,8 +2490,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2502,6 +2513,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 5f20e5f3fc..104d8cbc02 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -492,6 +492,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -750,6 +751,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -829,6 +834,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2482,8 +2488,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2500,6 +2511,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index f3c9081242..6285d3c8f8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -492,6 +492,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -750,6 +751,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -829,6 +834,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2490,8 +2496,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2508,6 +2519,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 2e10c747a2..6a4c1816d4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -490,6 +490,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -748,6 +749,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x8
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -827,6 +832,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x8
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2403,8 +2409,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2421,6 +2432,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 36563055a8..4cc199dbdb 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -923,6 +923,7 @@ GLIBC_2.21 fopen F
GLIBC_2.21 fopen64 F
GLIBC_2.21 fopencookie F
GLIBC_2.21 fork F
+GLIBC_2.21 forkpty F
GLIBC_2.21 fpathconf F
GLIBC_2.21 fprintf F
GLIBC_2.21 fputc F
@@ -1330,6 +1331,10 @@ GLIBC_2.21 localtime_r F
GLIBC_2.21 lockf F
GLIBC_2.21 lockf64 F
GLIBC_2.21 locs D 0x4
+GLIBC_2.21 login F
+GLIBC_2.21 login_tty F
+GLIBC_2.21 logout F
+GLIBC_2.21 logwtmp F
GLIBC_2.21 longjmp F
GLIBC_2.21 lrand48 F
GLIBC_2.21 lrand48_r F
@@ -1460,6 +1465,7 @@ GLIBC_2.21 openat F
GLIBC_2.21 openat64 F
GLIBC_2.21 opendir F
GLIBC_2.21 openlog F
+GLIBC_2.21 openpty F
GLIBC_2.21 optarg D 0x4
GLIBC_2.21 opterr D 0x4
GLIBC_2.21 optind D 0x4
@@ -2529,8 +2535,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2547,6 +2558,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/nios2/libutil.abilist b/sysdeps/unix/sysv/linux/nios2/libutil.abilist
index 19608bd74d..742ebe67fc 100644
--- a/sysdeps/unix/sysv/linux/nios2/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.21 forkpty F
-GLIBC_2.21 login F
-GLIBC_2.21 login_tty F
-GLIBC_2.21 logout F
-GLIBC_2.21 logwtmp F
-GLIBC_2.21 openpty F
+GLIBC_2.21 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 229731b575..46a5759c0a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -503,6 +503,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -761,6 +762,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -840,6 +845,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2546,8 +2552,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2564,6 +2575,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 8b3bdc0909..10ac038d7c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -503,6 +503,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -761,6 +762,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -840,6 +845,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2579,8 +2585,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2597,6 +2608,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 5797cc29c1..eaa36b3fc7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -892,6 +892,7 @@ GLIBC_2.3 fopen F
GLIBC_2.3 fopen64 F
GLIBC_2.3 fopencookie F
GLIBC_2.3 fork F
+GLIBC_2.3 forkpty F
GLIBC_2.3 fpathconf F
GLIBC_2.3 fprintf F
GLIBC_2.3 fputc F
@@ -1262,6 +1263,10 @@ GLIBC_2.3 localtime_r F
GLIBC_2.3 lockf F
GLIBC_2.3 lockf64 F
GLIBC_2.3 locs D 0x8
+GLIBC_2.3 login F
+GLIBC_2.3 login_tty F
+GLIBC_2.3 logout F
+GLIBC_2.3 logwtmp F
GLIBC_2.3 longjmp F
GLIBC_2.3 lrand48 F
GLIBC_2.3 lrand48_r F
@@ -1365,6 +1370,7 @@ GLIBC_2.3 open64 F
GLIBC_2.3 open_memstream F
GLIBC_2.3 opendir F
GLIBC_2.3 openlog F
+GLIBC_2.3 openpty F
GLIBC_2.3 optarg D 0x8
GLIBC_2.3 opterr D 0x4
GLIBC_2.3 optind D 0x4
@@ -2316,8 +2322,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2334,6 +2345,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist
index 9cf1da7aa4..7688d9c062 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.3 forkpty F
-GLIBC_2.3 login F
-GLIBC_2.3 login_tty F
-GLIBC_2.3 logout F
-GLIBC_2.3 logwtmp F
-GLIBC_2.3 openpty F
+GLIBC_2.3 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index a60d9b5d12..9d7c55a4b5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -966,6 +966,7 @@ GLIBC_2.17 fopen F
GLIBC_2.17 fopen64 F
GLIBC_2.17 fopencookie F
GLIBC_2.17 fork F
+GLIBC_2.17 forkpty F
GLIBC_2.17 fpathconf F
GLIBC_2.17 fprintf F
GLIBC_2.17 fputc F
@@ -1373,6 +1374,10 @@ GLIBC_2.17 localtime_r F
GLIBC_2.17 lockf F
GLIBC_2.17 lockf64 F
GLIBC_2.17 locs D 0x8
+GLIBC_2.17 login F
+GLIBC_2.17 login_tty F
+GLIBC_2.17 logout F
+GLIBC_2.17 logwtmp F
GLIBC_2.17 longjmp F
GLIBC_2.17 lrand48 F
GLIBC_2.17 lrand48_r F
@@ -1503,6 +1508,7 @@ GLIBC_2.17 openat F
GLIBC_2.17 openat64 F
GLIBC_2.17 opendir F
GLIBC_2.17 openlog F
+GLIBC_2.17 openpty F
GLIBC_2.17 optarg D 0x8
GLIBC_2.17 opterr D 0x4
GLIBC_2.17 optind D 0x4
@@ -2611,8 +2617,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2629,6 +2640,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist
index 99889de22e..3a2da66d2c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.17 forkpty F
-GLIBC_2.17 login F
-GLIBC_2.17 login_tty F
-GLIBC_2.17 logout F
-GLIBC_2.17 logwtmp F
-GLIBC_2.17 openpty F
+GLIBC_2.17 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 0c32c81af0..b902197ee9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -815,6 +815,7 @@ GLIBC_2.33 fopen F
GLIBC_2.33 fopen64 F
GLIBC_2.33 fopencookie F
GLIBC_2.33 fork F
+GLIBC_2.33 forkpty F
GLIBC_2.33 fpathconf F
GLIBC_2.33 fprintf F
GLIBC_2.33 fputc F
@@ -1213,6 +1214,10 @@ GLIBC_2.33 localtime F
GLIBC_2.33 localtime_r F
GLIBC_2.33 lockf F
GLIBC_2.33 lockf64 F
+GLIBC_2.33 login F
+GLIBC_2.33 login_tty F
+GLIBC_2.33 logout F
+GLIBC_2.33 logwtmp F
GLIBC_2.33 longjmp F
GLIBC_2.33 lrand48 F
GLIBC_2.33 lrand48_r F
@@ -1351,6 +1356,7 @@ GLIBC_2.33 openat F
GLIBC_2.33 openat64 F
GLIBC_2.33 opendir F
GLIBC_2.33 openlog F
+GLIBC_2.33 openpty F
GLIBC_2.33 optarg D 0x4
GLIBC_2.33 opterr D 0x4
GLIBC_2.33 optind D 0x4
@@ -2176,8 +2182,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2194,6 +2205,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist
index 59ae944bda..d23f268a65 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.33 forkpty F
-GLIBC_2.33 login F
-GLIBC_2.33 login_tty F
-GLIBC_2.33 logout F
-GLIBC_2.33 logwtmp F
-GLIBC_2.33 openpty F
+GLIBC_2.33 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index df65b69374..9609912bd5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -858,6 +858,7 @@ GLIBC_2.27 fopen F
GLIBC_2.27 fopen64 F
GLIBC_2.27 fopencookie F
GLIBC_2.27 fork F
+GLIBC_2.27 forkpty F
GLIBC_2.27 fpathconf F
GLIBC_2.27 fprintf F
GLIBC_2.27 fputc F
@@ -1268,6 +1269,10 @@ GLIBC_2.27 localtime F
GLIBC_2.27 localtime_r F
GLIBC_2.27 lockf F
GLIBC_2.27 lockf64 F
+GLIBC_2.27 login F
+GLIBC_2.27 login_tty F
+GLIBC_2.27 logout F
+GLIBC_2.27 logwtmp F
GLIBC_2.27 longjmp F
GLIBC_2.27 lrand48 F
GLIBC_2.27 lrand48_r F
@@ -1398,6 +1403,7 @@ GLIBC_2.27 openat F
GLIBC_2.27 openat64 F
GLIBC_2.27 opendir F
GLIBC_2.27 openlog F
+GLIBC_2.27 openpty F
GLIBC_2.27 optarg D 0x8
GLIBC_2.27 opterr D 0x4
GLIBC_2.27 optind D 0x4
@@ -2376,8 +2382,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2394,6 +2405,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist
index cbfec8d46e..c2cbef8fce 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.27 forkpty F
-GLIBC_2.27 login F
-GLIBC_2.27 login_tty F
-GLIBC_2.27 logout F
-GLIBC_2.27 logwtmp F
-GLIBC_2.27 openpty F
+GLIBC_2.27 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
index fd8cf92633..6b6d59b7dd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
@@ -2,8 +2,7 @@
default-abi := 32
ifeq ($(subdir),login)
-sysdep_routines += utmp32 utmpx32
-libutil-routines += login32
+sysdep_routines += utmp32 utmpx32 login32
endif
ifeq ($(subdir),misc)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Versions b/sysdeps/unix/sysv/linux/s390/s390-32/Versions
index cc03e70015..bd1a46df88 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/Versions
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/Versions
@@ -42,6 +42,7 @@ libc {
updwtmpx;
getutmp;
getutmpx;
+ login;
}
GLIBC_2.11 {
fallocate64;
@@ -53,6 +54,6 @@ libc {
libutil {
GLIBC_2.9 {
- login;
+ __libutil_version_placeholder;
}
}
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 5497df2f61..8f11602d61 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -493,6 +493,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -751,6 +752,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -831,6 +836,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2544,8 +2550,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2562,6 +2573,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
@@ -3005,6 +3017,7 @@ GLIBC_2.9 getutxent F
GLIBC_2.9 getutxid F
GLIBC_2.9 getutxline F
GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 login F
GLIBC_2.9 pipe2 F
GLIBC_2.9 pututline F
GLIBC_2.9 pututxline F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libutil-compat.c b/sysdeps/unix/sysv/linux/s390/s390-32/libutil-compat.c
new file mode 100644
index 0000000000..787b874e31
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libutil-compat.c
@@ -0,0 +1,23 @@
+/* Placeholder compatibility symbols for libutil. s390 version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include "utmp-compat.h"
+#include <login/libutil-compat.c>
+
+symbol_version (__libutil_version_placeholder_1,
+ __libutil_version_placeholder, UTMP_COMPAT_BASE);
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist
index bf735f7c00..5c9c8a5b00 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist
@@ -1,7 +1,2 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
-GLIBC_2.9 login F
+GLIBC_2.0 __libutil_version_placeholder F
+GLIBC_2.9 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/login.c b/sysdeps/unix/sysv/linux/s390/s390-32/login.c
index 5df028298a..62742a8a5f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/login.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/login.c
@@ -23,13 +23,14 @@
#include <unistd.h>
#include <stdlib.h>
#include <utmp.h>
+#include <shlib-compat.h>
#include "utmp-compat.h"
-#undef weak_alias
-#define weak_alias(n,a)
-#define login __login
+#undef compat_symbol
+#define compat_symbol(...)
#include "login/login.c"
-#undef login
-default_symbol_version (__login, login, UTMP_COMPAT_BASE);
+/* Compatibility symbol as formerly found in libutil. login@GLIBC_2.0
+ is supplied by login32.c. */
+symbol_version (__login, login, UTMP_COMPAT_BASE);
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/login32.c b/sysdeps/unix/sysv/linux/s390/s390-32/login32.c
index 45419bc092..e37da4e573 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/login32.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/login32.c
@@ -16,12 +16,13 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <sys/types.h>
-#include <utmp.h>
-#include <libc-symbols.h>
+#ifdef SHARED
+# include <sys/types.h>
+# include <utmp.h>
+# include <libc-symbols.h>
-#include "utmp32.h"
-#include "utmp-convert.h"
+# include "utmp32.h"
+# include "utmp-convert.h"
/* Write the given entry into utmp and wtmp. */
void
@@ -34,3 +35,4 @@ login32 (const struct utmp32 *entry)
}
symbol_version (login32, login, GLIBC_2.0);
+#endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 8a050a9374..876aa5ea80 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -826,6 +826,7 @@ GLIBC_2.2 fopen F
GLIBC_2.2 fopen64 F
GLIBC_2.2 fopencookie F
GLIBC_2.2 fork F
+GLIBC_2.2 forkpty F
GLIBC_2.2 fpathconf F
GLIBC_2.2 fprintf F
GLIBC_2.2 fputc F
@@ -1159,6 +1160,10 @@ GLIBC_2.2 localtime_r F
GLIBC_2.2 lockf F
GLIBC_2.2 lockf64 F
GLIBC_2.2 locs D 0x8
+GLIBC_2.2 login F
+GLIBC_2.2 login_tty F
+GLIBC_2.2 logout F
+GLIBC_2.2 logwtmp F
GLIBC_2.2 longjmp F
GLIBC_2.2 lrand48 F
GLIBC_2.2 lrand48_r F
@@ -1258,6 +1263,7 @@ GLIBC_2.2 open64 F
GLIBC_2.2 open_memstream F
GLIBC_2.2 opendir F
GLIBC_2.2 openlog F
+GLIBC_2.2 openpty F
GLIBC_2.2 optarg D 0x8
GLIBC_2.2 opterr D 0x4
GLIBC_2.2 optind D 0x4
@@ -2353,8 +2359,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2371,6 +2382,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist
index 14bd135ea8..e6f3e6109f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.2 forkpty F
-GLIBC_2.2 login F
-GLIBC_2.2 login_tty F
-GLIBC_2.2 logout F
-GLIBC_2.2 logwtmp F
-GLIBC_2.2 openpty F
+GLIBC_2.2 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 8de0cd37f3..c4b037321b 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -7,6 +7,12 @@ GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.0 forkpty F
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
+GLIBC_2.0 openpty F
GLIBC_2.1 aio_cancel F
GLIBC_2.1 aio_cancel64 F
GLIBC_2.1 aio_error F
@@ -2399,8 +2405,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2417,6 +2428,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libutil.abilist b/sysdeps/unix/sysv/linux/sh/be/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index ef67585b2a..fbceadac42 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -7,6 +7,12 @@ GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.0 forkpty F
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
+GLIBC_2.0 openpty F
GLIBC_2.1 aio_cancel F
GLIBC_2.1 aio_cancel64 F
GLIBC_2.1 aio_error F
@@ -2396,8 +2402,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2414,6 +2425,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libutil.abilist b/sysdeps/unix/sysv/linux/sh/le/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index ee2aa17bca..12f050136c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -495,6 +495,7 @@ GLIBC_2.0 fnmatch F
GLIBC_2.0 fopen F
GLIBC_2.0 fopencookie F
GLIBC_2.0 fork F
+GLIBC_2.0 forkpty F
GLIBC_2.0 fpathconf F
GLIBC_2.0 fprintf F
GLIBC_2.0 fputc F
@@ -753,6 +754,10 @@ GLIBC_2.0 localtime F
GLIBC_2.0 localtime_r F
GLIBC_2.0 lockf F
GLIBC_2.0 locs D 0x4
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
GLIBC_2.0 longjmp F
GLIBC_2.0 lrand48 F
GLIBC_2.0 lrand48_r F
@@ -833,6 +838,7 @@ GLIBC_2.0 open F
GLIBC_2.0 open_memstream F
GLIBC_2.0 opendir F
GLIBC_2.0 openlog F
+GLIBC_2.0 openpty F
GLIBC_2.0 optarg D 0x4
GLIBC_2.0 opterr D 0x4
GLIBC_2.0 optind D 0x4
@@ -2539,8 +2545,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2557,6 +2568,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 8a0cd15b42..bc99f6f6d7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -7,6 +7,12 @@ GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
+GLIBC_2.0 forkpty F
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
+GLIBC_2.0 openpty F
GLIBC_2.1 aio_cancel F
GLIBC_2.1 aio_cancel64 F
GLIBC_2.1 aio_error F
@@ -2375,8 +2381,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2393,6 +2404,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
index aa2d35b323..3d51141483 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.0 forkpty F
-GLIBC_2.0 login F
-GLIBC_2.0 login_tty F
-GLIBC_2.0 logout F
-GLIBC_2.0 logwtmp F
-GLIBC_2.0 openpty F
+GLIBC_2.0 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 63a7bc8388..0d98e85292 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -816,6 +816,7 @@ GLIBC_2.2.5 fopen F
GLIBC_2.2.5 fopen64 F
GLIBC_2.2.5 fopencookie F
GLIBC_2.2.5 fork F
+GLIBC_2.2.5 forkpty F
GLIBC_2.2.5 fpathconf F
GLIBC_2.2.5 fprintf F
GLIBC_2.2.5 fputc F
@@ -1152,6 +1153,10 @@ GLIBC_2.2.5 localtime_r F
GLIBC_2.2.5 lockf F
GLIBC_2.2.5 lockf64 F
GLIBC_2.2.5 locs D 0x8
+GLIBC_2.2.5 login F
+GLIBC_2.2.5 login_tty F
+GLIBC_2.2.5 logout F
+GLIBC_2.2.5 logwtmp F
GLIBC_2.2.5 longjmp F
GLIBC_2.2.5 lrand48 F
GLIBC_2.2.5 lrand48_r F
@@ -1252,6 +1257,7 @@ GLIBC_2.2.5 open64 F
GLIBC_2.2.5 open_memstream F
GLIBC_2.2.5 opendir F
GLIBC_2.2.5 openlog F
+GLIBC_2.2.5 openpty F
GLIBC_2.2.5 optarg D 0x8
GLIBC_2.2.5 opterr D 0x4
GLIBC_2.2.5 optind D 0x4
@@ -2331,8 +2337,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2349,6 +2360,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist
index 1356ed4115..d2f5c42d0b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.2.5 forkpty F
-GLIBC_2.2.5 login F
-GLIBC_2.2.5 login_tty F
-GLIBC_2.2.5 logout F
-GLIBC_2.2.5 logwtmp F
-GLIBC_2.2.5 openpty F
+GLIBC_2.2.5 __libutil_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index cc128a6b9b..b6d917c71e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -882,6 +882,7 @@ GLIBC_2.16 fopen F
GLIBC_2.16 fopen64 F
GLIBC_2.16 fopencookie F
GLIBC_2.16 fork F
+GLIBC_2.16 forkpty F
GLIBC_2.16 fpathconf F
GLIBC_2.16 fprintf F
GLIBC_2.16 fputc F
@@ -1290,6 +1291,10 @@ GLIBC_2.16 localtime_r F
GLIBC_2.16 lockf F
GLIBC_2.16 lockf64 F
GLIBC_2.16 locs D 0x4
+GLIBC_2.16 login F
+GLIBC_2.16 login_tty F
+GLIBC_2.16 logout F
+GLIBC_2.16 logwtmp F
GLIBC_2.16 longjmp F
GLIBC_2.16 lrand48 F
GLIBC_2.16 lrand48_r F
@@ -1422,6 +1427,7 @@ GLIBC_2.16 openat F
GLIBC_2.16 openat64 F
GLIBC_2.16 opendir F
GLIBC_2.16 openlog F
+GLIBC_2.16 openpty F
GLIBC_2.16 optarg D 0x4
GLIBC_2.16 opterr D 0x4
GLIBC_2.16 optind D 0x4
@@ -2430,8 +2436,13 @@ GLIBC_2.34 dlopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
+GLIBC_2.34 forkpty F
GLIBC_2.34 lio_listio F
GLIBC_2.34 lio_listio64 F
+GLIBC_2.34 login F
+GLIBC_2.34 login_tty F
+GLIBC_2.34 logout F
+GLIBC_2.34 logwtmp F
GLIBC_2.34 mq_close F
GLIBC_2.34 mq_getattr F
GLIBC_2.34 mq_notify F
@@ -2448,6 +2459,7 @@ GLIBC_2.34 mtx_lock F
GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 openpty F
GLIBC_2.34 pthread_attr_getaffinity_np F
GLIBC_2.34 pthread_attr_getguardsize F
GLIBC_2.34 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist
index cff23106f5..b296642cbe 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist
@@ -1,6 +1 @@
-GLIBC_2.16 forkpty F
-GLIBC_2.16 login F
-GLIBC_2.16 login_tty F
-GLIBC_2.16 logout F
-GLIBC_2.16 logwtmp F
-GLIBC_2.16 openpty F
+GLIBC_2.16 __libutil_version_placeholder F