diff options
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.patch | 37 |
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 @@ |