46 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| This patch allows libc to be used with the heavily-patched kernel found
 | |
| on CentOS 6, which identifies itself as 2.6.32.
 | |
| 
 | |
| See <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00392.html>.
 | |
| 
 | |
| Patch taken from Nixpkgs.
 | |
| 
 | |
| diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
 | |
| index cace758c01..38fe7fe0b0 100644
 | |
| --- a/sysdeps/unix/sysv/linux/configure
 | |
| +++ b/sysdeps/unix/sysv/linux/configure
 | |
| @@ -69,7 +69,7 @@ fi
 | |
|  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
 | |
|  $as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
 | |
|  decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
 | |
| -abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
 | |
| +abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
 | |
|  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 | |
|  /* end confdefs.h.  */
 | |
|  #include <linux/version.h>
 | |
| diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac
 | |
| index 13abda0a51..6abc12eaed 100644
 | |
| --- a/sysdeps/unix/sysv/linux/configure.ac
 | |
| +++ b/sysdeps/unix/sysv/linux/configure.ac
 | |
| @@ -50,7 +50,7 @@ fi
 | |
|  AC_MSG_CHECKING(for kernel header at least $minimum_kernel)
 | |
|  changequote(,)dnl
 | |
|  decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
 | |
| -abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
 | |
| +abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
 | |
|  changequote([,])dnl
 | |
|  AC_TRY_COMPILE([#include <linux/version.h>
 | |
|  #if LINUX_VERSION_CODE < $decnum
 | |
| diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h
 | |
| index 823cd8224d..482caaeeec 100644
 | |
| --- a/sysdeps/unix/sysv/linux/dl-osinfo.h
 | |
| +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h
 | |
| @@ -39,7 +39,7 @@
 | |
|  	  GLRO(dl_osversion) = version;					      \
 | |
|  									      \
 | |
|  	/* Now we can test with the required version.  */		      \
 | |
| -	if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION)   \
 | |
| +	if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620)   \
 | |
|  	  /* Not sufficent.  */						      \
 | |
|  	  FATAL ("FATAL: kernel too old\n");				      \
 | |
|        }									      \
 |