aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHongjiu Zhang <noctuorare@gmail.com>2016-03-06 20:18:21 -0500
committerH.J. Lu <hjl.tools@gmail.com>2016-05-02 14:48:25 -0700
commit16e49ca0c878c5cef2638f828c85bbedfb95c83b (patch)
treeb42e86d71811d8f55463818a0c72e0028c75eaa2
parent7b4fccb9bc52a941956971ca380110eb8ccabdc7 (diff)
downloadglibc-16e49ca0c878c5cef2638f828c85bbedfb95c83b.tar
glibc-16e49ca0c878c5cef2638f828c85bbedfb95c83b.tar.gz
glibc-16e49ca0c878c5cef2638f828c85bbedfb95c83b.tar.bz2
glibc-16e49ca0c878c5cef2638f828c85bbedfb95c83b.zip
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
-rw-r--r--elf/sln.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/sln.c b/elf/sln.c
index 1bad21f226..6a9be13622 100644
--- a/elf/sln.c
+++ b/elf/sln.c
@@ -167,11 +167,11 @@ makesymlink (src, dest)
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))
{