* gnu/packages/patches/glibc-o-largefile.patch: New file. * gnu/packages/base.scm (glibc)[source]: Add it to 'patches'. * gnu-system.am (dist_patch_DATA): Add it.
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			779 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			779 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| This fixes <https://sourceware.org/bugzilla/show_bug.cgi?id=18781>
 | |
| 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 <schwab@suse.de>
 | |
| 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)
 |