summaryrefslogtreecommitdiff
path: root/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch')
-rw-r--r--Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch37
1 files changed, 18 insertions, 19 deletions
diff --git a/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch b/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
index f140ba4e54..d371e5e8fa 100644
--- a/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
+++ b/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
@@ -19,20 +19,20 @@ Co-Authored-By: Brian Gianforcaro <bgianf@serenityos.org>
Co-Authored-By: Philip Herron <herron.philip@googlemail.com>
Co-Authored-By: Shannon Booth <shannon.ml.booth@gmail.com>
---
- gcc/config.gcc | 20 +++++++++++++++
+ gcc/config.gcc | 19 ++++++++++++++
gcc/config/i386/serenity.h | 7 ++++++
gcc/config/serenity.h | 51 ++++++++++++++++++++++++++++++++++++++
gcc/config/serenity.opt | 35 ++++++++++++++++++++++++++
- 4 files changed, 113 insertions(+)
+ 4 files changed, 112 insertions(+)
create mode 100644 gcc/config/i386/serenity.h
create mode 100644 gcc/config/serenity.h
create mode 100644 gcc/config/serenity.opt
diff --git a/gcc/config.gcc b/gcc/config.gcc
-index c5064dd376660c192d5573997b4fc86b6b3e3838..f8a468c6f86c559eda37f780cf592245e42c78ac 100644
+index 6fd1594480a1d2054f499573b498781dfafd1d93..8e3d6c378796f324b904a7c58b274472362600fb 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
-@@ -673,6 +673,13 @@ x86_cpus="generic intel"
+@@ -690,6 +690,18 @@ x86_cpus="generic intel"
# Common parts for widely ported systems.
case ${target} in
@@ -42,29 +42,28 @@ index c5064dd376660c192d5573997b4fc86b6b3e3838..f8a468c6f86c559eda37f780cf592245
+ default_use_cxa_atexit=yes
+ extra_options="${extra_options} serenity.opt"
+ tmake_file="t-slibgcc"
++ case ${target} in
++ aarch64*-* | x86_64-*)
++ default_gnu_indirect_function=yes
++ ;;
++ esac
+ ;;
*-*-darwin*)
tmake_file="t-darwin "
tm_file="${tm_file} darwin.h"
-@@ -1087,6 +1094,19 @@ case ${target} in
+@@ -1126,6 +1138,13 @@ case ${target} in
esac
case ${target} in
-+i[34567]86-*-serenity*)
-+ default_gnu_indirect_function=yes
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h serenity.h i386/serenity.h"
-+ ;;
+x86_64-*-serenity*)
-+ default_gnu_indirect_function=yes
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h serenity.h i386/serenity.h"
-+ ;;
-+aarch64-*-serenity*)
-+ default_gnu_indirect_function=yes
-+ tm_file="${tm_file} dbxelf.h elfos.h aarch64/aarch64-elf.h glibc-stdint.h serenity.h"
-+ tmake_file="${tmake_file} aarch64/t-aarch64"
-+ ;;
++ tm_file="${tm_file} i386/unix.h i386/att.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h serenity.h i386/serenity.h"
++ ;;
++aarch64*-*-serenity*)
++ tm_file="${tm_file} elfos.h glibc-stdint.h aarch64/aarch64-elf.h serenity.h"
++ tmake_file="${tmake_file} aarch64/t-aarch64"
++ ;;
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
- tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
+ 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"
diff --git a/gcc/config/i386/serenity.h b/gcc/config/i386/serenity.h
new file mode 100644
@@ -81,7 +80,7 @@ index 0000000000000000000000000000000000000000..53a4b8e93b74b4808a4bfed91c4d5558
+#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
diff --git a/gcc/config/serenity.h b/gcc/config/serenity.h
new file mode 100644
-index 0000000000000000000000000000000000000000..17551aaa1a07e6c0b7365f98899375122ba12529
+index 0000000000000000000000000000000000000000..b1fc4bb63facc9514bf300a84edbaefe56fee324
--- /dev/null
+++ b/gcc/config/serenity.h
@@ -0,0 +1,51 @@