mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-26 06:18:07 -05:00
0b652851b1
* gnu/packages/patches/mes-nyacc-0.86.0.patch: Support bootstrap build. * gnu/packages/commencement.scm (%fake-bootstrap mes-boot0, mescc-tools-boot, nyacc-boot, mes-boot, tcc-boot0, tcc-boot, make-mesboot0, diffutils-mesboot, binutils-mesboot0, gcc-core-mesboot, mesboot-headers, glibc-mesboot0, gcc-mesboot0, binutils-mesboot, make-mesboot, gmp-boot, mpfr-boot, mpc-boot, gcc-mesboot1, gcc-mesboot1-wrapper, glibc-headers-mesboot, glibc-mesboot, gcc-mesboot, gcc-mesboot-wrapper, m4-mesboot): New variable. * gnu/packages/patches/binutils-boot-2.20.1a.patch: New file. New file. * gnu/packages/patches/gcc-boot-2.95.3.patch: New file. * gnu/packages/patches/gcc-boot-4.7.4.patch: New file. * gnu/packages/patches/glibc-boot-2.16.0.patch: New file. * gnu/packages/patches/glibc-boot-2.2.5.patch: New file. * gnu/packages/patches/glibc-bootstrap-system-2.16.0.patch: New file. * gnu/packages/patches/tcc-boot-0.9.27.patch: New file. * gnu/local.mk (dist_patch_DATA): Add them.
68 lines
2.5 KiB
Diff
68 lines
2.5 KiB
Diff
This patch enables building gcc-4.7.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
|
|
@@ -458,7 +458,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 = @NATIVE_SYSTEM_HEADER_DIR@
|
|
+# NATIVE_SYSTEM_HEADER_DIR = @NATIVE_SYSTEM_HEADER_DIR@
|
|
# 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/Makefile.in b/libgcc/Makefile.in
|
|
index c301ff03cae..f86318c3bd5 100644
|
|
--- a/libgcc/Makefile.in
|
|
+++ b/libgcc/Makefile.in
|
|
@@ -225,7 +225,7 @@ endif
|
|
LIBGCC2_DEBUG_CFLAGS = -g
|
|
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
|
|
$(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
|
|
- -fbuilding-libgcc -fno-stack-protector \
|
|
+ -fno-stack-protector \
|
|
$(INHIBIT_LIBC_CFLAGS)
|
|
|
|
# Additional options to use when compiling libgcc2.a.
|
|
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
|
|
@@ -35,7 +35,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>
|