Hi Adhemerval, > It uses the s390-32 version and consolidates all the implementations. > The result 'struct utmp' and 'struct utmpx' the same size of the > old 32-bit time version (the __glibc_reserved in used adjusted). > > New symbols for getutent, getutent_r, getutid, getutid_r, getutline, > getutline_r, getutmp, getutmpx, getutxent, getutxid. getutxline, > pututline, pututxline, updwtmp, updwtmpx, and login are added to > all architecture but s390-32 (which already added 64-bit time support > on 32-bit ABI on glibc 2.9). > > Checked on i686-linux-gnu and x86_64-linux-gnu. I also did a make > check on all affected ABIs. > --- > bits/struct_utmp.h | 12 +++--- > bits/struct_utmpx.h | 11 +++--- > include/utmp.h | 3 ++ > login/Makefile | 4 +- > login/Versions | 3 ++ > login/getutent.c | 7 +++- > login/getutent_r.c | 11 +++++- > login/getutid.c | 7 +++- > login/getutid_r.c | 7 +++- > login/getutline.c | 7 +++- > login/getutline_r.c | 7 +++- > login/getutmp.c | 10 ++++- > login/getutxent.c | 9 ++++- > login/getutxid.c | 9 ++++- > login/getutxline.c | 9 ++++- > login/login.c | 10 ++++- > .../linux/s390/s390-32 => login}/login32.c | 14 ++++--- > login/pututxline.c | 9 ++++- > login/updwtmp.c | 7 +++- > login/updwtmpx.c | 9 ++++- > .../s390/s390-32 => login}/utmp-convert.h | 0 > .../linux/s390/s390-32 => login}/utmp32.c | 32 +++++++++------- > .../linux/s390/s390-32 => login}/utmp32.h | 0 > .../s390/s390-32 => login}/utmpx-convert.h | 0 > .../linux/s390/s390-32 => login}/utmpx32.c | 29 +++++++++----- > .../linux/s390/s390-32 => login}/utmpx32.h | 0 > sysdeps/generic/utmp-compat.h | 3 ++ > sysdeps/mach/hurd/i386/libc.abilist | 15 ++++++++ > sysdeps/mach/hurd/i386/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 15 ++++++++ > .../unix/sysv/linux/aarch64/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/alpha/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/alpha/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/arc/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/arc/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 15 ++++++++ > .../unix/sysv/linux/arm/le/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/csky/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/csky/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/hppa/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/hppa/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/i386/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/i386/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/ia64/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/ia64/libutil.abilist | 1 + > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 15 ++++++++ > .../sysv/linux/m68k/m680x0/libutil.abilist | 1 + > .../sysv/linux/microblaze/be/libc.abilist | 15 ++++++++ > .../sysv/linux/microblaze/be/libutil.abilist | 1 + > .../sysv/linux/mips/mips32/fpu/libc.abilist | 15 ++++++++ > .../sysv/linux/mips/mips32/libutil.abilist | 1 + > .../sysv/linux/mips/mips64/libutil.abilist | 1 + > .../sysv/linux/mips/mips64/n32/libc.abilist | 15 ++++++++ > .../sysv/linux/mips/mips64/n64/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/nios2/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/nios2/libutil.abilist | 1 + > .../linux/powerpc/powerpc32/fpu/libc.abilist | 15 ++++++++ > .../linux/powerpc/powerpc32/libutil.abilist | 1 + > .../linux/powerpc/powerpc64/be/libc.abilist | 15 ++++++++ > .../powerpc/powerpc64/be/libutil.abilist | 1 + > .../linux/powerpc/powerpc64/le/libc.abilist | 15 ++++++++ > .../powerpc/powerpc64/le/libutil.abilist | 1 + > .../unix/sysv/linux/riscv/rv64/libc.abilist | 15 ++++++++ > .../sysv/linux/riscv/rv64/libutil.abilist | 1 + > .../unix/sysv/linux/s390/s390-32/getutent.c | 32 ---------------- > .../unix/sysv/linux/s390/s390-32/getutent_r.c | 38 > ------------------- .../unix/sysv/linux/s390/s390-32/getutid.c | > 32 ---------------- .../unix/sysv/linux/s390/s390-32/getutid_r.c | > 35 ----------------- .../unix/sysv/linux/s390/s390-32/getutline.c | > 32 ---------------- .../sysv/linux/s390/s390-32/getutline_r.c | > 34 ----------------- .../unix/sysv/linux/s390/s390-32/getutmp.c | > 30 --------------- .../unix/sysv/linux/s390/s390-32/getutxent.c | 30 > --------------- .../unix/sysv/linux/s390/s390-32/getutxid.c | 30 > --------------- .../unix/sysv/linux/s390/s390-32/getutxline.c | 30 > --------------- sysdeps/unix/sysv/linux/s390/s390-32/login.c | 35 > ----------------- .../unix/sysv/linux/s390/s390-32/pututxline.c | 30 > --------------- .../unix/sysv/linux/s390/s390-32/updwtmp.c | 32 > ---------------- .../unix/sysv/linux/s390/s390-32/updwtmpx.c | 30 > --------------- .../sysv/linux/s390/s390-32/utmp-compat.h | 2 +- > .../unix/sysv/linux/s390/s390-64/libc.abilist | 15 ++++++++ > .../sysv/linux/s390/s390-64/libutil.abilist | 1 + > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 15 ++++++++ > sysdeps/unix/sysv/linux/sh/le/libutil.abilist | 1 + > .../sysv/linux/sparc/sparc32/libc.abilist | 15 ++++++++ > .../sysv/linux/sparc/sparc32/libutil.abilist | 1 + > .../sysv/linux/sparc/sparc64/libc.abilist | 15 ++++++++ > .../sysv/linux/sparc/sparc64/libutil.abilist | 1 + > .../unix/sysv/linux/x86_64/64/libc.abilist | 15 ++++++++ > .../unix/sysv/linux/x86_64/64/libutil.abilist | 1 + > .../unix/sysv/linux/x86_64/x32/libc.abilist | 15 ++++++++ > .../sysv/linux/x86_64/x32/libutil.abilist | 1 + > 91 files changed, 572 insertions(+), 508 deletions(-) > rename {sysdeps/unix/sysv/linux/s390/s390-32 => login}/login32.c > (75%) rename {sysdeps/unix/sysv/linux/s390/s390-32 => > login}/utmp-convert.h (100%) rename > {sysdeps/unix/sysv/linux/s390/s390-32 => login}/utmp32.c (83%) rename > {sysdeps/unix/sysv/linux/s390/s390-32 => login}/utmp32.h (100%) > rename {sysdeps/unix/sysv/linux/s390/s390-32 => > login}/utmpx-convert.h (100%) rename > {sysdeps/unix/sysv/linux/s390/s390-32 => login}/utmpx32.c (81%) > rename {sysdeps/unix/sysv/linux/s390/s390-32 => login}/utmpx32.h > (100%) create mode 100644 sysdeps/generic/utmp-compat.h delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutent.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutid.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutline.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/login.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c delete mode > 100644 sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c > > diff --git a/bits/struct_utmp.h b/bits/struct_utmp.h > index 4b05c91515..84d4df2590 100644 > --- a/bits/struct_utmp.h > +++ b/bits/struct_utmp.h > @@ -38,18 +38,16 @@ struct utmp > /* The ut_session and ut_tv fields must be the same size when > compiled 32- and 64-bit. This allows data files and shared memory to > be shared between 32- and 64-bit applications. */ > -#if __WORDSIZE_TIME64_COMPAT32 > - int32_t ut_session; /* Session ID, used for > windowing. */ > + int64_t ut_session; /* Session ID, used for > windowing. */ +#if __TIMESIZE == 64 Ok. > struct > { > - int32_t tv_sec; /* Seconds. */ > - int32_t tv_usec; /* Microseconds. */ > + int64_t tv_sec; /* Seconds. */ > + int64_t tv_usec; /* Microseconds. */ > } ut_tv; /* Time entry was made. */ > #else > - long int ut_session; /* Session ID, used for > windowing. */ struct timeval ut_tv; /* Time entry was > made. */ #endif > - > int32_t ut_addr_v6[4]; /* Internet address of remote host. > */ > - char __glibc_reserved[20]; /* Reserved for future > use. */ > + char __glibc_reserved[8]; /* Reserved for future > use. */ }; > diff --git a/bits/struct_utmpx.h b/bits/struct_utmpx.h > index 8bfc786cd8..b5bf539a57 100644 > --- a/bits/struct_utmpx.h > +++ b/bits/struct_utmpx.h > @@ -39,17 +39,16 @@ struct utmpx > /* The fields ut_session and ut_tv must be the same size when > compiled 32- and 64-bit. This allows files and shared memory to be > shared between 32- and 64-bit applications. */ > -#if __WORDSIZE_TIME64_COMPAT32 > - __int32_t ut_session; /* Session ID, used for > windowing. */ > + __int64_t ut_session; /* Session ID, used for > windowing. */ +#if __TIMESIZE == 64 > struct > { > - __int32_t tv_sec; /* Seconds. */ > - __int32_t tv_usec; /* Microseconds. */ > + __int64_t tv_sec; /* Seconds. */ > + __int64_t tv_usec; /* Microseconds. */ > } ut_tv; /* Time entry was made. */ > #else > - long int ut_session; /* Session ID, used for > windowing. */ struct timeval ut_tv; /* Time entry was > made. */ #endif > __int32_t ut_addr_v6[4]; /* Internet address of remote > host. */ > - char __glibc_reserved[20]; /* Reserved for future > use. */ > + char __glibc_reserved[8]; /* Reserved for future > use. */ }; > diff --git a/include/utmp.h b/include/utmp.h > index 374184e9b2..350b9aab81 100644 > --- a/include/utmp.h > +++ b/include/utmp.h > @@ -26,6 +26,9 @@ extern int __getutline_r (const struct utmp *__line, > struct utmp *__buffer, struct utmp > **__result); libc_hidden_proto (__getutline_r) > > +extern void __login (const struct utmp *ut); > +hidden_proto (__login) > + > libutil_hidden_proto (login_tty) > > # endif /* !_ISOMAC */ > diff --git a/login/Makefile b/login/Makefile > index 58d5d4d64a..9f37a18101 100644 > --- a/login/Makefile > +++ b/login/Makefile > @@ -29,7 +29,7 @@ headers := utmp.h bits/utmp.h lastlog.h > pty.h bits/struct_lastlog.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 utmp32 utmpx32 > > CFLAGS-grantpt.c += -DLIBEXECDIR='"$(libexecdir)"' > > @@ -51,7 +51,7 @@ tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname > tst-getlogin tst-updwtmpx \ extra-libs := libutil > extra-libs-others := $(extra-libs) > > -libutil-routines:= login login_tty logout logwtmp openpty forkpty > +libutil-routines:= login login_tty logout logwtmp openpty forkpty > login32 > include ../Rules > > diff --git a/login/Versions b/login/Versions > index 475fcf063f..86b56bb92e 100644 > --- a/login/Versions > +++ b/login/Versions > @@ -51,4 +51,7 @@ libutil { > GLIBC_2.0 { > forkpty; login; login_tty; logout; logwtmp; openpty; > } > + GLIBC_2.33 { > + login; Here I'm a bit puzzled - the login is also exported in the above line for GLIBC_2.0. Why do we need to redo it for GLIBC_2.33 ? > + } > } > diff --git a/login/getutent.c b/login/getutent.c > index 3a8b78c9be..16ca2622d1 100644 > --- a/login/getutent.c > +++ b/login/getutent.c > @@ -18,7 +18,8 @@ > > #include > #include > - > +#include > +#include > > /* Local buffer to store the result. */ > libc_freeres_ptr (static struct utmp *buffer); > @@ -42,4 +43,8 @@ __getutent (void) > return result; > } > libc_hidden_def (__getutent) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutent, getutent, UTMP_COMPAT_BASE); > +#else > weak_alias (__getutent, getutent) > +#endif So here you mimic the trick from s390 that we will set #define UTMP_COMPAT_BASE and then depending on glibc version either getutent_GLIBC_2.9 (as on s390) or getutent_GLIBC_2.33 (newest) will be exported? But I'm wondering why we do need to have such distinction and why we just cannot export getutent_GLIBC_2_0 (the symbol when it was first exported) [*] ? (I guess that getutent was _only_ exported by s390 32 bit - but I'm not sure). > diff --git a/login/getutent_r.c b/login/getutent_r.c > index 7bf5fe136a..5c82e85c09 100644 > --- a/login/getutent_r.c > +++ b/login/getutent_r.c > @@ -20,7 +20,8 @@ > #include > #include > #include > - > +#include > +#include > #include "utmp-private.h" > > /* We need to protect the opening of the file. */ > @@ -53,7 +54,11 @@ __getutent_r (struct utmp *buffer, struct utmp > **result) return retval; > } > libc_hidden_def (__getutent_r) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutent_r, getutent_r, UTMP_COMPAT_BASE); > +#else > weak_alias (__getutent_r, getutent_r) > +#endif > > > struct utmp * > @@ -70,7 +75,11 @@ __pututline (const struct utmp *data) > return buffer; > } > libc_hidden_def (__pututline) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __pututline, pututline, UTMP_COMPAT_BASE); > +#else > weak_alias (__pututline, pututline) > +#endif > > > void > diff --git a/login/getutid.c b/login/getutid.c > index 0c5c106b59..b96ccb2381 100644 > --- a/login/getutid.c > +++ b/login/getutid.c > @@ -18,7 +18,8 @@ > > #include > #include > - > +#include > +#include > > /* Local buffer to store the result. */ > libc_freeres_ptr (static struct utmp *buffer); > @@ -40,4 +41,8 @@ __getutid (const struct utmp *id) > return result; > } > libc_hidden_def (__getutid) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutid, getutid, UTMP_COMPAT_BASE); > +#else > weak_alias (__getutid, getutid) > +#endif > diff --git a/login/getutid_r.c b/login/getutid_r.c > index c655c4f56b..06907a4c92 100644 > --- a/login/getutid_r.c > +++ b/login/getutid_r.c > @@ -21,7 +21,8 @@ > #include > #include > #include > - > +#include > +#include > #include "utmp-private.h" > > > @@ -55,4 +56,8 @@ __getutid_r (const struct utmp *id, struct utmp > *buffer, struct utmp **result) return retval; > } > libc_hidden_def (__getutid_r) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutid_r, getutid_r, UTMP_COMPAT_BASE); > +#else > weak_alias (__getutid_r, getutid_r) > +#endif > diff --git a/login/getutline.c b/login/getutline.c > index 34ea8611e2..dea5edffd8 100644 > --- a/login/getutline.c > +++ b/login/getutline.c > @@ -18,7 +18,8 @@ > > #include > #include > - > +#include > +#include > > /* Local buffer to store the result. */ > libc_freeres_ptr (static struct utmp *buffer); > @@ -41,4 +42,8 @@ __getutline (const struct utmp *line) > return result; > } > libc_hidden_def (__getutline) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutline, getutline, UTMP_COMPAT_BASE); > +#else > weak_alias (__getutline, getutline) > +#endif > diff --git a/login/getutline_r.c b/login/getutline_r.c > index 41ad9ff12b..5caab54620 100644 > --- a/login/getutline_r.c > +++ b/login/getutline_r.c > @@ -20,7 +20,8 @@ > #include > #include > #include > - > +#include > +#include > #include "utmp-private.h" > > > @@ -43,4 +44,8 @@ __getutline_r (const struct utmp *line, struct utmp > *buffer, return retval; > } > libc_hidden_def (__getutline_r) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutline_r, getutline_r, > UTMP_COMPAT_BASE); +#else > weak_alias (__getutline_r, getutline_r) > +#endif > diff --git a/login/getutmp.c b/login/getutmp.c > index 3058a93d1b..d521e5e51e 100644 > --- a/login/getutmp.c > +++ b/login/getutmp.c > @@ -21,6 +21,8 @@ > #define getutmpx __redirect_getutmpx > #include > #undef getutmpx > +#include > +#include > > #define CHECK_SIZE_AND_OFFSET(field) \ > _Static_assert (sizeof ((struct utmp){0}.field) \ > @@ -59,5 +61,11 @@ __getutmp (const struct utmpx *utmpx, struct utmp > *utmp) utmp->ut_tv.tv_usec = utmpx->ut_tv.tv_usec; > } > > -weak_alias (__getutmp, getutmp) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutmp, getutmp, UTMP_COMPAT_BASE); > +strong_alias (__getutmp, __getutmpx) > +versioned_symbol (libc, __getutmpx, getutmpx, UTMP_COMPAT_BASE); > +#else > +strong_alias (__getutmp, getutmp) > strong_alias (__getutmp, getutmpx) > +#endif > diff --git a/login/getutxent.c b/login/getutxent.c > index ca90a13d4b..505b2b6441 100644 > --- a/login/getutxent.c > +++ b/login/getutxent.c > @@ -18,9 +18,16 @@ > > #include > #include > +#include > +#include > > struct utmpx * > -getutxent (void) > +__getutxent (void) > { > return (struct utmpx *) __getutent (); > } > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutxent, getutxent, UTMP_COMPAT_BASE); > +#else > +weak_alias (__getutxent, getutxent) > +#endif > diff --git a/login/getutxid.c b/login/getutxid.c > index d53993f5e9..871aef11d8 100644 > --- a/login/getutxid.c > +++ b/login/getutxid.c > @@ -18,9 +18,16 @@ > > #include > #include > +#include > +#include > > struct utmpx * > -getutxid (const struct utmpx *id) > +__getutxid (const struct utmpx *id) > { > return (struct utmpx *) __getutid ((const struct utmp *) id); > } > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutxid, getutxid, UTMP_COMPAT_BASE); > +#else > +weak_alias (__getutxid, getutxid) > +#endif > diff --git a/login/getutxline.c b/login/getutxline.c > index f1d28211b0..d212217285 100644 > --- a/login/getutxline.c > +++ b/login/getutxline.c > @@ -18,9 +18,16 @@ > > #include > #include > +#include > +#include > > struct utmpx * > -getutxline (const struct utmpx *line) > +__getutxline (const struct utmpx *line) > { > return (struct utmpx *) __getutline ((const struct utmp *) line); > } > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __getutxline, getutxline, UTMP_COMPAT_BASE); > +#else > +weak_alias (__getutxline, getutxline) > +#endif > diff --git a/login/login.c b/login/login.c > index cc26d2982b..ca2a99210f 100644 > --- a/login/login.c > +++ b/login/login.c > @@ -23,6 +23,8 @@ > #include > #include > #include > +#include > +#include > > > /* Return the result of ttyname in the buffer pointed to by TTY, > which should @@ -78,7 +80,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]; > @@ -137,3 +139,9 @@ login (const struct utmp *ut) > /* Update the WTMP file. Here we have to add a new entry. */ > updwtmp (_PATH_WTMP, ©); > } > +hidden_def (__login) > +#if SHLIB_COMPAT(libutil, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libutil, __login, login, UTMP_COMPAT_BASE); > +#else > +weak_alias (__login, login) > +#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/login32.c > b/login/login32.c similarity index 75% > rename from sysdeps/unix/sysv/linux/s390/s390-32/login32.c > rename to login/login32.c > index 22f908df88..6e451eb745 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/login32.c > +++ b/login/login32.c > @@ -1,5 +1,5 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > +/* Write utmp and wtmp entries, 32-bit time compat version. > + Copyright (C) 2008-2020 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 > @@ -16,13 +16,14 @@ > License along with the GNU C Library; if not, see > . */ > > -#include > #include > -#include > +#include > +#include > > #include "utmp32.h" > #include "utmp-convert.h" > > +#if SHLIB_COMPAT(libutil, GLIBC_2_0, UTMP_COMPAT_BASE) > /* Write the given entry into utmp and wtmp. */ > void > login32 (const struct utmp32 *entry) > @@ -30,7 +31,8 @@ login32 (const struct utmp32 *entry) > struct utmp in64; > > utmp_convert32to64 (entry, &in64); > - login (&in64); > + __login (&in64); > } > > -symbol_version (login32, login, GLIBC_2.0); > +compat_symbol (libutil, login32, login, GLIBC_2_0); > +#endif > diff --git a/login/pututxline.c b/login/pututxline.c > index eec8851d45..ddd6330811 100644 > --- a/login/pututxline.c > +++ b/login/pututxline.c > @@ -18,9 +18,16 @@ > > #include > #include > +#include > +#include > > struct utmpx * > -pututxline (const struct utmpx *utmpx) > +__pututxline (const struct utmpx *utmpx) > { > return (struct utmpx *) __pututline ((const struct utmp *) utmpx); > } > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __pututxline, pututxline, UTMP_COMPAT_BASE); > +#else > +weak_alias (__pututxline, pututxline) > +#endif > diff --git a/login/updwtmp.c b/login/updwtmp.c > index 489c28b553..715ef747d7 100644 > --- a/login/updwtmp.c > +++ b/login/updwtmp.c > @@ -19,7 +19,8 @@ > #include > #include > #include > - > +#include > +#include > #include "utmp-private.h" > > #ifndef TRANSFORM_UTMP_FILE_NAME > @@ -41,4 +42,8 @@ __updwtmp (const char *wtmp_file, const struct utmp > *utmp) __libc_updwtmp (file_name, utmp); > } > libc_hidden_def (__updwtmp) > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __updwtmp, updwtmp, UTMP_COMPAT_BASE); > +#else > weak_alias (__updwtmp, updwtmp) > +#endif > diff --git a/login/updwtmpx.c b/login/updwtmpx.c > index f95306b621..3f1dbb363b 100644 > --- a/login/updwtmpx.c > +++ b/login/updwtmpx.c > @@ -18,9 +18,16 @@ > > #include > #include > +#include > +#include > > void > -updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx) > +__updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx) > { > __updwtmp (wtmpx_file, (const struct utmp *) utmpx); > } > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > +versioned_symbol (libc, __updwtmpx, updwtmpx, UTMP_COMPAT_BASE); > +#else > +weak_alias (__updwtmpx, updwtmpx) > +#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h > b/login/utmp-convert.h similarity index 100% > rename from sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h > rename to login/utmp-convert.h > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c > b/login/utmp32.c similarity index 83% > rename from sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c > rename to login/utmp32.c Ok, so relevant implementation files are moved to generic login directory. > index e4b82512f6..7fecb3bdca 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c > +++ b/login/utmp32.c > @@ -1,5 +1,5 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > +/* Compability symbols for utmp with 32-bit entry times. > + Copyright (C) 2008-2020 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 > @@ -24,6 +24,11 @@ > #include "utmp32.h" > #include "utmp-convert.h" > > +#include > +#include > + > +#if SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) > + > /* Allocate a static buffer to be returned to the caller. As well as > with the existing version of these functions the caller has to be > aware that the contents of this buffer will change with subsequent > @@ -63,7 +68,7 @@ getutid32 (const struct utmp32 *id) > { > ACCESS_UTMP_ENTRY (__getutid, id) > } > -symbol_version (getutid32, getutid, GLIBC_2.0); > +compat_symbol (libc, getutid32, getutid, GLIBC_2_0); > > /* Search forward from the current point in the utmp file until the > next entry with a ut_line matching LINE->ut_line. */ > @@ -72,7 +77,7 @@ getutline32 (const struct utmp32 *line) > { > ACCESS_UTMP_ENTRY (__getutline, line) > } > -symbol_version (getutline32, getutline, GLIBC_2.0); > +compat_symbol (libc, getutline32, getutline, GLIBC_2_0); > > /* Write out entry pointed to by UTMP_PTR into the utmp file. */ > struct utmp32 * > @@ -80,7 +85,7 @@ pututline32 (const struct utmp32 *utmp_ptr) > { > ACCESS_UTMP_ENTRY (__pututline, utmp_ptr) > } > -symbol_version (pututline32, pututline, GLIBC_2.0); > +compat_symbol (libc, pututline32, pututline, GLIBC_2_0); > > /* Read next entry from a utmp-like file. */ > struct utmp32 * > @@ -96,10 +101,9 @@ getutent32 (void) > utmp_convert64to32 (out64, out32); > return out32; > } > -symbol_version (getutent32, getutent, GLIBC_2.0); > +compat_symbol (libc, getutent32, getutent, GLIBC_2_0); > > /* Reentrant versions of the file for handling utmp files. */ > - > int > getutent32_r (struct utmp32 *buffer, struct utmp32 **result) > { > @@ -119,11 +123,11 @@ getutent32_r (struct utmp32 *buffer, struct > utmp32 **result) > return 0; > } > -symbol_version (getutent32_r, getutent_r, GLIBC_2.0); > +compat_symbol (libc, getutent32_r, getutent_r, GLIBC_2_0); > > int > getutid32_r (const struct utmp32 *id, struct utmp32 *buffer, > - struct utmp32 **result) > + struct utmp32 **result) > { > struct utmp in64; > struct utmp out64; > @@ -144,11 +148,11 @@ getutid32_r (const struct utmp32 *id, struct > utmp32 *buffer, > return 0; > } > -symbol_version (getutid32_r, getutid_r, GLIBC_2.0); > +compat_symbol (libc, getutid32_r, getutid_r, GLIBC_2_0); > > int > getutline32_r (const struct utmp32 *line, > - struct utmp32 *buffer, struct utmp32 **result) > + struct utmp32 *buffer, struct utmp32 **result) > { > struct utmp in64; > struct utmp out64; > @@ -170,7 +174,7 @@ getutline32_r (const struct utmp32 *line, > return 0; > > } > -symbol_version (getutline32_r, getutline_r, GLIBC_2.0); > +compat_symbol (libc, getutline32_r, getutline_r, GLIBC_2_0); > > /* Append entry UTMP to the wtmp-like file WTMP_FILE. */ > void > @@ -181,4 +185,6 @@ updwtmp32 (const char *wtmp_file, const struct > utmp32 *utmp) utmp_convert32to64 (utmp, &in32); > __updwtmp (wtmp_file, &in32); > } > -symbol_version (updwtmp32, updwtmp, GLIBC_2.0); > +compat_symbol (libc, updwtmp32, updwtmp, GLIBC_2_0); > + > +#endif /* SHLIB_COMPAT(libc, GLIBC_2_0, UTMP_COMPAT_BASE) */ > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h > b/login/utmp32.h similarity index 100% > rename from sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h > rename to login/utmp32.h > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h > b/login/utmpx-convert.h similarity index 100% > rename from sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h > rename to login/utmpx-convert.h > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c > b/login/utmpx32.c similarity index 81% > rename from sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c > rename to login/utmpx32.c > index 3f78fa62db..3ecd5b65f5 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c > +++ b/login/utmpx32.c > @@ -1,5 +1,5 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > +/* Compability symbols for utmpx with 32-bit entry times. > + Copyright (C) 2008-2020 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 > @@ -27,6 +27,11 @@ > #include "utmpx32.h" > #include "utmpx-convert.h" > > +#include > +#include > + > +#if SHLIB_COMPAT(libc, GLIBC_2_1, UTMP_COMPAT_BASE) > + > /* Allocate a static buffer to be returned to the caller. As well as > with the existing version of these functions the caller has to be > aware that the contents of this buffer will change with subsequent > @@ -75,7 +80,7 @@ getutxent32 (void) > return out32; > > } > -symbol_version (getutxent32, getutxent, GLIBC_2.1); > +compat_symbol (libc, getutxent32, getutxent, GLIBC_2_1); > > /* Get the user accounting database entry corresponding to ID. */ > struct utmpx32 * > @@ -83,7 +88,7 @@ getutxid32 (const struct utmpx32 *id) > { > ACCESS_UTMPX_ENTRY (__getutxid, id); > } > -symbol_version (getutxid32, getutxid, GLIBC_2.1); > +compat_symbol (libc, getutxid32, getutxid, GLIBC_2_1); > > /* Get the user accounting database entry corresponding to LINE. */ > struct utmpx32 * > @@ -91,7 +96,7 @@ getutxline32 (const struct utmpx32 *line) > { > ACCESS_UTMPX_ENTRY (__getutxline, line); > } > -symbol_version (getutxline32, getutxline, GLIBC_2.1); > +compat_symbol (libc, getutxline32, getutxline, GLIBC_2_1); > > /* Write the entry UTMPX into the user accounting database. */ > struct utmpx32 * > @@ -99,7 +104,7 @@ pututxline32 (const struct utmpx32 *utmpx) > { > ACCESS_UTMPX_ENTRY (__pututxline, utmpx); > } > -symbol_version (pututxline32, pututxline, GLIBC_2.1); > +compat_symbol (libc, pututxline32, pututxline, GLIBC_2_1); > > /* Append entry UTMP to the wtmpx-like file WTMPX_FILE. */ > void > @@ -110,7 +115,11 @@ updwtmpx32 (const char *wtmpx_file, const struct > utmpx32 *utmpx) utmpx_convert32to64 (utmpx, &in64); > __updwtmpx (wtmpx_file, &in64); > } > -symbol_version (updwtmpx32, updwtmpx, GLIBC_2.1); > +compat_symbol (libc, updwtmpx32, updwtmpx, GLIBC_2_1); > + > +#endif /* SHLIB_COMPAT(libc, GLIBC_2_1_1, UTMP_COMPAT_BASE) */ > + > +#if SHLIB_COMPAT(libc, GLIBC_2_1_1, UTMP_COMPAT_BASE) > > /* Copy the information in UTMPX to UTMP. */ > void > @@ -123,7 +132,7 @@ getutmp32 (const struct utmpx32 *utmpx, struct > utmp32 *utmp) __getutmp (&in64, &out64); > utmp_convert64to32 (&out64, utmp); > } > -symbol_version (getutmp32, getutmp, GLIBC_2.1.1); > +compat_symbol (libc, getutmp32, getutmp, GLIBC_2_1_1); > > /* Copy the information in UTMP to UTMPX. */ > void > @@ -136,4 +145,6 @@ getutmpx32 (const struct utmp32 *utmp, struct > utmpx32 *utmpx) __getutmpx (&in64, &out64); > utmpx_convert64to32 (&out64, utmpx); > } > -symbol_version (getutmpx32, getutmpx, GLIBC_2.1.1); > +compat_symbol (libc, getutmpx32, getutmpx, GLIBC_2_1_1); > + > +#endif /* SHLIB_COMPAT(libc, GLIBC_2_1, UTMP_COMPAT_BASE) */ > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h > b/login/utmpx32.h similarity index 100% > rename from sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h > rename to login/utmpx32.h > diff --git a/sysdeps/generic/utmp-compat.h > b/sysdeps/generic/utmp-compat.h new file mode 100644 > index 0000000000..122fd8905d > --- /dev/null > +++ b/sysdeps/generic/utmp-compat.h > @@ -0,0 +1,3 @@ > +/* This macro defines the glibc version tag at which the 64 bit > struct > + utmp functions have been added to the 32 bit glibc. */ > +#define UTMP_COMPAT_BASE GLIBC_2_33 > diff --git a/sysdeps/mach/hurd/i386/libc.abilist > b/sysdeps/mach/hurd/i386/libc.abilist index b4e39285d0..a9bbb5028d > 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist > +++ b/sysdeps/mach/hurd/i386/libc.abilist > @@ -2196,12 +2196,27 @@ GLIBC_2.33 fstat F > GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F Here I'm also confused - this is related to [*] as well. Wasn't those symbols exported prior GLIBC_2.33? Or were they only exported by s390? If they were only exported for s390, why other ports didn't need them exported? > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/mach/hurd/i386/libutil.abilist > b/sysdeps/mach/hurd/i386/libutil.abilist index 1dd59e0afb..6d97d3cd5e > 100644 --- a/sysdeps/mach/hurd/i386/libutil.abilist > +++ b/sysdeps/mach/hurd/i386/libutil.abilist > @@ -4,3 +4,4 @@ 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.33 login F > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index > 54b707b9cc..9172a3347e 100644 --- > a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2164,9 +2164,24 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > diff --git a/sysdeps/unix/sysv/linux/aarch64/libutil.abilist > b/sysdeps/unix/sysv/linux/aarch64/libutil.abilist index > 99889de22e..3c2d9a1c14 100644 --- > a/sysdeps/unix/sysv/linux/aarch64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/aarch64/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.17 login_tty F GLIBC_2.17 logout F > GLIBC_2.17 logwtmp F > GLIBC_2.17 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist > b/sysdeps/unix/sysv/linux/alpha/libc.abilist index > 9b429fd28f..bd217cb2c2 100644 --- > a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ > b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2246,12 +2246,27 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/alpha/libutil.abilist > b/sysdeps/unix/sysv/linux/alpha/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/alpha/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/alpha/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist > b/sysdeps/unix/sysv/linux/arc/libc.abilist index > 7ed5340364..898fd755ea 100644 --- > a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ > b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1924,9 +1924,24 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist > b/sysdeps/unix/sysv/linux/arc/libutil.abilist index > 61f73bc34e..ea3c23b433 100644 --- > a/sysdeps/unix/sysv/linux/arc/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/arc/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.32 login_tty F GLIBC_2.32 logout F > GLIBC_2.32 logwtmp F > GLIBC_2.32 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index > 3ec1cbdfbc..dd52296951 100644 --- > a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -145,12 +145,27 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 _Exit F > GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 > GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 > diff --git a/sysdeps/unix/sysv/linux/arm/le/libutil.abilist > b/sysdeps/unix/sysv/linux/arm/le/libutil.abilist index > cc1420e68c..ea54d58739 100644 --- > a/sysdeps/unix/sysv/linux/arm/le/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/arm/le/libutil.abilist @@ -1,3 +1,4 @@ > +GLIBC_2.33 login F > GLIBC_2.4 forkpty F > GLIBC_2.4 login F > GLIBC_2.4 login_tty F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist > b/sysdeps/unix/sysv/linux/csky/libc.abilist index > 301fd728d7..02636a8fa2 100644 --- > a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ > b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2108,9 +2108,24 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > diff --git a/sysdeps/unix/sysv/linux/csky/libutil.abilist > b/sysdeps/unix/sysv/linux/csky/libutil.abilist index > cbd11999a4..165b86bcf8 100644 --- > a/sysdeps/unix/sysv/linux/csky/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/csky/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.29 login_tty F GLIBC_2.29 logout F > GLIBC_2.29 logwtmp F > GLIBC_2.29 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist > b/sysdeps/unix/sysv/linux/hppa/libc.abilist index > 84834052e1..21912899a1 100644 --- > a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ > b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2067,12 +2067,27 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/hppa/libutil.abilist > b/sysdeps/unix/sysv/linux/hppa/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/hppa/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/hppa/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist > b/sysdeps/unix/sysv/linux/i386/libc.abilist index > b82debaba4..77b0d47f2a 100644 --- > a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ > b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2233,12 +2233,27 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/i386/libutil.abilist > b/sysdeps/unix/sysv/linux/i386/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/i386/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/i386/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist > b/sysdeps/unix/sysv/linux/ia64/libc.abilist index > 475b7af1a5..7c84d98fcb 100644 --- > a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2099,12 +2099,27 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/ia64/libutil.abilist > b/sysdeps/unix/sysv/linux/ia64/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/ia64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/ia64/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index > 29127e1341..421a82107f 100644 --- > a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2179,12 > +2179,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist > b/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index > e5b4cecacd..6ae7a8f5ba 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2159,9 > +2159,24 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist > b/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist index > 0da0a40c22..2f16f5498a 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/be/libutil.abilist @@ -4,3 +4,4 > @@ GLIBC_2.18 login_tty F GLIBC_2.18 logout F > GLIBC_2.18 logwtmp F > GLIBC_2.18 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index > b9f56007a2..817b22b428 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2150,12 > +2150,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index > c161ef11b5..22772a572a 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2156,12 > +2156,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index > d4b1528e7a..310db16538 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2150,12 > +2150,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist > b/sysdeps/unix/sysv/linux/nios2/libc.abilist index > 68fca4e650..ba11176736 100644 --- > a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ > b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2197,9 +2197,24 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > diff --git a/sysdeps/unix/sysv/linux/nios2/libutil.abilist > b/sysdeps/unix/sysv/linux/nios2/libutil.abilist index > 19608bd74d..348b707eee 100644 --- > a/sysdeps/unix/sysv/linux/nios2/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/nios2/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.21 login_tty F GLIBC_2.21 logout F > GLIBC_2.21 logwtmp F > GLIBC_2.21 openpty F > +GLIBC_2.33 login F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index > bec34b2128..c599b985d1 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ > -2206,12 +2206,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist @@ -4,3 > +4,4 @@ GLIBC_2.0 login_tty F GLIBC_2.0 logout F GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index > 35bd161c79..3362f3f6bb 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ > -2069,12 +2069,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf 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..41e5bf4a1f 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libutil.abilist @@ > -4,3 +4,4 @@ GLIBC_2.3 login_tty F GLIBC_2.3 logout F GLIBC_2.3 > logwtmp F GLIBC_2.3 openpty F > +GLIBC_2.33 login F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index > f1c8ad9cc5..aca57d0f38 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ > -2359,9 +2359,24 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx 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..3c2d9a1c14 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libutil.abilist @@ > -4,3 +4,4 @@ GLIBC_2.17 login_tty F GLIBC_2.17 logout F GLIBC_2.17 > logwtmp F GLIBC_2.17 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index > fdfc373871..d4e6f75078 100644 --- > a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2126,9 +2126,24 > @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist > b/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist index > cbfec8d46e..d9752a1da2 100644 --- > a/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.27 login_tty F GLIBC_2.27 logout F > GLIBC_2.27 logwtmp F > GLIBC_2.27 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c deleted file mode > 100644 index 615312ed39..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutent.c > +++ /dev/null > @@ -1,32 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#if defined SHARED > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include "login/getutent.c" > - > -#if defined SHARED > -default_symbol_version (__getutent, getutent, UTMP_COMPAT_BASE); > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c deleted file mode > 100644 index 29d8c6a6f9..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c > +++ /dev/null > @@ -1,38 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > -#include > - > -#include "utmp-compat.h" > -#include "utmp-private.h" > - > -#if defined SHARED > -weak_alias (__setutent, setutent) > -weak_alias (__endutent, endutent) > - > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include "login/getutent_r.c" > - > -#if defined SHARED > -default_symbol_version (__getutent_r, getutent_r, UTMP_COMPAT_BASE); > -default_symbol_version (__pututline, pututline, UTMP_COMPAT_BASE); > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c deleted file mode > 100644 index d3c63664df..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutid.c > +++ /dev/null > @@ -1,32 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#if defined SHARED > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include "login/getutid.c" > - > -#if defined SHARED > -default_symbol_version (__getutid, getutid, UTMP_COMPAT_BASE); > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c deleted file mode > 100644 index e5511d406a..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c > +++ /dev/null > @@ -1,35 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > -#include > -#include > - > -#include "utmp-compat.h" > -#include "utmp-private.h" > - > -#if defined SHARED > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include "login/getutid_r.c" > - > -#if defined SHARED > -default_symbol_version (__getutid_r, getutid_r, UTMP_COMPAT_BASE); > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c deleted file mode > 100644 index 1c98cc5bba..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutline.c > +++ /dev/null > @@ -1,32 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#if defined SHARED > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include "login/getutline.c" > - > -#if defined SHARED > -default_symbol_version (__getutline, getutline, UTMP_COMPAT_BASE); > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c deleted file > mode 100644 index f8b63342b4..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c > +++ /dev/null > @@ -1,34 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > -#include > - > -#include "utmp-compat.h" > -#include "utmp-private.h" > - > -#if defined SHARED > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include "login/getutline_r.c" > - > -#if defined SHARED > -default_symbol_version (__getutline_r, getutline_r, > UTMP_COMPAT_BASE);; -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c deleted file mode > 100644 index 50ce8c4f5c..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#undef weak_alias > -#define weak_alias(a, b) > -#undef strong_alias > -#define strong_alias(a, b) > - > -#include > - > -#include "utmp-compat.h" > - > -default_symbol_version (__getutmp, getutmp, UTMP_COMPAT_BASE); > -_strong_alias (__getutmp, __getutmpx) > -default_symbol_version (__getutmpx, getutmpx, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c deleted file mode > 100644 index be887a672b..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#undef weak_alias > -#define weak_alias(n,a) > -#define getutxent __getutxent > -#include "login/getutxent.c" > -#undef getutxent > - > -default_symbol_version (__getutxent, getutxent, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c deleted file mode > 100644 index 85febe277b..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#undef weak_alias > -#define weak_alias(n,a) > -#define getutxid __getutxid > -#include "login/getutxid.c" > -#undef getutxid > - > -default_symbol_version (__getutxid, getutxid, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c > b/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c deleted file mode > 100644 index a69740a712..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#undef weak_alias > -#define weak_alias(n,a) > -#define getutxline __getutxline > -#include "login/getutxline.c" > -#undef getutxline > - > -default_symbol_version (__getutxline, getutxline, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/login.c > b/sysdeps/unix/sysv/linux/s390/s390-32/login.c deleted file mode > 100644 index 25ee4a8b16..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/login.c > +++ /dev/null > @@ -1,35 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > -#include > -#include > -#include > -#include > -#include > - > -#include "utmp-compat.h" > - > -#undef weak_alias > -#define weak_alias(n,a) > -#define login __login > -#include "login/login.c" > -#undef login > - > -default_symbol_version (__login, login, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c > b/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c deleted file mode > 100644 index c8f773d9dc..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#undef weak_alias > -#define weak_alias(n,a) > -#define pututxline __pututxline > -#include "login/pututxline.c" > -#undef pututxline > - > -default_symbol_version (__pututxline, pututxline, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c > b/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c deleted file mode > 100644 index 2079571cc1..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c > +++ /dev/null > @@ -1,32 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > - > -#include "utmp-compat.h" > -#include "utmp-private.h" > - > -#if defined SHARED > -# undef weak_alias > -# define weak_alias(n,a) > -#endif > -#include > - > -#if defined SHARED > -default_symbol_version (__updwtmp, updwtmp, UTMP_COMPAT_BASE); > -#endif > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c > b/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c deleted file mode > 100644 index ce94139c3c..0000000000 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c > +++ /dev/null > @@ -1,30 +0,0 @@ > -/* Copyright (C) 2008-2020 Free Software Foundation, Inc. > - Contributed by Andreas Krebbel . > - 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 > - . */ > - > -#include > -#include > - > -#include "utmp-compat.h" > - > -#undef weak_alias > -#define weak_alias(n,a) > -#define updwtmpx __updwtmpx > -#include "login/updwtmpx.c" > -#undef updwtmpx > - > -default_symbol_version (__updwtmpx, updwtmpx, UTMP_COMPAT_BASE); > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h > b/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h index > 4e5972b65d..ef8115370c 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h +++ > b/sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h @@ -18,4 +18,4 @@ > > /* This macro defines the glibc version tag at which the 64 bit > struct utmp functions have been added to the 32 bit glibc. */ > -#define UTMP_COMPAT_BASE GLIBC_2.9 > +#define UTMP_COMPAT_BASE GLIBC_2_9 > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index > bd96aeaff7..0df18459dc 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2105,12 > +2105,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf 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..3f66f39bac 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist @@ -4,3 +4,4 > @@ GLIBC_2.2 login_tty F GLIBC_2.2 logout F > GLIBC_2.2 logwtmp F > GLIBC_2.2 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index > b4cebb11dd..ea78226332 100644 --- > a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2071,12 +2071,27 @@ > GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libutil.abilist > b/sysdeps/unix/sysv/linux/sh/le/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/sh/le/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/sh/le/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index > f208405859..6f3a2df230 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2195,12 > +2195,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 _IO_fprintf F > GLIBC_2.4 _IO_printf F > GLIBC_2.4 _IO_sprintf F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist @@ -4,3 +4,4 > @@ GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index > 44e68aded2..b4e75bb47e 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2122,12 > +2122,27 @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist index > aa2d35b323..1bd22adb45 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist @@ -4,3 +4,4 > @@ GLIBC_2.0 login_tty F GLIBC_2.0 logout F > GLIBC_2.0 logwtmp F > GLIBC_2.0 openpty F > +GLIBC_2.33 login F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index > 51e76861f6..74c0c26ba5 100644 --- > a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2080,12 +2080,27 > @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx F > GLIBC_2.4 __confstr_chk F > GLIBC_2.4 __fgets_chk F > GLIBC_2.4 __fgets_unlocked_chk 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..7df76778a4 100644 --- > a/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist @@ -4,3 +4,4 @@ > 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.33 login F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index > f83473c11f..3597a3ff88 100644 --- > a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2177,9 +2177,24 > @@ GLIBC_2.33 fstat F GLIBC_2.33 fstat64 F > GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > +GLIBC_2.33 getutent F > +GLIBC_2.33 getutent_r F > +GLIBC_2.33 getutid F > +GLIBC_2.33 getutid_r F > +GLIBC_2.33 getutline F > +GLIBC_2.33 getutline_r F > +GLIBC_2.33 getutmp F > +GLIBC_2.33 getutmpx F > +GLIBC_2.33 getutxent F > +GLIBC_2.33 getutxid F > +GLIBC_2.33 getutxline F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > GLIBC_2.33 mknod F > GLIBC_2.33 mknodat F > +GLIBC_2.33 pututline F > +GLIBC_2.33 pututxline F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.33 updwtmp F > +GLIBC_2.33 updwtmpx 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..9431f297d8 100644 --- > a/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist +++ > b/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist @@ -4,3 +4,4 @@ > GLIBC_2.16 login_tty F GLIBC_2.16 logout F > GLIBC_2.16 logwtmp F > GLIBC_2.16 openpty F > +GLIBC_2.33 login F Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de