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>