Remove stat wrapper functions, move them to exported symbols
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 16 Jul 2020 14:06:51 +0000 (14:06 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 9 Oct 2020 20:02:06 +0000 (17:02 -0300)
commit8ed005daf0ab03e142500324a34087ce179ae78e
tree2541dfc11ce5fe84696c84266a1b2eb22fe2f571
parent428985c436f442e91e27173bccaf28f547233586
Remove stat wrapper functions, move them to exported symbols

This patch removes the stat, stat64, lstat, lstat64, fstat, fstat64,
fstatat, and fstatat64 static wrapper and add the symbol 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 LGPL
exception is also removed since it is no longer statically linked to
binaries.

Internally the _STAT_VER* definitions are moved to a arch-specific
xstatver.h file.  The internal defines that redirects internals
{f}stat{at} to their {f}xstat{at} counterparts are removed for Linux
(!NO_RTLD_HIDDEN).  Hurd still requires them since {f}stat{at} pulls
extra objects that makes the loader build fail otherwise (I haven't
dig into why exactly).

Checked with a build for all affected ABIs. I also checked on x86_64,
i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x.

Reviewed-by: Lukasz Majewski <lukma@denx.de>
67 files changed:
include/sys/stat.h
io/Makefile
io/Versions
io/fstat.c
io/fstat64.c
io/fstatat.c
io/fstatat64.c
io/lstat.c
io/lstat64.c
io/stat.c
io/stat64.c
io/sys/stat.h
nscd/gai.c
sysdeps/generic/xstatver.h [new file with mode: 0644]
sysdeps/mach/hurd/i386/libc.abilist
sysdeps/posix/getaddrinfo.c
sysdeps/unix/sysv/linux/aarch64/libc.abilist
sysdeps/unix/sysv/linux/alpha/bits/stat.h
sysdeps/unix/sysv/linux/alpha/libc.abilist
sysdeps/unix/sysv/linux/alpha/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/arc/libc.abilist
sysdeps/unix/sysv/linux/arm/le/libc.abilist
sysdeps/unix/sysv/linux/bits/stat.h
sysdeps/unix/sysv/linux/csky/libc.abilist
sysdeps/unix/sysv/linux/generic/bits/stat.h
sysdeps/unix/sysv/linux/generic/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/ia64/bits/stat.h
sysdeps/unix/sysv/linux/ia64/libc.abilist
sysdeps/unix/sysv/linux/ia64/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/m68k/bits/stat.h
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/m68k/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
sysdeps/unix/sysv/linux/microblaze/bits/stat.h
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
sysdeps/unix/sysv/linux/microblaze/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/bits/stat.h
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
sysdeps/unix/sysv/linux/mips/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/nios2/libc.abilist
sysdeps/unix/sysv/linux/powerpc/bits/stat.h
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
sysdeps/unix/sysv/linux/powerpc/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
sysdeps/unix/sysv/linux/s390/bits/stat.h
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
sysdeps/unix/sysv/linux/s390/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sh/be/libc.abilist
sysdeps/unix/sysv/linux/sh/le/libc.abilist
sysdeps/unix/sysv/linux/sparc/bits/stat.h
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
sysdeps/unix/sysv/linux/sparc/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/x86/bits/stat.h
sysdeps/unix/sysv/linux/x86/xstatver.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
sysdeps/unix/sysv/linux/xstatver.h [new file with mode: 0644]