aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-06-30 07:21:14 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-06-30 08:43:37 +0200
commit734c60ebb607086ad6d67b2544d6b7baba72a652 (patch)
tree3d0480b60b81da20b51df998f6585feeb85a8d14
parent98164ba55d01dfe517a71cbc5538ff1f5dc563d6 (diff)
downloadglibc-734c60ebb607086ad6d67b2544d6b7baba72a652.zip
glibc-734c60ebb607086ad6d67b2544d6b7baba72a652.tar.gz
glibc-734c60ebb607086ad6d67b2544d6b7baba72a652.tar.bz2
login: Move libutil into libc
The symbols forkpty, login, login_tty, logout, logwtmp, openpty were moved using scripts/move-symbol-to-libc.py. This is a single commit because most of the symbols are tied together via forkpty, for example. Several changes to use hidden prototypes are needed. This commit also updates pseudoterminal terminology on modified lines. For 390 (31-bit), this commit follows the existing style for the compat symbol version creation. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-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 4979bb7..93335fe 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 e8162bd..b7921e5 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 bc72e6e..4e6b977 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 475fcf0..b1ccf86 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 1e91bd8..79f9846 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 0000000..249512a
--- /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 d280c13..c95b984 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 a94f5cb..a85b388 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 3def97f..bf78e09 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 1a7c46e..8f3e8fa 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 22845b6..1527757 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 120131a..fcfe64f 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 1dd59e0..0196d40 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 4736a59..ea7fdab 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 99889de..3a2da66 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 89257e3..8b1adc9 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 aa2d35b..3d51141 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 e1eef24..740f39a 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 61f73bc..70c9ed9 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 19d609e..6f41d2c 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 cc1420e..3e4c252 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 3712749..695f809 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 cc1420e..3e4c252 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 ee2ffba..cc017b4 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 cbd1199..6b49490 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 c6d4d24..b6b087d 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 aa2d35b..3d51141 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 f4e3082..40f7402 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 aa2d35b..3d51141 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 8c13d88..157f244 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 aa2d35b..3d51141 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 43a6927..bbc40bb 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 cc1420e..3e4c252 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 901f086..5aba59e 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 aa2d35b..3d51141 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 d14576e..bfa665f 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 0da0a40..44e72d5 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 b01add6..cf93327 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 0da0a40..44e72d5 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 ea5fee3..1ff01ce 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 aa2d35b..3d51141 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 5f20e5f..104d8cb 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 aa2d35b..3d51141 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 f3c9081..6285d3c 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 2e10c74..6a4c181 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 3656305..4cc199d 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 19608bd..742ebe6 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 229731b..46a5759 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 aa2d35b..3d51141 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 8b3bdc0..10ac038 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 5797cc2..eaa36b3 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 9cf1da7..7688d9c 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 a60d9b5..9d7c55a 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 99889de..3a2da66 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 0c32c81..b902197 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 59ae944..d23f268 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 df65b69..9609912 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 cbfec8d..c2cbef8 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 fd8cf92..6b6d59b 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 cc03e70..bd1a46d 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 5497df2..8f11602 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 0000000..787b874
--- /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 bf735f7..5c9c8a5 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 5df0282..62742a8 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 45419bc..e37da4e 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 8a050a9..876aa5e 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 14bd135..e6f3e61 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 8de0cd3..c4b0373 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 aa2d35b..3d51141 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 ef67585..fbceada 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 aa2d35b..3d51141 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 ee2aa17..12f0501 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 aa2d35b..3d51141 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 8a0cd15..bc99f6f 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 aa2d35b..3d51141 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 63a7bc8..0d98e85 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 1356ed4..d2f5c42 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 cc128a6..b6d917c 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 cff2310..b296642 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