diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-05-23 23:40:10 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-08-07 09:57:51 -0500 |
commit | 93cf7fc8b05fe3003b6f16b766622544cdf3830b (patch) | |
tree | 594b1c2e06144b9e0b0dae1310399b5935ddc5ff /system/gcc/342-gccgo-reflect-underscore.patch | |
parent | d15fa95546e4f4200700750986fb5e249d9bfbe1 (diff) | |
download | packages-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/342-gccgo-reflect-underscore.patch')
-rw-r--r-- | system/gcc/342-gccgo-reflect-underscore.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/system/gcc/342-gccgo-reflect-underscore.patch b/system/gcc/342-gccgo-reflect-underscore.patch new file mode 100644 index 000000000..8edad0e39 --- /dev/null +++ b/system/gcc/342-gccgo-reflect-underscore.patch @@ -0,0 +1,28 @@ +See also: https://github.com/modern-go/reflect2/issues/21 + +--- gcc-13.3.0/libgo/go/runtime/malloc.go.old 2024-05-21 02:47:42.000000000 -0500 ++++ gcc-13.3.0/libgo/go/runtime/malloc.go 2024-06-03 19:25:48.497999687 -0500 +@@ -1297,6 +1297,11 @@ + return mallocgc(typ.size, typ, true) + } + ++//go:linkname reflect_unsafe_New_one_underscore reflect.unsafe_New ++func reflect_unsafe_New_one_underscore(typ *_type) unsafe.Pointer { ++ return mallocgc(typ.size, typ, true) ++} ++ + //go:linkname reflectlite_unsafe_New internal_1reflectlite.unsafe__New + func reflectlite_unsafe_New(typ *_type) unsafe.Pointer { + return mallocgc(typ.size, typ, true) +@@ -1319,6 +1324,11 @@ + return newarray(typ, n) + } + ++//go:linkname reflect_unsafe_NewArray_one_underscore reflect.unsafe_NewArray ++func reflect_unsafe_NewArray_one_underscore(typ *_type, n int) unsafe.Pointer { ++ return newarray(typ, n) ++} ++ + func profilealloc(mp *m, x unsafe.Pointer, size uintptr) { + c := getMCache(mp) + if c == nil { |