janneke pushed a commit to branch wip-bootstrap in repository guix. commit 2daa20578f2a41172eaa4c9670f1409c576e4330 Author: Jan Nieuwenhuizen <jann...@gnu.org> Date: Sun Jun 24 20:30:08 2018 +0200
gnu: Add gcc-mesboot 4.7.4. WIP * gnu/packages/mes.scm (gcc-mesboot-4.1.0): Rename from gcc-mesboot. (gcc-mesboot): New package. * gnu/packages/patches/gcc-boot-4.7.4.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/packages/mes.scm | 40 +++++++++++++++++++++++++++- gnu/packages/patches/gcc-boot-4.7.4.patch | 43 +++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index e6a35d3..744b10d 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -1100,7 +1100,7 @@ ac_cv_c_float_format='IEEE (little-endian)' (sha256 (base32 "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94")))))) -(define-public gcc-mesboot +(define-public gcc-mesboot-4.1.0 (package-with-bootstrap-guile (package (inherit gcc-mesboot0) @@ -1240,6 +1240,44 @@ ac_cv_c_float_format='IEEE (little-endian)' (zero? (apply system* "./configure" configure-flags))))))))))) +(define-public gcc-mesboot + (package-with-bootstrap-guile + (package + (inherit gcc-mesboot-4.1.0) + (name "gcc-mesboot") + (version "4.7.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-4.7.4/gcc-" + version + ".tar.gz")) + (patches (search-patches "gcc-boot-4.7.4.patch")) + (sha256 + (base32 + "06bqygv17f71f7g7pi7ddvhljcr8dimrypgiif9g1r6lqn1sbfnx")))) + (native-inputs `(("binutils-boot" ,binutils-mesboot) + ("gcc-boot" ,gcc-mesboot-4.1.0) + ("glibc-boot" ,glibc-mesboot) + ("kernel-headers" ,(linux-libre-headers-boot0)))) + ;; (inputs `(("gmp-source" ,(package-source gmp)) + ;; ("mpfr-source" ,(package-source mpfr-boot)) + ;; ("mpc-source" ,(package-source mpc)))) + (arguments + `( + ;;#:make-flags (list "LIBGCC2_CFLAGS=-D IN_LIBGCC2" ) + ,@(substitute-keyword-arguments (package-arguments gcc-mesboot-4.1.0) + ((#:configure-flags configure-flags) + `(let ((flags (filter (lambda (flag) + (not (string-prefix? "--enable-languages=" flag))) + ,configure-flags))) + (cons* + ; with gmp-2.4.3 Configuring in + ; host-i386-unknown-linux/gmp configure: error: invalid + ; feature name: libstdc++-v3 + ;; "--disable-libstdc++-v3" + ;;"--enable-languages=c,c++" + "--enable-languages=c" + flags))))))))) ;;; (define-public nyacc diff --git a/gnu/packages/patches/gcc-boot-4.7.4.patch b/gnu/packages/patches/gcc-boot-4.7.4.patch new file mode 100644 index 0000000..76c8c4d --- /dev/null +++ b/gnu/packages/patches/gcc-boot-4.7.4.patch @@ -0,0 +1,43 @@ +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.