[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
71/160: gnu: gcc-boot: Update to 2.95.3.
From: |
Jan Nieuwenhuizen |
Subject: |
71/160: gnu: gcc-boot: Update to 2.95.3. |
Date: |
Tue, 28 Aug 2018 15:56:21 -0400 (EDT) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit ed3de44c59d61759f786c394ff0f2fcc71421ceb
Author: Jan Nieuwenhuizen <address@hidden>
Date: Sun Jun 10 10:48:38 2018 +0200
gnu: gcc-boot: Update to 2.95.3.
* gnu/packages/mes.scm (gcc-boot): Update to 2.95.3
* gnu/packages/patches (gcc-boot-2.95.3.patch): New file.
* gnu/packages/patches (gcc-boot-2.6.3.patch): Remove.
* gnu/local.mk (dist_patch_DATA): Rename it.
---
gnu/local.mk | 2 +-
gnu/packages/mes.scm | 100 ++++----
gnu/packages/patches/gcc-boot-2.6.3.patch | 397 -----------------------------
gnu/packages/patches/gcc-boot-2.95.3.patch | 172 +++++++++++++
4 files changed, 229 insertions(+), 442 deletions(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 57c7e1b..548a7ea 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -696,7 +696,7 @@ dist_patch_DATA =
\
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
%D%/packages/patches/gcc-asan-missing-include.patch \
- %D%/packages/patches/gcc-boot-2.6.3.patch \
+ %D%/packages/patches/gcc-boot-2.95.3.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-fix-texi2pod.patch \
%D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 48fec16..fe93a7e 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -595,76 +595,88 @@ standard.")
(package
(inherit gcc)
(name "gcc-boot")
- (version "2.6.3")
+ (version "2.95.3")
(source (origin
(method url-fetch)
- (uri (string-append
"https://gcc.gnu.org/pub/gcc/old-releases/gcc-2/gcc-"
- version ".tar.bz2"))
- ;; tarball contains read-only sources
- ;; (patches (search-patches "gcc-boot.patch"))
+ (uri (string-append "mirror://gnu/gcc/gcc-2.95.3/gcc-core-"
+ version
+ ".tar.gz"))
+ (patches (search-patches "gcc-boot-2.95.3.patch"))
(sha256
(base32
- "0h61wd59fbk02pprlxsj67ph8rqw4avfr8bbp85g5isdky277xki"))))
+ "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an"))))
(supported-systems '("i686-linux"))
- (native-inputs `(;;("binutils" ,binutils-boot)
- ,(let ((triplet "i686-unknown-linux-gnu")) ;; MORTAL SIN
HERE
- `("binutils" ,(cross-binutils triplet)))
- ("mes" ,mes-boot)
- ("tcc" ,tcc-boot)
- ("patch" ,(local-file (car (search-patches
"gcc-boot.patch"))))))
+ (native-inputs `(("binutils" ,binutils-boot)
+ ("tcc" ,tcc-boot)))
(outputs '("out"))
(arguments
`(#:tests? #f ; runtest: command not found
+ #:parallel-build? #f
#:strip-binaries? #f
- #:make-flags '("CC=tcc -static"
- "LANGUAGES=c"
- "ALLOCA=alloca.o"
- "CC=tcc -static"
- "OLDCC=tcc -static")
+ #:make-flags (list "CC=tcc -static"
+ "OLDCC=tcc -static"
+ "RANLIB=true"
+ (string-append "LIBGCC2_INCLUDES=-I "
+ (assoc-ref %build-inputs "tcc")
+ "/include")
+ "LANGUAGES=c")
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'chmod
- (lambda _
- (let ((patch (assoc-ref %build-inputs "patch")))
- (format #t "hiero: ~s\n" (getcwd))
- (system* "ls" "-ltrF")
- (system* "chmod" "-R" "+w" ".")
- (system* "ls" "-ltrF")
- (system (string-append "patch -p1 < " patch)))))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
- (binutils (assoc-ref %build-inputs "binutils")))
- (setenv "PATH" (string-append
- binutils "/i686-unknown-linux-gnu/bin"
- ":" (getenv "PATH")))
- (system* "ls" "-ltrF" (string-append binutils "/bin"))
+ (cppflags (string-append
+ "-D __STDC__=1"
+ " -D __GLIBC_MINOR__=6")))
+ (when #t ;; no info
+ (delete-file-recursively "texinfo")
+ (system "touch gcc/cpp.info gcc/gcc.info"))
(setenv "CONFIG_SHELL" (string-append
(assoc-ref %build-inputs "bash")
"/bin/sh"))
- ;;(setenv "CPPFLAGS" "-D ANSI_PROTOTYPES=1")
- (setenv "CC" "tcc -static")
- (setenv "CPP" "tcc -E")
+ (unsetenv "C_INCLUDE_PATH") ; flex
+ (unsetenv "LIBRARY_PATH")
+ (setenv "CPPFLAGS" cppflags)
+ (setenv "CC" (string-append "tcc -static" " " cppflags))
+ (setenv "CPP" (string-append "tcc -E" " " cppflags))
+ (setenv "RANLIB" "true")
+ (with-output-to-file "config.cache"
+ (lambda _
+ (display "
+ac_cv_c_float_format='IEEE (little-endian)'
+")))
(and
(zero?
(system* "./configure"
+ "--disable-shared"
+ "--enable-static"
"--host=i386-unknown-linux"
"--target=i386-unknown-linux"
(string-append "--prefix=" out)))))))
- (replace 'build
- (lambda* (#:key make-flags #:allow-other-keys)
- (let ((tcc-boot (assoc-ref %build-inputs "tcc")))
- (system* "ar" "r" "libg.a"
- (string-append tcc-boot "/lib/x86-mes-gcc/libg.o"))
- (and (zero? (apply system* (cons "make" make-flags)))
- ;; (system* "make" "stage1" "LANGUAGES=c")
- ;; (zero? (system* "make" "CC=stage1/xgcc -Bstage1/"
- ;; (string-append "CFLAGS=-g -O -I"
tcc-boot "/include")
- ;; "LANGUAGES=c"))
- )))))))))
+ (add-after 'install 'install2
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((tcc (assoc-ref %build-inputs "tcc"))
+ (tcc-lib (string-append tcc "/lib/x86-mes-gcc"))
+ (out (assoc-ref outputs "out"))
+ (gcc-dir (string-append out
"/lib/gcc-lib/i386-unknown-linux/2.95.3")))
+ (copy-file (string-append tcc-lib "/crt1.o")
+ (string-append gcc-dir "/crt1.o"))
+ (with-output-to-file "crti.c" (lambda _ (display "")))
+ (system* "tcc" "-static" "-c" "crti.c")
+ (copy-file "crti.o" (string-append gcc-dir "/crti.o"))
+ (with-output-to-file "crtn.c" (lambda _ (display "")))
+ (system* "tcc" "-static" "-c" "crtn.c")
+ (copy-file "crtn.o" (string-append gcc-dir "/crtn.o"))
+ (system* "ar" "r" (string-append gcc-dir "/libc.a")
+ (string-append tcc "/lib/x86-mes-gcc/libc+gnu.o"))
+ (system* "ar" "r" (string-append out "/lib/libc.a")
+ (string-append tcc "/lib/x86-mes-gcc/libc+gnu.o"))
+ (system* "ls" "-ltrF" gcc-dir)
+ (copy-recursively (string-append tcc "/include")
+ (string-append out "/include"))))))))))
;;;
diff --git a/gnu/packages/patches/gcc-boot-2.6.3.patch
b/gnu/packages/patches/gcc-boot-2.6.3.patch
deleted file mode 100644
index 50cdfa7..0000000
--- a/gnu/packages/patches/gcc-boot-2.6.3.patch
+++ /dev/null
@@ -1,397 +0,0 @@
-diff -purN -x BOOT ../gcc-2.6.3/cccp.c gcc-2.6.3/cccp.c
---- ../gcc-2.6.3/cccp.c 1994-11-19 00:54:36.000000000 +0100
-+++ gcc-2.6.3/cccp.c 2018-06-04 00:36:12.818522632 +0200
-@@ -9275,7 +9275,7 @@ make_definition (str, op)
- buf = str;
- p = str;
- if (!is_idstart[*p]) {
-- error ("malformed option `-D %s'", str);
-+ error ("malformed option `-D %s'", str , 0, 0);
- return;
- }
- while (is_idchar[*++p])
-@@ -9291,7 +9291,7 @@ make_definition (str, op)
- strcpy ((char *)buf, str);
- strcat ((char *)buf, " 1");
- } else if (*p != '=') {
-- error ("malformed option `-D %s'", str);
-+ error ("malformed option `-D %s'", str, 0, 0);
- return;
- } else {
- U_CHAR *q;
-@@ -9404,14 +9404,14 @@ make_assertion (option, str)
-
- p = buf;
- if (!is_idstart[*p]) {
-- error ("malformed option `%s %s'", option, str);
-+ error ("malformed option `%s %s'", option, str, 0);
- return;
- }
- while (is_idchar[*++p])
- ;
- while (*p == ' ' || *p == '\t') p++;
- if (! (*p == 0 || *p == '(')) {
-- error ("malformed option `%s %s'", option, str);
-+ error ("malformed option `%s %s'", option, str, 0);
- return;
- }
-
-@@ -9562,7 +9562,7 @@ fatal (str, arg)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0);
- }
-
- static void
-@@ -9593,13 +9593,13 @@ pipe_closed (signo)
- /* If this is missing, some compilers complain. */
- int signo;
- {
-- fatal ("output pipe has been closed");
-+ fatal ("output pipe has been closed", 0);
- }
-
- static void
- memory_full ()
- {
-- fatal ("Memory exhausted.");
-+ fatal ("Memory exhausted.", 0);
- }
-
-
-diff -purN -x BOOT ../gcc-2.6.3/config/i386/xm-i386.h
gcc-2.6.3/config/i386/xm-i386.h
---- ../gcc-2.6.3/config/i386/xm-i386.h 1993-06-26 17:38:04.000000000 +0200
-+++ gcc-2.6.3/config/i386/xm-i386.h 2018-06-03 23:06:55.433163307 +0200
-@@ -39,4 +39,7 @@ the Free Software Foundation, 675 Mass A
- /* target machine dependencies.
- tm.h is a symbolic link to the actual target specific file. */
-
-+/* MesCC has STRERROR */
-+#define HAVE_STRERROR 1
-+
- #include "tm.h"
-diff -purN -x BOOT ../gcc-2.6.3/configure gcc-2.6.3/configure
---- ../gcc-2.6.3/configure 1994-11-23 23:26:27.000000000 +0100
-+++ gcc-2.6.3/configure 2018-06-03 17:05:15.344606403 +0200
-@@ -364,9 +364,9 @@ host_install_headers_dir=install-headers
- host_truncate_target=
-
- # Validate the specs, and canonicalize them.
--canon_build=`/bin/sh $srcdir/config.sub $build` || exit 1
--canon_host=`/bin/sh $srcdir/config.sub $host` || exit 1
--canon_target=`/bin/sh $srcdir/config.sub $target` || exit 1
-+canon_build=`sh $srcdir/config.sub $build` || exit 1
-+canon_host=`sh $srcdir/config.sub $host` || exit 1
-+canon_target=`sh $srcdir/config.sub $target` || exit 1
-
- # Decode the host machine, then the target machine.
- # For the host machine, we save the xm_file variable as host_xm_file;
-@@ -2432,7 +2432,7 @@ srcdir=$savesrcdir
-
- # Describe the chosen configuration in config.status.
- # Make that file a shellscript which will reestablish the same configuration.
--echo "#!/bin/sh
-+echo "#
- # GCC was configured as follows:
- ${srcdir}/configure" $arguments > config.new
- echo echo host=$canon_host target=$canon_target build=$canon_build >>
config.new
-diff -purN -x BOOT ../gcc-2.6.3/enquire.c gcc-2.6.3/enquire.c
---- ../gcc-2.6.3/enquire.c 1994-04-01 07:21:27.000000000 +0200
-+++ gcc-2.6.3/enquire.c 2018-06-04 00:34:46.773094196 +0200
-@@ -1,6 +1,20 @@
- /* Everything you wanted to know about your machine and C compiler,
- but didn't know who to ask. */
-
-+#define stderr 2
-+
-+#ifndef __MES_JMP_BUF
-+#define __MES_JMP_BUF 1
-+typedef struct
-+{
-+ int __bp;
-+ int __pc;
-+ int __sp;
-+} __jmp_buf;
-+typedef __jmp_buf jmp_buf[1];
-+#endif
-+
-+
- #ifndef VERSION
- #define VERSION "4.3"
- #endif
-diff -purN -x BOOT ../gcc-2.6.3/genattr.c gcc-2.6.3/genattr.c
---- ../gcc-2.6.3/genattr.c 1994-09-30 22:23:46.000000000 +0100
-+++ gcc-2.6.3/genattr.c 2018-06-01 22:57:51.804254091 +0200
-@@ -228,7 +228,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -257,7 +257,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-@@ -361,7 +361,7 @@ from the machine description file `md'.
- else if (unit->multiplicity != multiplicity
- || unit->simultaneity != simultaneity)
- fatal ("Differing specifications given for `%s' function unit.",
-- unit->name);
-+ unit->name, 0);
-
- extend_range (&unit->ready_cost, ready_cost, ready_cost);
- extend_range (&unit->issue_delay,
-diff -purN -x BOOT ../gcc-2.6.3/genattrtab.c gcc-2.6.3/genattrtab.c
---- ../gcc-2.6.3/genattrtab.c 1994-10-13 15:44:20.000000000 +0100
-+++ gcc-2.6.3/genattrtab.c 2018-06-03 08:44:38.361893914 +0200
-@@ -5480,7 +5480,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- /* Determine if an insn has a constant number of delay slots, i.e., the
-@@ -5552,7 +5552,7 @@ main (argc, argv)
- obstack_init (temp_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/gencodes.c gcc-2.6.3/gencodes.c
---- ../gcc-2.6.3/gencodes.c 1992-10-13 05:11:44.000000000 +0100
-+++ gcc-2.6.3/gencodes.c 2018-06-01 22:58:26.092810856 +0200
-@@ -90,7 +90,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -105,7 +105,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genconfig.c gcc-2.6.3/genconfig.c
---- ../gcc-2.6.3/genconfig.c 1994-06-15 09:37:01.000000000 +0200
-+++ gcc-2.6.3/genconfig.c 2018-06-01 22:58:34.272943664 +0200
-@@ -274,7 +274,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -289,7 +289,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genemit.c gcc-2.6.3/genemit.c
---- ../gcc-2.6.3/genemit.c 1994-03-12 13:37:41.000000000 +0100
-+++ gcc-2.6.3/genemit.c 2018-06-01 23:00:20.918674405 +0200
-@@ -704,7 +704,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -719,7 +719,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genextract.c gcc-2.6.3/genextract.c
---- ../gcc-2.6.3/genextract.c 1994-09-02 04:13:37.000000000 +0200
-+++ gcc-2.6.3/genextract.c 2018-06-03 08:44:16.617547222 +0200
-@@ -376,7 +376,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- static char *
-@@ -417,7 +417,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genflags.c gcc-2.6.3/genflags.c
---- ../gcc-2.6.3/genflags.c 1992-10-13 05:12:01.000000000 +0100
-+++ gcc-2.6.3/genflags.c 2018-06-02 12:46:15.084189190 +0200
-@@ -205,7 +205,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -226,7 +226,7 @@ main (argc, argv)
- obstack_init (&normal_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genopinit.c gcc-2.6.3/genopinit.c
---- ../gcc-2.6.3/genopinit.c 1994-06-29 02:15:33.000000000 +0200
-+++ gcc-2.6.3/genopinit.c 2018-06-01 22:57:42.916109746 +0200
-@@ -317,7 +317,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -334,7 +334,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genoutput.c gcc-2.6.3/genoutput.c
---- ../gcc-2.6.3/genoutput.c 1994-09-27 23:27:28.000000000 +0100
-+++ gcc-2.6.3/genoutput.c 2018-06-01 22:59:49.198159749 +0200
-@@ -914,7 +914,7 @@ fatal (s, a1, a2, a3, a4)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0, 0, 0);
- }
-
- static void
-@@ -940,7 +940,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0, 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/genpeep.c gcc-2.6.3/genpeep.c
---- ../gcc-2.6.3/genpeep.c 1992-10-13 05:12:10.000000000 +0100
-+++ gcc-2.6.3/genpeep.c 2018-06-01 22:58:47.449157569 +0200
-@@ -422,7 +422,7 @@ fatal (s, a1, a2)
- void
- fancy_abort ()
- {
-- fatal ("Internal gcc abort.");
-+ fatal ("Internal gcc abort.", 0, 0);
- }
-
- int
-@@ -439,7 +439,7 @@ main (argc, argv)
- obstack_init (rtl_obstack);
-
- if (argc <= 1)
-- fatal ("No input file name.");
-+ fatal ("No input file name.", 0, 0);
-
- infile = fopen (argv[1], "r");
- if (infile == 0)
-diff -purN -x BOOT ../gcc-2.6.3/INSTALL gcc-2.6.3/INSTALL
---- ../gcc-2.6.3/INSTALL 1994-12-01 21:24:17.000000000 +0100
-+++ gcc-2.6.3/INSTALL 2018-06-01 23:05:59.616162989 +0200
-@@ -1,4 +1,4 @@
--This file documents the installation of the GNU compiler. Copyright
-+,This file documents the installation of the GNU compiler. Copyright
- (C) 1988, 1989, 1992 Free Software Foundation, Inc. You may copy,
- distribute, and modify it freely as long as you preserve this copyright
- notice and permission notice.
-Binary files ../gcc-2.6.3/libg.a and gcc-2.6.3/libg.a differ
-diff -purN -x BOOT ../gcc-2.6.3/libgcc2.c gcc-2.6.3/libgcc2.c
---- ../gcc-2.6.3/libgcc2.c 1994-10-21 20:13:56.000000000 +0100
-+++ gcc-2.6.3/libgcc2.c 2018-06-04 00:33:41.008002409 +0200
-@@ -35,6 +35,26 @@ the Free Software Foundation, 675 Mass A
- #include <stddef.h>
- #endif
-
-+/*
-+ mysteriously missing decls
-+ */
-+#define stderr 2
-+#define BITS_PER_UNIT 8
-+#define LONG_MIN -2147483648
-+typedef unsigned short word_type;
-+
-+#if !defined (SIZE_T) && !defined (_SIZE_T)
-+#define SIZE_T
-+#define _SIZE_T
-+typedef long unsigned int size_t;
-+#endif
-+
-+#if !defined (_FILE_T)
-+#define FILE_T
-+#define _FILE_T
-+typedef int *FILE;
-+#endif
-+
- /* Don't use `fancy_abort' here even if config.h says to use it. */
- #ifdef abort
- #undef abort
-diff -purN -x BOOT ../gcc-2.6.3/protoize.c gcc-2.6.3/protoize.c
---- ../gcc-2.6.3/protoize.c 1994-11-08 03:27:44.000000000 +0100
-+++ gcc-2.6.3/protoize.c 2018-06-01 22:55:10.161627579 +0200
-@@ -56,7 +56,11 @@ the Free Software Foundation, 675 Mass A
- #define _POSIX_SOURCE
- #endif
-
-+#ifdef __STDC__
-+#include <stdarg.h>
-+#else
- #include <varargs.h>
-+#endif
- /* On some systems stdio.h includes stdarg.h;
- we must bring in varargs.h first. */
- #include <stdio.h>
diff --git a/gnu/packages/patches/gcc-boot-2.95.3.patch
b/gnu/packages/patches/gcc-boot-2.95.3.patch
new file mode 100644
index 0000000..27a39ed
--- /dev/null
+++ b/gnu/packages/patches/gcc-boot-2.95.3.patch
@@ -0,0 +1,172 @@
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/gcc/cccp.c gcc-2.95.3/gcc/cccp.c
+--- ../gcc-2.95.3/gcc/cccp.c 2001-01-25 15:03:00.000000000 +0100
++++ gcc-2.95.3/gcc/cccp.c 2018-06-07 23:58:30.485287991 +0200
+@@ -4448,7 +4448,9 @@ get_filename:
+ if (*fin == '>' && fin + 1 == limit) {
+ angle_brackets = 1;
+ /* If -I-, start with the first -I dir after the -I-. */
++#if 0
+ search_start = first_bracket_include;
++#endif
+ break;
+ }
+ goto fail;
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c
+--- ../gcc-2.95.3/gcc/crtstuff.c 1999-03-23 01:43:51.000000000 +0100
++++ gcc-2.95.3/gcc/crtstuff.c 2018-06-07 23:16:09.671415411 +0200
+@@ -54,8 +54,12 @@ Boston, MA 02111-1307, USA. */
+ #include "tm.h"
+ #include "defaults.h"
+ #include <stddef.h>
++
++#define FIRST_PSEUDO_REGISTER 17
++
+ #include "frame.h"
+
++
+ /* We do not want to add the weak attribute to the declarations of these
+ routines in frame.h because that will cause the definition of these
+ symbols to be weak as well.
+Binary files ../gcc-2.95.3/gcc/fixinc/crt1.o and gcc-2.95.3/gcc/fixinc/crt1.o
differ
+Binary files ../gcc-2.95.3/gcc/fixinc/crti.o and gcc-2.95.3/gcc/fixinc/crti.o
differ
+Binary files ../gcc-2.95.3/gcc/fixinc/crtn.o and gcc-2.95.3/gcc/fixinc/crtn.o
differ
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/gcc/libgcc2.c gcc-2.95.3/gcc/libgcc2.c
+--- ../gcc-2.95.3/gcc/libgcc2.c 1999-06-11 05:11:43.000000000 +0200
++++ gcc-2.95.3/gcc/libgcc2.c 2018-06-07 23:16:09.671415411 +0200
+@@ -48,6 +48,43 @@ Boston, MA 02111-1307, USA. */
+ #include <stddef.h>
+ #endif
+
++/*
++ mysteriously missing decls
++*/
++
++#ifndef stderr
++#define stderr 2
++#endif
++
++#ifndef BITS_PER_UNIT
++#define BITS_PER_UNIT 8
++#endif
++
++#ifndef LONG_MIN
++#define LONG_MIN -2147483648
++#endif
++
++#ifndef EOF
++#define EOF -1
++#endif
++
++#if __GNUC__
++// typedef unsigned short word_type;
++
++#if !defined (SIZE_T) && !defined (_SIZE_T) && !defined (__MES_SIZE_T)
++#define SIZE_T
++#define _SIZE_T
++typedef long unsigned int size_t;
++#endif
++
++#endif // __GNUC__
++
++#if !defined (_FILE_T) && !defined (__MES_FILE_T)
++#define FILE_T
++#define _FILE_T
++typedef int *FILE;
++#endif
++
+ /* Don't use `fancy_abort' here even if config.h says to use it. */
+ #ifdef abort
+ #undef abort
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/gcc/machmode.h gcc-2.95.3/gcc/machmode.h
+--- ../gcc-2.95.3/gcc/machmode.h 1999-04-08 09:27:26.000000000 +0200
++++ gcc-2.95.3/gcc/machmode.h 2018-06-07 23:16:09.671415411 +0200
+@@ -21,6 +21,9 @@ Boston, MA 02111-1307, USA. */
+ #ifndef HAVE_MACHINE_MODES
+ #define HAVE_MACHINE_MODES
+
++#undef PROTO
++#define PROTO(args) args
++
+ /* Strictly speaking, this isn't the proper place to include these
definitions,
+ but this file is included by every GCC file. */
+
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/gcc/Makefile.in gcc-2.95.3/gcc/Makefile.in
+--- ../gcc-2.95.3/gcc/Makefile.in 2001-01-25 15:02:58.000000000 +0100
++++ gcc-2.95.3/gcc/Makefile.in 2018-06-07 23:16:09.671415411 +0200
+@@ -221,7 +221,7 @@ RANLIB_TEST_FOR_TARGET = \
+ SYSTEM_HEADER_DIR = /usr/include
+
+ # Control whether to run fixproto.
+-STMP_FIXPROTO = stmp-fixproto
++# STMP_FIXPROTO = stmp-fixproto
+
+ # Test to see whether <limits.h> exists in the system header files.
+ LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
+@@ -2093,14 +2093,18 @@ gcov$(exeext): $(GCOV_OBJS) $(LIBDEPS)
+ # s-* so that mostlyclean does not force the include directory to
+ # be rebuilt.
+
++# STMP_FIXINC = @STMP_FIXINC@
++STMP_FIXINC = stmp-fixinc
++
+ # Build the include directory including float.h (which no longer depends upon
+ # enquire).
+-stmp-int-hdrs: stmp-fixinc $(USER_H) xlimits.h
++stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h
+ # Copy in the headers provided with gcc.
+ # The sed command gets just the last file name component;
+ # this is necessary because VPATH could add a dirname.
+ # Using basename would be simpler, but some systems don't have it.
+ # The touch command is here to workaround an AIX/Linux NFS bug.
++ -if [ -d include ] ; then true; else mkdir include; chmod a+rx include;
fi
+ for file in .. $(USER_H); do \
+ if [ X$$file != X.. ]; then \
+ realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+@@ -2265,16 +2269,17 @@ stmp-fixproto: fixhdr.ready fixproto stm
+ #
+ # Remake the info files.
+
+-doc: info
+-info: cpp.info gcc.info lang.info
+-
+-cpp.info: $(srcdir)/cpp.texi
+- $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o cpp.info $(srcdir)/cpp.texi
+-
+-gcc.info: $(srcdir)/gcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
+- $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
+- $(srcdir)/tm.texi $(srcdir)/gcov.texi
+- $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o gcc.info $(srcdir)/gcc.texi
++doc:
++# doc: info
++# info: cpp.info gcc.info lang.info
++
++# cpp.info: $(srcdir)/cpp.texi
++# $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o cpp.info $(srcdir)/cpp.texi
++
++# gcc.info: $(srcdir)/gcc.texi $(srcdir)/extend.texi $(srcdir)/install.texi \
++# $(srcdir)/invoke.texi $(srcdir)/md.texi $(srcdir)/rtl.texi \
++# $(srcdir)/tm.texi $(srcdir)/gcov.texi
++# $(MAKEINFO) $(MAKEINFOFLAGS) -I$(srcdir) -o gcc.info $(srcdir)/gcc.texi
+
+ dvi: gcc.dvi cpp.dvi lang.dvi
+
+Binary files ../gcc-2.95.3/intl and gcc-2.95.3/intl differ
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/test2.h gcc-2.95.3/test2.h
+--- ../gcc-2.95.3/test2.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc-2.95.3/test2.h 2018-06-07 23:54:57.461766900 +0200
+@@ -0,0 +1 @@
++#warning test2.h
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/test3.h gcc-2.95.3/test3.h
+--- ../gcc-2.95.3/test3.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc-2.95.3/test3.h 2018-06-07 23:54:57.461766900 +0200
+@@ -0,0 +1 @@
++#warning test3.h
+diff -purN -x .git -x Makefile -x config.status -x config.h -x BOOT -x
BOOT-GCC ../gcc-2.95.3/test.c gcc-2.95.3/test.c
+--- ../gcc-2.95.3/test.c 1970-01-01 01:00:00.000000000 +0100
++++ gcc-2.95.3/test.c 2018-06-07 23:54:57.461766900 +0200
+@@ -0,0 +1,4 @@
++#warning 1:test.c
++#include "test2.h"
++#warning 3:test.c
++#include "test3.h"
+Binary files ../gcc-2.95.3/texinfo and gcc-2.95.3/texinfo differ
- 48/160: gnu: tcc-boot: Build with mes-boot., (continued)
- 48/160: gnu: tcc-boot: Build with mes-boot., Jan Nieuwenhuizen, 2018/08/28
- 51/160: gnu: %tinycc-seed: Update for mes 0.14., Jan Nieuwenhuizen, 2018/08/28
- 53/160: gnu: %mescc-tools-seed: Update for 0.4., Jan Nieuwenhuizen, 2018/08/28
- 56/160: gnu: mescc-tools-boot: Update for mes 0.15., Jan Nieuwenhuizen, 2018/08/28
- 42/160: gnu: mescc-tools-boot: Remove stage0 dependency., Jan Nieuwenhuizen, 2018/08/28
- 61/160: gnu: Add m4-boot., Jan Nieuwenhuizen, 2018/08/28
- 72/160: gnu: gcc-boot: Update to 3.0., Jan Nieuwenhuizen, 2018/08/28
- 66/160: gnu: binutils-boot: Update to 2.30., Jan Nieuwenhuizen, 2018/08/28
- 44/160: gnu: nyacc-boot: Update to new gitlab url scheme., Jan Nieuwenhuizen, 2018/08/28
- 54/160: gnu: mescc-tools-boot: Update to 0.4., Jan Nieuwenhuizen, 2018/08/28
- 71/160: gnu: gcc-boot: Update to 2.95.3.,
Jan Nieuwenhuizen <=
- 34/160: gnu: Update tcc-boot: qsort., Jan Nieuwenhuizen, 2018/08/28
- 41/160: gnu: %mescc-tools-seed: Update to new gitlab url scheme., Jan Nieuwenhuizen, 2018/08/28
- 40/160: gnu: tinycc-boot: Update for mes-0.12., Jan Nieuwenhuizen, 2018/08/28
- 39/160: gnu: %tinycc-seed: Update for mes-0.12., Jan Nieuwenhuizen, 2018/08/28
- 80/160: gnu: Add gcc-core-boot 2.95.3., Jan Nieuwenhuizen, 2018/08/28
- 67/160: Revert "gnu: binutils-boot: Update to 2.30.", Jan Nieuwenhuizen, 2018/08/28
- 63/160: gnu: binutils-boot: Update to 2.10.1., Jan Nieuwenhuizen, 2018/08/28
- 35/160: gnu: Update mes-boot: M4 support: robustify headers., Jan Nieuwenhuizen, 2018/08/28
- 36/160: gnu: nyacc-boot: Update to 0.80.42., Jan Nieuwenhuizen, 2018/08/28
- 27/160: gnu: Update tcc-boot: avoid mescc bug struct foo bar = *baz ()., Jan Nieuwenhuizen, 2018/08/28