janneke pushed a commit to branch wip-bootstrap in repository guix. commit ed3de44c59d61759f786c394ff0f2fcc71421ceb Author: Jan Nieuwenhuizen <jann...@gnu.org> 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