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)
+2016-03-07 Hongjiu Zhang <noctuorare@gmail.com>
+
+ * elf/sln.c (makesymlink): Change struct stat to stat64, and lstat
+ to lstat64.
+
2016-02-24 Marko Myllynen <myllynen@redhat.com>
* NEWS (2.23): Fix typo in bug 19048 text.
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))
{