summaryrefslogtreecommitdiff
path: root/toolchain/gcc-13.1.0.diff
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2023-10-22 19:50:38 +0200
committerAnton Kling <anton@kling.gg>2023-10-22 19:50:38 +0200
commit4e09bca9e34c226b6d7e34b4fa11248405fd988e (patch)
tree80f156b7940d9d19971395f335530170c69516c7 /toolchain/gcc-13.1.0.diff
Move everything into a new repo.
Diffstat (limited to 'toolchain/gcc-13.1.0.diff')
-rw-r--r--toolchain/gcc-13.1.0.diff142
1 files changed, 142 insertions, 0 deletions
diff --git a/toolchain/gcc-13.1.0.diff b/toolchain/gcc-13.1.0.diff
new file mode 100644
index 0000000..eb15a77
--- /dev/null
+++ b/toolchain/gcc-13.1.0.diff
@@ -0,0 +1,142 @@
+diff --git a/config.sub b/config.sub
+index 38f3d037a..44169ef44 100755
+--- a/config.sub
++++ b/config.sub
+@@ -1749,7 +1749,7 @@ case $os in
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+- | fiwix* )
++ | fiwix* | sb*)
+ ;;
+ # This one is extra strict with allowed versions
+ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
+diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
+index df90720b7..fdd219967 100755
+--- a/fixincludes/mkfixinc.sh
++++ b/fixincludes/mkfixinc.sh
+@@ -11,6 +11,8 @@ target=fixinc.sh
+
+ # Check for special fix rules for particular targets
+ case $machine in
++ *-sb* | \
++ *-*-sb* | \
+ i?86-*-cygwin* | \
+ i?86-*-mingw32* | \
+ x86_64-*-mingw32* | \
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 6fd159448..c4c05ce9e 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -690,6 +690,12 @@ x86_cpus="generic intel"
+
+ # Common parts for widely ported systems.
+ case ${target} in
++*-*-sb*)
++ gas=yes
++ gnu_ld=yes
++ default_use_cxa_atexit=yes
++ use_gcc_stdint=provide
++ ;;
+ *-*-darwin*)
+ tmake_file="t-darwin "
+ tm_file="${tm_file} darwin.h"
+@@ -1126,6 +1132,9 @@ case ${target} in
+ esac
+
+ case ${target} in
++#i[34567]86-*-sb*) # UNSURE
++# tm_file="${tm_file} i386/unix.h i386/att.h elfos.h glibc-stdint.h i386/i386elf.h sb.h"
++# ;;
+ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
+ tm_file="${tm_file} elfos.h newlib-stdint.h"
+ tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
+@@ -2327,6 +2336,10 @@ m68k-*-elf* | fido-*-elf*)
+ ;;
+ esac
+ ;;
++#AAAAAAAAAAAAAAAAAAA
++i[34567]86-*-sb*) # UNSURE
++ tm_file="${tm_file} i386/unix.h i386/att.h elfos.h glibc-stdint.h i386/i386elf.h sb.h"
++ ;;
+ m68k*-*-netbsdelf*)
+ default_m68k_cpu=68020
+ default_cf_cpu=5475
+diff --git a/gcc/config/sb.h b/gcc/config/sb.h
+new file mode 100644
+index 000000000..b721cb53f
+--- /dev/null
++++ b/gcc/config/sb.h
+@@ -0,0 +1,28 @@
++/* Useful if you wish to make target-specific GCC changes. */
++#undef TARGET_SB
++#define TARGET_SB 1
++
++/* Default arguments you want when running your
++ i686-myos-gcc/x86_64-myos-gcc toolchain */
++#undef LIB_SPEC
++#define LIB_SPEC "-lc" /* link against C standard library */
++
++/* Files that are linked before user code.
++ The %s tells GCC to look for these files in the library directory. */
++#undef STARTFILE_SPEC
++#define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
++
++/* Files that are linked after user code. */
++#undef ENDFILE_SPEC
++#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
++
++/* Additional predefined macros. */
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS() \
++ do { \
++ builtin_define("__sb__"); \
++ builtin_define("__unix__"); \
++ builtin_assert("system=sb"); \
++ builtin_assert("system=unix"); \
++ builtin_assert("system=posix"); \
++ } while (0);
+diff --git a/libgcc/config.host b/libgcc/config.host
+index b9975de90..da9323956 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -220,6 +220,10 @@ esac
+
+ # Common parts for widely ported systems.
+ case ${host} in
++#i[34567]86-*-sb*)
++# extra_parts="$extra_parts crti.o crtbegin.o crtend.o crtn.o"
++# tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
++# ;;
+ *-*-darwin*)
+ asm_hidden_op=.private_extern
+ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic"
+@@ -1503,6 +1507,10 @@ am33_2.0-*-linux*)
+ m32c-*-elf*)
+ tmake_file="$tmake_file m32c/t-m32c"
+ ;;
++i[34567]86-*-sb*)
++ extra_parts="$extra_parts crti.o crtbegin.o crtend.o crtn.o"
++ tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
++ ;;
+ nvptx-*)
+ tmake_file="$tmake_file nvptx/t-nvptx"
+ extra_parts="crt0.o"
+diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
+index b3269cb88..8c0bc1e6f 100644
+--- a/libstdc++-v3/crossconfig.m4
++++ b/libstdc++-v3/crossconfig.m4
+@@ -8,7 +8,12 @@ case "${host}" in
+ arm*-*-symbianelf*)
+ # This is a freestanding configuration; there is nothing to do here.
+ ;;
+-
++ *-sb*)
++ GLIBCXX_CHECK_COMPILER_FEATURES
++ GLIBCXX_CHECK_LINKER_FEATURES
++ GLIBCXX_CHECK_MATH_SUPPORT
++ GLIBCXX_CHECK_STDLIB_SUPPORT
++ ;;
+ avr*-*-*)
+ AC_DEFINE(HAVE_ACOSF)
+ AC_DEFINE(HAVE_ASINF)