This fixes whereby, on 32-bit platforms, libc 2.22 would fail to pass O_LARGEFILE to 'openat'. This was caught by 'tests/sparse03.at' in the tar test suite. commit eb32b0d40308166c4d8f6330cc2958cb1e545075 Author: Andreas Schwab Date: Mon Aug 10 14:12:47 2015 +0200 Readd O_LARGEFILE flag for openat64 (bug 18781) --- a/sysdeps/unix/sysv/linux/openat.c +++ b/sysdeps/unix/sysv/linux/openat.c @@ -68,6 +68,11 @@ __OPENAT (int fd, const char *file, int oflag, ...) va_end (arg); } + /* We have to add the O_LARGEFILE flag for openat64. */ +#ifdef MORE_OFLAGS + oflag |= MORE_OFLAGS; +#endif + return SYSCALL_CANCEL (openat, fd, file, oflag, mode); } libc_hidden_def (__OPENAT)