From f79229df41dd754a99b68f0782aeb4aa48d73d34 Mon Sep 17 00:00:00 2001 From: Mark Street Date: Wed, 11 Sep 2024 12:46:14 +0100 Subject: [PATCH 1/2] Update -psx builds to match PSYQ compiler default flags --- gcc-2.5.7-psx.Dockerfile | 1 + gcc-2.6.0-psx.Dockerfile | 3 +- gcc-2.6.3-psx.Dockerfile | 3 +- gcc-2.7.2-psx.Dockerfile | 3 +- gcc-2.8.0-psx.Dockerfile | 5 +- gcc-2.8.1-psx.Dockerfile | 5 +- gcc-2.91.66-psx.Dockerfile | 7 +- gcc-2.95.2-psx.Dockerfile | 8 +- patches/mips.patch | 25 ++++++ patches/mipsel-2.8.patch | 7 +- patches/psx-2.91.patch | 169 +++++++++++++++++++++++++++++++++++++ patches/psx.patch | 2 +- 12 files changed, 224 insertions(+), 14 deletions(-) create mode 100644 patches/mips.patch create mode 100644 patches/psx-2.91.patch diff --git a/gcc-2.5.7-psx.Dockerfile b/gcc-2.5.7-psx.Dockerfile index b22b5e0..fb28f5f 100644 --- a/gcc-2.5.7-psx.Dockerfile +++ b/gcc-2.5.7-psx.Dockerfile @@ -34,6 +34,7 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s +RUN ./cc1 -quiet -help &1 | grep -- -msoft-float RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ || true diff --git a/gcc-2.6.0-psx.Dockerfile b/gcc-2.6.0-psx.Dockerfile index 77848a1..d71cd63 100644 --- a/gcc-2.6.0-psx.Dockerfile +++ b/gcc-2.6.0-psx.Dockerfile @@ -18,7 +18,7 @@ RUN patch -u -p1 cccp.c -i ../patches/cccp-2.6.0.c.patch RUN patch -u -p1 gcc.c -i ../patches/gcc-2.6.0.c.patch RUN patch -u -p1 cp/g++.c -i ../patches/g++-2.6.0.c.patch RUN patch -u -p1 config/mips/mips.h -i ../patches/mipsel-2.6.patch -RUN patch -su -p1 < ../patches/psx.patch +RUN patch -su -p1 < ../patches/psx-2.5.7.patch RUN ./configure \ --target=mips-sony-psx \ @@ -33,6 +33,7 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./cc1 -quiet -help &1 | grep -- -msoft-float RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ diff --git a/gcc-2.6.3-psx.Dockerfile b/gcc-2.6.3-psx.Dockerfile index 5dd8d40..4e95499 100644 --- a/gcc-2.6.3-psx.Dockerfile +++ b/gcc-2.6.3-psx.Dockerfile @@ -14,7 +14,7 @@ RUN sed -i -- 's/include /include /g' *.c RUN patch -u -p1 obstack.h -i ../patches/obstack-2.7.2.h.patch RUN patch -u -p1 sdbout.c -i ../patches/sdbout-2.6.3.c.patch RUN patch -u -p1 cp/g++.c -i ../patches/g++-2.6.3.c.patch -RUN patch -su -p1 < ../patches/psx.patch +RUN patch -su -p1 < ../patches/psx-2.5.7.patch RUN touch -c cp/parse.y cp/parse.h cp/parse.c RUN touch insn-config.h @@ -32,6 +32,7 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./cc1 -quiet -help &1 | grep -- -msoft-float RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ || true diff --git a/gcc-2.7.2-psx.Dockerfile b/gcc-2.7.2-psx.Dockerfile index c0703ed..0cf30ef 100644 --- a/gcc-2.7.2-psx.Dockerfile +++ b/gcc-2.7.2-psx.Dockerfile @@ -19,7 +19,7 @@ RUN patch -u -p1 obstack.h -i ../patches/obstack-2.7.2.h.patch RUN patch -u -p1 configure -i ../patches/configure.patch RUN patch -u -p1 config.sub -i ../patches/config.sub.patch RUN patch -u -p1 config/mips/mips.h -i ../patches/mipsel-2.7.patch -RUN patch -su -p1 < ../patches/psx.patch +RUN patch -su -p1 < ../patches/psx-2.5.7.patch RUN ./configure \ --target=mips-sony-psx \ @@ -37,6 +37,7 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./cc1 -quiet -help &1 | grep -- -msoft-float RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ diff --git a/gcc-2.8.0-psx.Dockerfile b/gcc-2.8.0-psx.Dockerfile index cd3b16e..2e5ec47 100644 --- a/gcc-2.8.0-psx.Dockerfile +++ b/gcc-2.8.0-psx.Dockerfile @@ -16,7 +16,7 @@ COPY patches /work/patches RUN sed -i -- 's/include /include /g' *.c RUN patch -u -p1 obstack.h -i ../patches/obstack-2.8.0.h.patch -RUN patch -u -p1 config/mips/mips.h -i ../patches/mipsel-2.8.patch +RUN patch -u -p1 config/mips/mips.h -i ../patches/mips.patch RUN patch -su -p1 < ../patches/psx.patch RUN ./configure \ @@ -35,6 +35,9 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./cc1 -quiet -help &1 | grep -- -msoft-float +RUN ./cc1 -quiet -help &1 | grep -- -msplit-addresses +RUN ./cc1 -quiet -help &1 | grep -- -mgpopt RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ diff --git a/gcc-2.8.1-psx.Dockerfile b/gcc-2.8.1-psx.Dockerfile index c41baa4..d2dd554 100644 --- a/gcc-2.8.1-psx.Dockerfile +++ b/gcc-2.8.1-psx.Dockerfile @@ -16,7 +16,7 @@ COPY patches /work/patches RUN sed -i -- 's/include /include /g' *.c RUN patch -u -p1 obstack.h -i ../patches/obstack-2.8.1.h.patch -RUN patch -u -p1 config/mips/mips.h -i ../patches/mipsel-2.8.patch +RUN patch -u -p1 config/mips/mips.h -i ../patches/mips.patch RUN patch -su -p1 < ../patches/psx.patch RUN ./configure \ @@ -37,6 +37,9 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./cc1 -quiet -help &1 | grep -- -msoft-float +RUN ./cc1 -quiet -help &1 | grep -- -msplit-addresses +RUN ./cc1 -quiet -help &1 | grep -- -mgpopt RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ diff --git a/gcc-2.91.66-psx.Dockerfile b/gcc-2.91.66-psx.Dockerfile index 5a9d06b..c0a136f 100644 --- a/gcc-2.91.66-psx.Dockerfile +++ b/gcc-2.91.66-psx.Dockerfile @@ -16,8 +16,8 @@ COPY patches /work/patches RUN sed -i -- 's/include /include /g' **/*.c RUN patch -u -p1 gcc/obstack.h -i ../patches/obstack-${VERSION}.h.patch -RUN patch -u -p1 gcc/config/mips/mips.h -i ../patches/mipsel-2.8.patch -RUN patch -su -p1 < ../patches/psx.patch +RUN patch -u -p1 gcc/config/mips/mips.h -i ../patches/mips.patch +RUN patch -su -p1 < ../patches/psx-2.91.patch RUN for dir in libiberty gcc; do \ cd /work/gcc-${VERSION}/${dir}; \ @@ -39,6 +39,9 @@ RUN make -C gcc/ --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m3 COPY tests /work/tests RUN ./gcc/cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./gcc/cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./gcc/cc1 -version &1 | grep -- -msoft-float +RUN ./gcc/cc1 -version &1 | grep -- -msplit-addresses +RUN ./gcc/cc1 -version &1 | grep -- -mgpopt RUN mv ./gcc/xgcc ./gcc/gcc RUN mkdir /build && cp ./gcc/cpp ./gcc/cc1 ./gcc/gcc ./gcc/cc1plus ./gcc/g++ /build/ diff --git a/gcc-2.95.2-psx.Dockerfile b/gcc-2.95.2-psx.Dockerfile index 43c9ac9..a30cb88 100644 --- a/gcc-2.95.2-psx.Dockerfile +++ b/gcc-2.95.2-psx.Dockerfile @@ -16,8 +16,9 @@ COPY patches /work/patches RUN sed -i -- 's/include /include /g' **/*.c RUN patch -u -p1 include/obstack.h -i ../patches/obstack-${VERSION}.h.patch -RUN patch -u -p1 gcc/config/mips/mips.h -i ../patches/mipsel-2.8.patch -RUN patch -su -p1 < ../patches/psx.patch +RUN patch -u -p1 gcc/config/mips/mips.h -i ../patches/mips.patch +RUN patch -su -p1 < ../patches/psx-2.91.patch + RUN for dir in libiberty gcc; do \ cd /work/gcc-${VERSION}/${dir}; \ @@ -39,6 +40,9 @@ RUN make -C gcc/ --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m3 COPY tests /work/tests RUN ./gcc/cc1 -mel -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./gcc/cc1 -quiet -O2 /work/tests/section_attribute.c +RUN ./gcc/cc1 -version &1 | grep -- -msoft-float +RUN ./gcc/cc1 -version &1 | grep -- -msplit-addresses +RUN ./gcc/cc1 -version &1 | grep -- -mgpopt RUN mv ./gcc/xgcc ./gcc/gcc RUN mkdir /build && cp ./gcc/cpp ./gcc/cc1 ./gcc/gcc ./gcc/cc1plus ./gcc/g++ /build/ diff --git a/patches/mips.patch b/patches/mips.patch new file mode 100644 index 0000000..71234a0 --- /dev/null +++ b/patches/mips.patch @@ -0,0 +1,25 @@ +--- config/mips/mips.h 1997-12-29 00:34:57.000000000 +0000 ++++ config/mips/mips-patched.h 2023-11-14 22:29:18.785172634 +0000 +@@ -1153,6 +1156,22 @@ + #define ASM_OUTPUT_DESTRUCTOR(file, name) + + #endif /* 0 */ ++ ++/* A C statement to output something to the assembler file to switch to section ++ NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or ++ NULL_TREE. Some target formats do not support arbitrary sections. Do not ++ define this macro in such cases. */ ++ ++#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \ ++do { \ ++ extern FILE *asm_out_text_file; \ ++ if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \ ++ fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \ ++ else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \ ++ fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \ ++ else \ ++ fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \ ++} while (0) + + /* Target machine storage layout */ + diff --git a/patches/mipsel-2.8.patch b/patches/mipsel-2.8.patch index f1c064b..4c77718 100644 --- a/patches/mipsel-2.8.patch +++ b/patches/mipsel-2.8.patch @@ -3,16 +3,16 @@ @@ -441,6 +441,9 @@ | TARGET_ENDIAN_DEFAULT)} \ } - + +/* Default little-endian */ +#define TARGET_ENDIAN_DEFAULT -MASK_BIG_ENDIAN + /* Default target_flags if no switches are specified */ - + #ifndef TARGET_DEFAULT @@ -1153,6 +1156,22 @@ #define ASM_OUTPUT_DESTRUCTOR(file, name) - + #endif /* 0 */ + +/* A C statement to output something to the assembler file to switch to section @@ -32,4 +32,3 @@ +} while (0) /* Target machine storage layout */ - diff --git a/patches/psx-2.91.patch b/patches/psx-2.91.patch new file mode 100644 index 0000000..3a24401 --- /dev/null +++ b/patches/psx-2.91.patch @@ -0,0 +1,169 @@ +diff --color -ruN -p1 gcc-2.6.3/gcc/config/mips/psx.h gcc-2.6.3-psx/gcc/config/mips/psx.h +--- gcc-2.6.3/gcc/config/mips/psx.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-2.6.3-psx/gcc/config/mips/psx.h 2023-03-26 13:52:13.400875920 +0100 +@@ -0,0 +1,108 @@ ++/* Definitions of target machine for GNU compiler. Iris version. ++ Copyright (C) 1991, 1993, 1995, 1996 Free Software Foundation, Inc. ++ ++This file is part of GNU CC. ++ ++GNU CC is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 2, or (at your option) ++any later version. ++ ++GNU CC is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GNU CC; see the file COPYING. If not, write to ++the Free Software Foundation, 59 Temple Place - Suite 330, ++Boston, MA 02111-1307, USA. */ ++ ++ ++/* Definitions by GIL for PSX */ ++ ++#define TARGET_DEFAULT (MASK_GAS+MASK_SOFT_FLOAT+MASK_GPOPT+MASK_SPLIT_ADDR) ++ ++#define CPP_PREDEFINES "-Dmips -DMIPSEL" ++ ++#define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}" ++ ++#define CPP_SPEC "\ ++%{!ansi:-D__EXTENSIONS__} -D_MIPSEL \ ++%{.S: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ ++%{.s: -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ ++%{.cc: -D_LANGUAGE_C_PLUS_PLUS} \ ++%{.cxx: -D_LANGUAGE_C_PLUS_PLUS} \ ++%{.C: -D_LANGUAGE_C_PLUS_PLUS} \ ++%{.m: -D_LANGUAGE_OBJECTIVE_C} \ ++%{!.S: %{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}} \ ++%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \ ++%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \ ++%{mips3:-U__mips -D__mips=3}" ++ ++#define LIB_SPEC \ ++ "%{!p:%{!pg:%{!static:%{!g*:-lc_s}} -lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s" ++ ++#define MACHINE_TYPE "Sony Playstation" ++ ++#define TARGET_ENDIAN_DEFAULT 0 ++ ++/* A C statement to output something to the assembler file to switch to section ++ NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or ++ NULL_TREE. Some target formats do not support arbitrary sections. Do not ++ define this macro in such cases. */ ++ ++#define ASM_OUTPUT_SECTION_NAME(FILE, NAME) \ ++ fprintf (FILE, "\t.section %s,\"aw\",@progbits\n", (NAME)) ++ ++/* GIL: R3000 machine supports ISA 1 */ ++#define MIPS_ISA_DEFAULT 1 ++/* GIL: set to r3000 */ ++#define MIPS_CPU_STRING_DEFAULT "R3000" ++ ++/* End of GIL for PSX */ ++ ++ ++#define SGI_TARGET 1 /* inform other mips files this is SGI */ ++ ++/* Always use 1 for .file number. I [meissner@osf.org] wonder why ++ IRIS needs this. */ ++ ++#define SET_FILE_NUMBER() ++num_source_filenames ++ ++/* Put out a label after a .loc. I [meissner@osf.org] wonder why ++ IRIS needs this. */ ++ ++#define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno) ++ ++#define STACK_ARGS_ADJUST(SIZE) \ ++{ \ ++ SIZE.constant += 4; \ ++ if (SIZE.constant < 32) \ ++ SIZE.constant = 32; \ ++} ++ ++/* Do not allow `$' in identifiers. */ ++ ++#define DOLLARS_IN_IDENTIFIERS 0 ++ ++/* Tell G++ not to create constructors or destructors with $'s in them. */ ++ ++#define NO_DOLLAR_IN_LABEL 1 ++ ++/* Specify wchar_t type. */ ++#define WCHAR_TYPE "unsigned char" ++#define WCHAR_TYPE_SIZE BITS_PER_UNIT ++ ++/* Generate calls to memcpy, etc., not bcopy, etc. */ ++#define TARGET_MEM_FUNCTIONS ++ ++/* Xeeynamo: force to use little-endian */ ++#define MIPSEL ++#define BYTES_BIG_ENDIAN 0 ++#define WORDS_BIG_ENDIAN 0 ++ ++/* Plain char is unsigned in the SGI compiler. */ ++#define DEFAULT_SIGNED_CHAR 0 ++ ++#include "mips/mips.h" +diff --color -ruN -p1 gcc-2.6.3/gcc/config/mips/xm-psx.h gcc-2.6.3-psx/gcc/config/mips/xm-psx.h +--- gcc-2.6.3/gcc/config/mips/xm-psx.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-2.6.3-psx/gcc/config/mips/xm-psx.h 2023-03-26 13:52:13.402875923 +0100 +@@ -0,0 +1,12 @@ ++#define USG ++ ++#include "mips/xm-mips.h" ++ ++#define USG ++#define HAVE_VPRINTF ++ ++/* ++#define bcopy(a,b,c) memcpy (b,a,c) ++#define bzero(a,b) memset (a,0,b) ++#define bcmp(a,b,c) memcmp (a,b,c) ++*/ +\ No newline at end of file +diff --color -ruN -p1 gcc-2.6.3/config.sub gcc-2.6.3-psx/config.sub +--- gcc-2.6.3/config.sub 1994-10-26 18:23:05.000000000 +0000 ++++ gcc-2.6.3-psx/config.sub 2023-03-26 13:53:36.046989327 +0100 +@@ -420,2 +420,6 @@ case $basic_machine in + ;; ++ psx) ++ basic_machine=mips-sony ++ os=-psx ++ ;; + rtpc | rtpc-*) +@@ -636,2 +640,5 @@ case $os in + ;; ++ -psx) ++ os=-psx ++ ;; + -none) +diff --color -ruN -p1 gcc-2.6.3/gcc/configure gcc-2.6.3-psx/gcc/configure +--- gcc-2.6.3/gcc/configure 1994-11-23 22:26:27.000000000 +0000 ++++ gcc-2.6.3-psx/gcc/configure 2023-03-26 13:54:03.941012094 +0100 +@@ -1471,2 +1471,20 @@ for machine in $canon_build $canon_host + ;; ++ mips-sony-psx*) # Sony Playstation ++ tm_file=mips/psx.h ++ xm_file=mips/xm-psx.h ++ elf=yes ++ gnu_ld=yes ++ gas=yes ++ DEFS=-Dpsx -D__psx__ -D__psx ++ if [ x$gas = xyes ] ++ then ++ tmake_file=mips/t-mips-gas ++ else ++ extra_passes="mips-tfile mips-tdump" ++ fi ++ if [ x$gnu_ld != xyes ] ++ then ++ use_collect2=yes ++ fi ++ ;; + mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0. diff --git a/patches/psx.patch b/patches/psx.patch index 218667f..2573f87 100644 --- a/patches/psx.patch +++ b/patches/psx.patch @@ -25,7 +25,7 @@ diff --color -ruN -p1 gcc-2.6.3/config/mips/psx.h gcc-2.6.3-psx/config/mips/psx. + +/* Definitions by GIL for PSX */ + -+#define TARGET_DEFAULT (MASK_GAS+MASK_SOFT_FLOAT+MASK_GPOPT) ++#define TARGET_DEFAULT (MASK_GAS+MASK_SOFT_FLOAT+MASK_GPOPT+MASK_SPLIT_ADDR) + +#define CPP_PREDEFINES "-Dmips -DMIPSEL" + From e9b55e198d19a7a21f6e4a7353e6070315025583 Mon Sep 17 00:00:00 2001 From: Mark Street Date: Wed, 11 Sep 2024 13:10:28 +0100 Subject: [PATCH 2/2] Fixup flag tests for 2.8.x --- gcc-2.8.0-psx.Dockerfile | 6 +++--- gcc-2.8.1-psx.Dockerfile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc-2.8.0-psx.Dockerfile b/gcc-2.8.0-psx.Dockerfile index 2e5ec47..bffa36d 100644 --- a/gcc-2.8.0-psx.Dockerfile +++ b/gcc-2.8.0-psx.Dockerfile @@ -35,9 +35,9 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c -RUN ./cc1 -quiet -help &1 | grep -- -msoft-float -RUN ./cc1 -quiet -help &1 | grep -- -msplit-addresses -RUN ./cc1 -quiet -help &1 | grep -- -mgpopt +RUN ./cc1 -version &1 | grep -- -msoft-float +RUN ./cc1 -version &1 | grep -- -msplit-addresses +RUN ./cc1 -version &1 | grep -- -mgpopt RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/ diff --git a/gcc-2.8.1-psx.Dockerfile b/gcc-2.8.1-psx.Dockerfile index d2dd554..3da13ee 100644 --- a/gcc-2.8.1-psx.Dockerfile +++ b/gcc-2.8.1-psx.Dockerfile @@ -37,9 +37,9 @@ RUN make --jobs $(nproc) cpp cc1 xgcc cc1plus g++ CFLAGS="-std=gnu89 -m32 -stati COPY tests /work/tests RUN ./cc1 -quiet -O2 /work/tests/little_endian.c && grep -E 'lbu\s\$2,0\(\$4\)' /work/tests/little_endian.s RUN ./cc1 -quiet -O2 /work/tests/section_attribute.c -RUN ./cc1 -quiet -help &1 | grep -- -msoft-float -RUN ./cc1 -quiet -help &1 | grep -- -msplit-addresses -RUN ./cc1 -quiet -help &1 | grep -- -mgpopt +RUN ./cc1 -version &1 | grep -- -msoft-float +RUN ./cc1 -version &1 | grep -- -msplit-addresses +RUN ./cc1 -version &1 | grep -- -mgpopt RUN mv xgcc gcc RUN mkdir /build && cp cpp cc1 gcc cc1plus g++ /build/