From: Hongjiu Zhang Date: Mon, 7 Mar 2016 01:18:21 +0000 (-0500) Subject: sln: use stat64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00479c708e155b2aaace94094b5cfaccdbd9e16e;p=thirdparty%2Fglibc.git sln: use stat64 When using sln on some filesystems which return 64-bit inodes, the stat call might fail during install like so: .../elf/sln .../elf/symlink.list /lib32/libc.so.6: invalid destination: Value too large for defined data type /lib32/ld-linux.so.2: invalid destination: Value too large for defined data type Makefile:104: recipe for target 'install-symbolic-link' failed Switch to using stat64 all the time to avoid this. URL: https://bugs.gentoo.org/576396 (cherry picked from commit f5e753c8c3a18a1e3c715dd11bf4dc341b5c481f) (cherry picked from commit f23d7d2a8420a5ba2e28fc9c1d9c2b2996498d46) --- diff --git a/elf/sln.c b/elf/sln.c index 9d57be2df56..f52cb9f44a8 100644 --- a/elf/sln.c +++ b/elf/sln.c @@ -164,11 +164,11 @@ makesymlinks (const char *file) static int makesymlink (const char *src, const char *dest) { - struct stat stats; + struct stat64 stats; const char *error; /* Destination must not be a directory. */ - if (lstat (dest, &stats) == 0) + if (lstat64 (dest, &stats) == 0) { if (S_ISDIR (stats.st_mode)) {