summaryrefslogtreecommitdiff
path: root/system/gcc/006_as-needed-gold.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-05-23 23:40:10 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2024-08-07 09:57:51 -0500
commit93cf7fc8b05fe3003b6f16b766622544cdf3830b (patch)
tree594b1c2e06144b9e0b0dae1310399b5935ddc5ff /system/gcc/006_as-needed-gold.patch
parentd15fa95546e4f4200700750986fb5e249d9bfbe1 (diff)
downloadpackages-93cf7fc8b05fe3003b6f16b766622544cdf3830b.tar.gz
packages-93cf7fc8b05fe3003b6f16b766622544cdf3830b.tar.bz2
packages-93cf7fc8b05fe3003b6f16b766622544cdf3830b.tar.xz
packages-93cf7fc8b05fe3003b6f16b766622544cdf3830b.zip
system/gcc: Update to 13.3.0
0012-static-pie and 201-ada were forward-ported by my own paws. Three digit 0xx underscore patches are from Gentoo. This is also the source of the insn-split and match-split patches, which significantly increase performance on build. They are also the source of the new configure option --with-matchpd-partitions. On systems with very many cores/threads, a number higher than 32 would probably perform even better, but 32 should give decent perf on 8+ threads, and runs quite nicely on the 64-thread Talos II I ran the testbuild on. 202 is from Void. The 300s are originally written by me. The Ada patch now includes an improvement to use posix_openpt instead of getpt, which fixes link errors later on. We also now use STAGE1_CFLAGS and BOOT_CFLAGS to improve build times. Improvement was clocked from 40m to 32m (-8m, or 20%) on gwyn. The patch for Go name mangling is needed to build packages that use reflect2, which includes user/gitlab-runner.
Diffstat (limited to 'system/gcc/006_as-needed-gold.patch')
-rw-r--r--system/gcc/006_as-needed-gold.patch58
1 files changed, 0 insertions, 58 deletions
diff --git a/system/gcc/006_as-needed-gold.patch b/system/gcc/006_as-needed-gold.patch
deleted file mode 100644
index 3dc0aee7a..000000000
--- a/system/gcc/006_as-needed-gold.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-# DP: Use --push-state/--pop-state for gold as well when linking libtsan.
-
-Index: src/gcc/gcc.c
-===================================================================
---- src/gcc/gcc.c
-+++ src/gcc/gcc.c
-@@ -686,10 +686,10 @@ proper position among the other output f
- #define LIBASAN_SPEC STATIC_LIBASAN_LIBS
- #elif defined(HAVE_LD_STATIC_DYNAMIC)
- #define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
-- " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
-+ " %{!static-libasan:--push-state --no-as-needed}" \
- " -lasan " \
- " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
-- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
-+ " %{!static-libasan:--pop-state}" \
- STATIC_LIBASAN_LIBS
- #else
- #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
-@@ -707,10 +707,10 @@ proper position among the other output f
- #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
- #elif defined(HAVE_LD_STATIC_DYNAMIC)
- #define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
-- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
-+ " %{!static-libtsan:--push-state --no-as-needed}" \
- " -ltsan " \
- " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
-- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
-+ " %{!static-libtsan:--pop-state}" \
- STATIC_LIBTSAN_LIBS
- #else
- #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
-@@ -728,10 +728,10 @@ proper position among the other output f
- #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
- #elif defined(HAVE_LD_STATIC_DYNAMIC)
- #define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
-- " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
-+ " %{!static-liblsan:--push-state --no-as-needed}" \
- " -llsan " \
- " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
-- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
-+ " %{!static-liblsan:--pop-state}" \
- STATIC_LIBLSAN_LIBS
- #else
- #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
-@@ -747,10 +747,10 @@ proper position among the other output f
- " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
- #ifdef HAVE_LD_STATIC_DYNAMIC
- #define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
-- " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
-+ " %{!static-libubsan:--push-state --no-as-needed}" \
- " -lubsan " \
- " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
-- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
-+ " %{!static-libubsan:--pop-state}" \
- STATIC_LIBUBSAN_LIBS
- #else
- #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS