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 /nscd/gai.c | |
parent | 428985c436f442e91e27173bccaf28f547233586 (diff) | |
download | glibc-8ed005daf0ab03e142500324a34087ce179ae78e.tar glibc-8ed005daf0ab03e142500324a34087ce179ae78e.tar.gz glibc-8ed005daf0ab03e142500324a34087ce179ae78e.tar.bz2 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 'nscd/gai.c')
-rw-r--r-- | nscd/gai.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/nscd/gai.c b/nscd/gai.c index 2e19530102..b0058bc873 100644 --- a/nscd/gai.c +++ b/nscd/gai.c @@ -16,6 +16,7 @@ along with this program; if not, see <https://www.gnu.org/licenses/>. */ #include <alloca.h> +#include <sys/stat.h> /* This file uses the getaddrinfo code but it compiles it without NSCD support. We just need a few symbol renames. */ @@ -32,6 +33,10 @@ #define __libc_use_alloca(size) (size <= __MAX_ALLOCA_CUTOFF) #define __getifaddrs getifaddrs #define __freeifaddrs freeifaddrs +#undef __fstat64 +#define __fstat64 fstat64 +#undef __stat64 +#define __stat64 stat64 /* We are nscd, so we don't want to be talking to ourselves. */ #undef USE_NSCD |