On Thu, 23 Jul 2020 16:46:35 -0300 Adhemerval Zanella wrote: > This patch removes the mknod and mknodat static wrapper and add the > symbols on the libc with the expected names. > > Both the prototypes of the internal symbol linked by the static > wrappers and the inline redirectors are also removed from the > installed sys/stat.h header file. The wrapper implementation license > is also change from LGPL to GPL. > > Internally the _STAT_VER* definitions are moved to the arch-specific > xstatver.h file. > > Checked with a build for all affected Linux ABIs and Hurd. I checked > also on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by: Lukasz Majewski > --- > include/sys/stat.h | 13 ++++--- > io/Makefile | 5 --- > io/Versions | 1 + > io/mknod.c | 35 > +++---------------- io/mknodat.c | > 35 +++---------------- io/sys/stat.h > | 30 ---------------- sysdeps/generic/xstatver.h | > 1 + sysdeps/mach/hurd/i386/libc.abilist | 2 ++ > sysdeps/posix/mkfifo.c | 3 +- > sysdeps/posix/mkfifoat.c | 3 +- > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/alpha/bits/stat.h | 4 --- > sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/alpha/xstatver.h | 5 +++ > sysdeps/unix/sysv/linux/arc/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/bits/stat.h | 7 ---- > sysdeps/unix/sysv/linux/csky/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/generic/bits/stat.h | 3 -- > sysdeps/unix/sysv/linux/generic/xstatver.h | 5 +++ > sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/ia64/bits/stat.h | 3 -- > sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/ia64/xstatver.h | 5 +++ > sysdeps/unix/sysv/linux/m68k/bits/stat.h | 6 ---- > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/m68k/xstatver.h | 6 ++++ > .../sysv/linux/microblaze/be/libc.abilist | 2 ++ > .../unix/sysv/linux/microblaze/bits/stat.h | 5 --- > sysdeps/unix/sysv/linux/microblaze/xstatver.h | 6 ++++ > sysdeps/unix/sysv/linux/mips/bits/stat.h | 5 --- > .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 ++ > .../sysv/linux/mips/mips64/n32/libc.abilist | 2 ++ > .../sysv/linux/mips/mips64/n64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/mips/xstatver.h | 6 ++++ > sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/powerpc/bits/stat.h | 5 --- > .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++ > .../linux/powerpc/powerpc64/be/libc.abilist | 2 ++ > .../linux/powerpc/powerpc64/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/powerpc/xstatver.h | 6 ++++ > .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/s390/bits/stat.h | 10 ------ > .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 ++ > .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/s390/xstatver.h | 6 +++- > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/sparc/bits/stat.h | 6 ---- > .../sysv/linux/sparc/sparc32/libc.abilist | 2 ++ > .../sysv/linux/sparc/sparc64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/sparc/xstatver.h | 6 ++++ > sysdeps/unix/sysv/linux/x86/bits/stat.h | 11 ------ > sysdeps/unix/sysv/linux/x86/xstatver.h | 5 ++- > .../unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ > .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/xstatver.h | 6 ++++ > 57 files changed, 133 insertions(+), 172 deletions(-) > > diff --git a/include/sys/stat.h b/include/sys/stat.h > index 0be918a7a7..04b825df4a 100644 > --- a/include/sys/stat.h > +++ b/include/sys/stat.h > @@ -30,14 +30,17 @@ extern __mode_t __umask (__mode_t __mask); > extern int __mkdir (const char *__path, __mode_t __mode); > libc_hidden_proto (__mkdir) > > +extern int __mknodat (int fd, const char *path, mode_t mode, dev_t > dev); +libc_hidden_proto (__mknodat); > extern int __mknod (const char *__path, > __mode_t __mode, __dev_t __dev); > +libc_hidden_proto (__mknod); > + > +extern int __xmknod (int __ver, const char *__path, __mode_t __mode, > + __dev_t *__dev); > libc_hidden_proto (__xmknod) > -extern __inline__ int __mknod (const char *__path, __mode_t __mode, > - __dev_t __dev) > -{ > - return __xmknod (_MKNOD_VER, __path, __mode, &__dev); > -} > +extern int __xmknodat (int __ver, int __fd, const char *__path, > + __mode_t __mode, __dev_t *__dev); > libc_hidden_proto (__xmknodat) > > int __fxstat (int __ver, int __fildes, struct stat *__stat_buf); > diff --git a/io/Makefile b/io/Makefile > index cee356b666..2ed86c530e 100644 > --- a/io/Makefile > +++ b/io/Makefile > @@ -57,11 +57,6 @@ routines := > \ sendfile sendfile64 copy_file_range > \ utimensat futimens file_change_detection > > -# These routines will be omitted from the libc shared object. > -# Instead the static object files will be included in a special > archive -# linked against when the shared library will be used. > -static-only-routines = mknod mknodat > - > others := pwd > test-srcs := ftwtest > tests := test-utime test-stat test-stat2 test-lfs > tst-getcwd \ diff --git a/io/Versions b/io/Versions > index f6db0e84ad..49c4d2d40a 100644 > --- a/io/Versions > +++ b/io/Versions > @@ -134,6 +134,7 @@ libc { > } > GLIBC_2.33 { > stat; stat64; fstat; fstat64; lstat; lstat64; fstatat; fstatat64; > + mknod; mknodat; > } > GLIBC_PRIVATE { > __libc_fcntl64; > diff --git a/io/mknod.c b/io/mknod.c > index ac96829230..7f88633198 100644 > --- a/io/mknod.c > +++ b/io/mknod.c > @@ -1,4 +1,5 @@ > -/* Copyright (C) 1995-2020 Free Software Foundation, Inc. > +/* Create a special or ordinary file. > + Copyright (C) 1995-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 > @@ -6,23 +7,6 @@ > License as published by the Free Software Foundation; either > version 2.1 of the License, or (at your option) any later version. > > - In addition to the permissions in the GNU Lesser General Public > - License, the Free Software Foundation gives you unlimited > - permission to link the compiled version of this file with other > - programs, and to distribute those programs without any restriction > - coming from the use of this file. (The GNU Lesser General Public > - License restrictions do apply in other respects; for example, they > - cover modification of the file, and distribution when not linked > - into another program.) > - > - Note that people who make modified versions of this file are not > - obligated to grant this special exception for their modified > - versions; it is their choice whether to do so. The GNU Lesser > - General Public License gives permission to release a modified > - version without this exception; this exception also makes it > - possible to release a modified version which carries forward this > - exception. > - > 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 > @@ -32,24 +16,13 @@ > License along with the GNU C Library; if not, see > . */ > > - > #include > #include > > -/* This definition is only used if inlining fails for this function; > see > - the last page of . The real work is done by the `x' > - function which is passed a version number argument. We arrange > in the > - makefile that when not inlined this function is always statically > - linked; that way a dynamically-linked executable always encodes > the > - version number corresponding to the data structures it uses, so > the `x' > - functions in the shared library can adapt without needing to > recompile > - all callers. */ > - > int > -attribute_hidden > __mknod (const char *path, mode_t mode, dev_t dev) > { > return __xmknod (_MKNOD_VER, path, mode, &dev); > } > - > -weak_hidden_alias (__mknod, mknod) > +libc_hidden_def (__mknod) > +weak_alias (__mknod, mknod) > diff --git a/io/mknodat.c b/io/mknodat.c > index 65c9f1aa9c..6ec1c1648c 100644 > --- a/io/mknodat.c > +++ b/io/mknodat.c > @@ -1,4 +1,5 @@ > -/* Copyright (C) 1995-2020 Free Software Foundation, Inc. > +/* Create a special or ordinary file. > + Copyright (C) 1995-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 > @@ -6,23 +7,6 @@ > License as published by the Free Software Foundation; either > version 2.1 of the License, or (at your option) any later version. > > - In addition to the permissions in the GNU Lesser General Public > - License, the Free Software Foundation gives you unlimited > - permission to link the compiled version of this file with other > - programs, and to distribute those programs without any restriction > - coming from the use of this file. (The GNU Lesser General Public > - License restrictions do apply in other respects; for example, they > - cover modification of the file, and distribution when not linked > - into another program.) > - > - Note that people who make modified versions of this file are not > - obligated to grant this special exception for their modified > - versions; it is their choice whether to do so. The GNU Lesser > - General Public License gives permission to release a modified > - version without this exception; this exception also makes it > - possible to release a modified version which carries forward this > - exception. > - > 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 > @@ -32,22 +16,13 @@ > License along with the GNU C Library; if not, see > . */ > > - > #include > #include > > -/* This definition is only used if inlining fails for this function; > see > - the last page of . The real work is done by the `x' > - function which is passed a version number argument. We arrange > in the > - makefile that when not inlined this function is always statically > - linked; that way a dynamically-linked executable always encodes > the > - version number corresponding to the data structures it uses, so > the `x' > - functions in the shared library can adapt without needing to > recompile > - all callers. */ > - > int > -attribute_hidden > -mknodat (int fd, const char *path, mode_t mode, dev_t dev) > +__mknodat (int fd, const char *path, mode_t mode, dev_t dev) > { > return __xmknodat (_MKNOD_VER, fd, path, mode, &dev); > } > +libc_hidden_def (__mknodat) > +weak_alias (__mknodat, mknodat) > diff --git a/io/sys/stat.h b/io/sys/stat.h > index 83cf253c72..58c3770622 100644 > --- a/io/sys/stat.h > +++ b/io/sys/stat.h > @@ -367,41 +367,11 @@ extern int utimensat (int __fd, const char > *__path, /* Set file access and modification times of the file > associated with FD. */ extern int futimens (int __fd, const struct > timespec __times[2]) __THROW; #endif > - > -#ifndef _MKNOD_VER > -# define _MKNOD_VER 0 > -#endif > - > -extern int __xmknod (int __ver, const char *__path, __mode_t __mode, > - __dev_t *__dev) __THROW __nonnull ((2, 4)); > - > -extern int __xmknodat (int __ver, int __fd, const char *__path, > - __mode_t __mode, __dev_t *__dev) > - __THROW __nonnull ((3, 5)); > > #ifdef __USE_GNU > # include > #endif > > -#ifdef __USE_EXTERN_INLINES > -# ifdef __USE_MISC > -__extern_inline int > -__NTH (mknod (const char *__path, __mode_t __mode, __dev_t __dev)) > -{ > - return __xmknod (_MKNOD_VER, __path, __mode, &__dev); > -} > -# endif > - > -# ifdef __USE_ATFILE > -__extern_inline int > -__NTH (mknodat (int __fd, const char *__path, __mode_t __mode, > - __dev_t __dev)) > -{ > - return __xmknodat (_MKNOD_VER, __fd, __path, __mode, &__dev); > -} > -# endif > -#endif > - > __END_DECLS > > > diff --git a/sysdeps/generic/xstatver.h b/sysdeps/generic/xstatver.h > index d727c98a16..281013b2f1 100644 > --- a/sysdeps/generic/xstatver.h > +++ b/sysdeps/generic/xstatver.h > @@ -1,3 +1,4 @@ > /* Versions of the 'struct stat' data structure used in > compatibility xstat functions. */ > #define _STAT_VER 0 > +#define _MKNOD_VER 0 > diff --git a/sysdeps/mach/hurd/i386/libc.abilist > b/sysdeps/mach/hurd/i386/libc.abilist index 74a4ed5c1d..b4e39285d0 > 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist > +++ b/sysdeps/mach/hurd/i386/libc.abilist > @@ -2198,6 +2198,8 @@ GLIBC_2.33 fstatat F > GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/posix/mkfifo.c b/sysdeps/posix/mkfifo.c > index 61f62e2e96..0b89f6c291 100644 > --- a/sysdeps/posix/mkfifo.c > +++ b/sysdeps/posix/mkfifo.c > @@ -24,6 +24,5 @@ > int > mkfifo (const char *path, mode_t mode) > { > - dev_t dev = 0; > - return __xmknod (_MKNOD_VER, path, mode | S_IFIFO, &dev); > + return __mknod (path, mode | S_IFIFO, 0); > } > diff --git a/sysdeps/posix/mkfifoat.c b/sysdeps/posix/mkfifoat.c > index 5287fe8782..d1e0977ba1 100644 > --- a/sysdeps/posix/mkfifoat.c > +++ b/sysdeps/posix/mkfifoat.c > @@ -23,6 +23,5 @@ > int > mkfifoat (int fd, const char *file, mode_t mode) > { > - dev_t dev = 0; > - return __xmknodat (_MKNOD_VER, fd, file, mode | S_IFIFO, &dev); > + return __mknodat (fd, file, mode | S_IFIFO, 0); > } > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index > 03e4ae9296..54b707b9cc 100644 --- > a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2166,5 +2166,7 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/alpha/bits/stat.h > b/sysdeps/unix/sysv/linux/alpha/bits/stat.h index > 1fc27936b9..d20fb5a4b0 100644 --- > a/sysdeps/unix/sysv/linux/alpha/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/alpha/bits/stat.h @@ -22,10 +22,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 0 > - > - > /* Nanosecond resolution timestamps are stored in a format > equivalent to 'struct timespec'. This is the type used whenever > possible but the Unix namespace rules do not allow the identifier > 'timespec' to appear diff --git > a/sysdeps/unix/sysv/linux/alpha/libc.abilist > b/sysdeps/unix/sysv/linux/alpha/libc.abilist index > 5b752ef4a8..9b429fd28f 100644 --- > a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ > b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2248,6 +2248,8 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/alpha/xstatver.h > b/sysdeps/unix/sysv/linux/alpha/xstatver.h index > bbb9469617..1cb5d26bb1 100644 --- > a/sysdeps/unix/sysv/linux/alpha/xstatver.h +++ > b/sysdeps/unix/sysv/linux/alpha/xstatver.h @@ -7,3 +7,8 @@ > #define _STAT_VER_GLIBC2_3_4 3 > #define _STAT_VER_LINUX 3 > #define _STAT_VER _STAT_VER_LINUX > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 0 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist > b/sysdeps/unix/sysv/linux/arc/libc.abilist index > 925b532383..7ed5340364 100644 --- > a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ > b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1926,5 +1926,7 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index > a4c1a7c03c..3ec1cbdfbc 100644 --- > a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -147,6 +147,8 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _Exit F > diff --git a/sysdeps/unix/sysv/linux/bits/stat.h > b/sysdeps/unix/sysv/linux/bits/stat.h index b542623208..0669451f69 > 100644 --- a/sysdeps/unix/sysv/linux/bits/stat.h > +++ b/sysdeps/unix/sysv/linux/bits/stat.h > @@ -22,13 +22,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `struct stat' data structure. */ > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 1 > -#define _MKNOD_VER_SVR4 2 > -#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits > defined below. */ - > - > struct stat > { > __dev_t st_dev; /* Device. */ > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist > b/sysdeps/unix/sysv/linux/csky/libc.abilist index > 799873e189..301fd728d7 100644 --- > a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ > b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2110,5 +2110,7 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/generic/bits/stat.h > b/sysdeps/unix/sysv/linux/generic/bits/stat.h index > 35e14a47c6..1b586d72fa 100644 --- > a/sysdeps/unix/sysv/linux/generic/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/generic/bits/stat.h @@ -26,9 +26,6 @@ > #include > #include > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 0 > - > #if defined __USE_FILE_OFFSET64 > # define __field64(type, type64, name) type64 name > #elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T > diff --git a/sysdeps/unix/sysv/linux/generic/xstatver.h > b/sysdeps/unix/sysv/linux/generic/xstatver.h index > 8675db494c..d8fd35beb6 100644 --- > a/sysdeps/unix/sysv/linux/generic/xstatver.h +++ > b/sysdeps/unix/sysv/linux/generic/xstatver.h @@ -3,3 +3,8 @@ > #define _STAT_VER_KERNEL 0 > #define _STAT_VER_LINUX 0 > #define _STAT_VER _STAT_VER_KERNEL > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 0 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist > b/sysdeps/unix/sysv/linux/hppa/libc.abilist index > 95c7bf4f06..84834052e1 100644 --- > a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ > b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2069,6 +2069,8 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist > b/sysdeps/unix/sysv/linux/i386/libc.abilist index > e7cf5cdb98..b82debaba4 100644 --- > a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ > b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2235,6 +2235,8 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/ia64/bits/stat.h > b/sysdeps/unix/sysv/linux/ia64/bits/stat.h index > 8ec2e4c81f..6937f3227a 100644 --- > a/sysdeps/unix/sysv/linux/ia64/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/ia64/bits/stat.h @@ -22,9 +22,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 0 > - > struct stat > { > __dev_t st_dev; /* Device. */ > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist > b/sysdeps/unix/sysv/linux/ia64/libc.abilist index > beeb905efd..475b7af1a5 100644 --- > a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2101,6 +2101,8 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/ia64/xstatver.h > b/sysdeps/unix/sysv/linux/ia64/xstatver.h index > 4f02f697ad..f24ab4a9ee 100644 --- > a/sysdeps/unix/sysv/linux/ia64/xstatver.h +++ > b/sysdeps/unix/sysv/linux/ia64/xstatver.h @@ -3,3 +3,8 @@ > #define _STAT_VER_KERNEL 0 > #define _STAT_VER_LINUX 1 > #define _STAT_VER _STAT_VER_LINUX > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 0 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/m68k/bits/stat.h > b/sysdeps/unix/sysv/linux/m68k/bits/stat.h index > bf41776e6c..c6f761fcc0 100644 --- > a/sysdeps/unix/sysv/linux/m68k/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/m68k/bits/stat.h @@ -22,12 +22,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 1 > -#define _MKNOD_VER_SVR4 2 > -#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits > defined below. */ - > - > struct stat > { > __dev_t st_dev; /* Device. */ > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index > ed34e1fc82..29127e1341 100644 --- > a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2181,6 +2181,8 > @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/m68k/xstatver.h > b/sysdeps/unix/sysv/linux/m68k/xstatver.h index > 59dba71dd1..8e1801b603 100644 --- > a/sysdeps/unix/sysv/linux/m68k/xstatver.h +++ > b/sysdeps/unix/sysv/linux/m68k/xstatver.h @@ -5,3 +5,9 @@ > #define _STAT_VER_SVR4 2 > #define _STAT_VER_LINUX 3 > #define _STAT_VER _STAT_VER_LINUX > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 1 > +#define _MKNOD_VER_SVR4 2 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index > e00f5115b2..e5b4cecacd 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2161,5 > +2161,7 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/bits/stat.h > b/sysdeps/unix/sysv/linux/microblaze/bits/stat.h index > 51316a8c1b..b3068e5c98 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/microblaze/bits/stat.h @@ -23,11 +23,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 1 > -#define _MKNOD_VER_SVR4 2 > -#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined > below. */ - > #ifndef __USE_FILE_OFFSET64 > struct stat > { > diff --git a/sysdeps/unix/sysv/linux/microblaze/xstatver.h > b/sysdeps/unix/sysv/linux/microblaze/xstatver.h index > bddaa0d5ec..790cc834d2 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/xstatver.h +++ > b/sysdeps/unix/sysv/linux/microblaze/xstatver.h @@ -5,3 +5,9 @@ > #define _STAT_VER_SVR4 2 > #define _STAT_VER_LINUX 3 > #define _STAT_VER _STAT_VER_LINUX /* The one defined > below. */ + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 1 > +#define _MKNOD_VER_SVR4 2 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/mips/bits/stat.h > b/sysdeps/unix/sysv/linux/mips/bits/stat.h index > cfeb4ce6a4..f229c58013 100644 --- > a/sysdeps/unix/sysv/linux/mips/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/mips/bits/stat.h @@ -24,11 +24,6 @@ > > #include > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 1 > -#define _MKNOD_VER_SVR4 2 > -#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits > defined below. */ - > > #if _MIPS_SIM == _ABIO32 > /* Structure describing file characteristics. */ > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index > fe9ba4e982..b9f56007a2 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2152,6 > +2152,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index > e67591e710..c161ef11b5 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2158,6 > +2158,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_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 > e4eb9e6bbf..d4b1528e7a 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2152,6 > +2152,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/xstatver.h > b/sysdeps/unix/sysv/linux/mips/xstatver.h index > 59dba71dd1..8e1801b603 100644 --- > a/sysdeps/unix/sysv/linux/mips/xstatver.h +++ > b/sysdeps/unix/sysv/linux/mips/xstatver.h @@ -5,3 +5,9 @@ > #define _STAT_VER_SVR4 2 > #define _STAT_VER_LINUX 3 > #define _STAT_VER _STAT_VER_LINUX > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 1 > +#define _MKNOD_VER_SVR4 2 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist > b/sysdeps/unix/sysv/linux/nios2/libc.abilist index > 0878998441..68fca4e650 100644 --- > a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ > b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2199,5 +2199,7 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h > b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h index > 40ea9a96d4..80c9dc23ac 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h @@ -24,11 +24,6 @@ > > #include > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 1 > -#define _MKNOD_VER_SVR4 2 > -#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits > defined below. */ - > > #if __WORDSIZE == 32 > > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index > 993c957e8e..bec34b2128 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ > -2208,6 +2208,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _IO_fprintf F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index > 25a8e828e9..35bd161c79 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ > -2071,6 +2071,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _IO_fprintf F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index > 46ae28e552..f1c8ad9cc5 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ > -2361,5 +2361,7 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/powerpc/xstatver.h > b/sysdeps/unix/sysv/linux/powerpc/xstatver.h index > 1656e2f7e4..aa61dfd678 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/xstatver.h +++ > b/sysdeps/unix/sysv/linux/powerpc/xstatver.h @@ -9,3 +9,9 @@ > #else > # define _STAT_VER _STAT_VER_KERNEL > #endif > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 1 > +#define _MKNOD_VER_SVR4 2 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index > 1044aa6be2..fdfc373871 100644 --- > a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2128,5 +2128,7 > @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/s390/bits/stat.h > b/sysdeps/unix/sysv/linux/s390/bits/stat.h index > d12055529a..75fa871a1d 100644 --- > a/sysdeps/unix/sysv/linux/s390/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/s390/bits/stat.h @@ -24,16 +24,6 @@ > > #include > > -#if __WORDSIZE == 64 > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 0 > -#else > -/* Versions of the `xmknod' interface. */ > -# define _MKNOD_VER_LINUX 1 > -# define _MKNOD_VER_SVR4 2 > -# define _MKNOD_VER _MKNOD_VER_LINUX > -#endif > - > #if __WORDSIZE == 64 > struct stat > { > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index > 6b1fa7e67f..47591dc5b5 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2206,6 > +2206,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index > 0aec094e7b..bd96aeaff7 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2107,6 > +2107,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/s390/xstatver.h > b/sysdeps/unix/sysv/linux/s390/xstatver.h index > 5ad0db2797..aeaf852ee5 100644 --- > a/sysdeps/unix/sysv/linux/s390/xstatver.h +++ > b/sysdeps/unix/sysv/linux/s390/xstatver.h @@ -7,10 +7,14 @@ > # define _STAT_VER_KERNEL 0 > # define _STAT_VER_LINUX 1 > # define _STAT_VER _STAT_VER_LINUX > +# define _MKNOD_VER_LINUX 0 > #else > # define _STAT_VER_LINUX_OLD 1 > # define _STAT_VER_KERNEL 1 > # define _STAT_VER_SVR4 2 > # define _STAT_VER_LINUX 3 > -# define _STAT_VER _STAT_VER_LINUX > +# define _MKNOD_VER_LINUX 1 > +# define _MKNOD_VER_SVR4 2 > #endif > +#define _STAT_VER _STAT_VER_LINUX > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index > e2ae13d4fa..b4cebb11dd 100644 --- > a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2073,6 +2073,8 @@ > GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/sparc/bits/stat.h > b/sysdeps/unix/sysv/linux/sparc/bits/stat.h index > 7af17b5c40..d10ebb1a9a 100644 --- > a/sysdeps/unix/sysv/linux/sparc/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/sparc/bits/stat.h @@ -22,12 +22,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `xmknod' interface. */ > -#define _MKNOD_VER_LINUX 1 > -#define _MKNOD_VER_SVR4 2 > -#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits > defined below. */ - > - > struct stat > { > __dev_t st_dev; /* Device. */ > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index > 886e01960f..f208405859 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2197,6 > +2197,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index > 33b068201a..44e68aded2 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2124,6 > +2124,8 @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/sparc/xstatver.h > b/sysdeps/unix/sysv/linux/sparc/xstatver.h index > ae92b530e7..693b41c3ac 100644 --- > a/sysdeps/unix/sysv/linux/sparc/xstatver.h +++ > b/sysdeps/unix/sysv/linux/sparc/xstatver.h @@ -5,3 +5,9 @@ > #define _STAT_VER_SVR4 2 > #define _STAT_VER_LINUX 3 > #define _STAT_VER _STAT_VER_LINUX /* The one > defined below. */ + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 1 > +#define _MKNOD_VER_SVR4 2 > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/x86/bits/stat.h > b/sysdeps/unix/sysv/linux/x86/bits/stat.h index > f132569e9d..2c0a3f120b 100644 --- > a/sysdeps/unix/sysv/linux/x86/bits/stat.h +++ > b/sysdeps/unix/sysv/linux/x86/bits/stat.h @@ -22,17 +22,6 @@ > #ifndef _BITS_STAT_H > #define _BITS_STAT_H 1 > > -/* Versions of the `struct stat' data structure. */ > -#ifndef __x86_64__ > -/* i386 versions of the `xmknod' interface. */ > -# define _MKNOD_VER_LINUX 1 > -# define _MKNOD_VER_SVR4 2 > -# define _MKNOD_VER _MKNOD_VER_LINUX /* The bits > defined below. */ -#else > -/* x86-64 versions of the `xmknod' interface. */ > -# define _MKNOD_VER_LINUX 0 > -#endif > - > struct stat > { > __dev_t st_dev; /* Device. */ > diff --git a/sysdeps/unix/sysv/linux/x86/xstatver.h > b/sysdeps/unix/sysv/linux/x86/xstatver.h index 6f047a346d..678d5bc022 > 100644 --- a/sysdeps/unix/sysv/linux/x86/xstatver.h > +++ b/sysdeps/unix/sysv/linux/x86/xstatver.h > @@ -5,9 +5,12 @@ > # define _STAT_VER_KERNEL 1 > # define _STAT_VER_SVR4 2 > # define _STAT_VER_LINUX 3 > +# define _MKNOD_VER_LINUX 1 > +# define _MKNOD_VER_SVR4 2 > #else > # define _STAT_VER_KERNEL 0 > # define _STAT_VER_LINUX 1 > +# define _MKNOD_VER_LINUX 0 > #endif > #define _STAT_VER _STAT_VER_LINUX > - > +#define _MKNOD_VER _MKNOD_VER_LINUX > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index > f767bdde24..51e76861f6 100644 --- > a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ > b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2082,6 +2082,8 > @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index > 535862a51e..f83473c11f 100644 --- > a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2179,5 +2179,7 > @@ GLIBC_2.33 fstatat F GLIBC_2.33 fstatat64 F > GLIBC_2.33 lstat F > GLIBC_2.33 lstat64 F > +GLIBC_2.33 mknod F > +GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > diff --git a/sysdeps/unix/sysv/linux/xstatver.h > b/sysdeps/unix/sysv/linux/xstatver.h index 59dba71dd1..8e1801b603 > 100644 --- a/sysdeps/unix/sysv/linux/xstatver.h > +++ b/sysdeps/unix/sysv/linux/xstatver.h > @@ -5,3 +5,9 @@ > #define _STAT_VER_SVR4 2 > #define _STAT_VER_LINUX 3 > #define _STAT_VER _STAT_VER_LINUX > + > +/* Versions of the 'xmknod' interface used in compatibility xmknod > + functions. */ > +#define _MKNOD_VER_LINUX 1 > +#define _MKNOD_VER_SVR4 2 > +#define _MKNOD_VER _MKNOD_VER_LINUX 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