diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-16 14:06:51 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-10-09 17:02:06 -0300 |
commit | 8ed005daf0ab03e142500324a34087ce179ae78e (patch) | |
tree | 2541dfc11ce5fe84696c84266a1b2eb22fe2f571 /sysdeps/unix/sysv/linux/powerpc | |
parent | 428985c436f442e91e27173bccaf28f547233586 (diff) | |
download | glibc-8ed005daf0ab03e142500324a34087ce179ae78e.tar.gz glibc-8ed005daf0ab03e142500324a34087ce179ae78e.tar.xz glibc-8ed005daf0ab03e142500324a34087ce179ae78e.zip |
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>
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc')
6 files changed, 43 insertions, 11 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h index 61781bd902..40ea9a96d4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h @@ -24,17 +24,6 @@ #include <bits/wordsize.h> -/* Versions of the `struct stat' data structure. */ -#define _STAT_VER_LINUX_OLD 1 -#define _STAT_VER_KERNEL 1 -#define _STAT_VER_SVR4 2 -#define _STAT_VER_LINUX 3 -#if __WORDSIZE == 32 -# define _STAT_VER _STAT_VER_LINUX -#else -# define _STAT_VER _STAT_VER_KERNEL -#endif - /* Versions of the `xmknod' interface. */ #define _MKNOD_VER_LINUX 1 #define _MKNOD_VER_SVR4 2 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 2925850690..18f4f3e91d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2202,7 +2202,15 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F +GLIBC_2.33 fstat F +GLIBC_2.33 fstat64 F +GLIBC_2.33 fstatat F +GLIBC_2.33 fstatat64 F +GLIBC_2.33 lstat F +GLIBC_2.33 lstat64 F GLIBC_2.33 mallinfo2 F +GLIBC_2.33 stat F +GLIBC_2.33 stat64 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/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 3c816ec48f..ec89c0c58f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2235,7 +2235,15 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F +GLIBC_2.33 fstat F +GLIBC_2.33 fstat64 F +GLIBC_2.33 fstatat F +GLIBC_2.33 fstatat64 F +GLIBC_2.33 lstat F +GLIBC_2.33 lstat64 F GLIBC_2.33 mallinfo2 F +GLIBC_2.33 stat F +GLIBC_2.33 stat64 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/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 376057d86d..965ef6abc1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2065,7 +2065,15 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F +GLIBC_2.33 fstat F +GLIBC_2.33 fstat64 F +GLIBC_2.33 fstatat F +GLIBC_2.33 fstatat64 F +GLIBC_2.33 lstat F +GLIBC_2.33 lstat64 F GLIBC_2.33 mallinfo2 F +GLIBC_2.33 stat F +GLIBC_2.33 stat64 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/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index e69191b82a..9dbbd43567 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2355,4 +2355,12 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F +GLIBC_2.33 fstat F +GLIBC_2.33 fstat64 F +GLIBC_2.33 fstatat F +GLIBC_2.33 fstatat64 F +GLIBC_2.33 lstat F +GLIBC_2.33 lstat64 F GLIBC_2.33 mallinfo2 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 new file mode 100644 index 0000000000..1656e2f7e4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/xstatver.h @@ -0,0 +1,11 @@ +/* Versions of the 'struct stat' data structure used in compatibility xstat + functions. */ +#define _STAT_VER_LINUX_OLD 1 +#define _STAT_VER_KERNEL 1 +#define _STAT_VER_SVR4 2 +#define _STAT_VER_LINUX 3 +#if __WORDSIZE == 32 +# define _STAT_VER _STAT_VER_LINUX +#else +# define _STAT_VER _STAT_VER_KERNEL +#endif |