* gnu/packages/commencement.scm (gcc-core-mesboot1): New variable. (gmp-boot, mpfr-boot, mpc-boot): Scheme-only bootstrap. * gnu/packages/patches/gcc-boot-4.6.4.patch: New file. * gnu/packages/patches/gcc-boot-4.7.4.patch: Remove. * gnu/local.mk (dist_patch_DATA): Update.
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| This patch enables building gcc-4.6.4 using gcc-2.95.3 and glibc-2.2.5
 | |
| 
 | |
|   * Tweak Makefile to allow overriding NATIVE_SYSTEM_HEADER_DIR using #:makeflags
 | |
|   * Add missing limits.h include.
 | |
|   * Add SSIZE_MAX define.  The SSIZE_MAX define has been added to Mes
 | |
|     upstream and can be removed with the next Mes release.
 | |
|   * Remove -fbuilding-libgcc flag, it assumes features being present from a
 | |
|     newer gcc or glibc.
 | |
|   * [MES_BOOTSTRAP_GCC]: Disable threads harder.
 | |
| 
 | |
| Upstream status: not presented upstream.
 | |
| 
 | |
| diff --git a/gcc/Makefile.in b/gcc/Makefile.in
 | |
| index f3cc49fdb18..bc5718fc9a6 100644
 | |
| --- a/gcc/Makefile.in
 | |
| +++ b/gcc/Makefile.in
 | |
| @@ -440,7 +440,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
 | |
|  LTO_SYMTAB_H = $(srcdir)/../include/lto-symtab.h
 | |
|  
 | |
|  # Default native SYSTEM_HEADER_DIR, to be overridden by targets.
 | |
| -NATIVE_SYSTEM_HEADER_DIR = /usr/include
 | |
| +# NATIVE_SYSTEM_HEADER_DIR = /usr/include
 | |
|  # Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
 | |
|  CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
 | |
|  
 | |
| diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c
 | |
| index 94b7a0b89a7..ab2baab55ca 100644
 | |
| --- a/gcc/config/host-linux.c
 | |
| +++ b/gcc/config/host-linux.c
 | |
| @@ -23,6 +23,12 @@
 | |
|  #include "hosthooks.h"
 | |
|  #include "hosthooks-def.h"
 | |
|  
 | |
| +// ../.././gcc/config/host-linux.c:213: `SSIZE_MAX' undeclared (first
 | |
| +// use in this function)
 | |
| +#include <limits.h>
 | |
| +#ifndef	SSIZE_MAX
 | |
| +# define SSIZE_MAX	LONG_MAX
 | |
| +#endif
 | |
|  
 | |
|  /* Linux has a feature called exec-shield-randomize that perturbs the
 | |
|     address of non-fixed mapped segments by a (relatively) small amount.
 | |
| diff --git a/libgcc/generic-morestack-thread.c b/libgcc/generic-morestack-thread.c
 | |
| index bbe6dd12b5a..1d1d48223d7 100644
 | |
| --- a/libgcc/generic-morestack-thread.c
 | |
| +++ b/libgcc/generic-morestack-thread.c
 | |
| @@ -34,7 +34,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 | |
|     will want to define inhibit_libc while building a compiler which
 | |
|     can build glibc.  */
 | |
|  
 | |
| -#ifndef inhibit_libc
 | |
| +#if 0 //!defined (inhibit_libc) && !MES_BOOTSTRAP_GCC
 | |
|  
 | |
|  #include <errno.h>
 | |
|  #include <pthread.h>
 |