summaryrefslogtreecommitdiff
path: root/system/gcc/331-gccgo-use-real-off_t-type.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-06-11 14:03:55 -0500
commitfea61b9e1973a6ca7efe6cdf91e87c7604d54dd6 (patch)
treedfbe2ea0114eaf6c9fa04043def5f921a29efaec /system/gcc/331-gccgo-use-real-off_t-type.patch
parentaec78470ff4b2c671c4a522920681947c0209e11 (diff)
downloadpackages-fea61b9e1973a6ca7efe6cdf91e87c7604d54dd6.tar.gz
packages-fea61b9e1973a6ca7efe6cdf91e87c7604d54dd6.tar.bz2
packages-fea61b9e1973a6ca7efe6cdf91e87c7604d54dd6.tar.xz
packages-fea61b9e1973a6ca7efe6cdf91e87c7604d54dd6.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/331-gccgo-use-real-off_t-type.patch')
-rw-r--r--system/gcc/331-gccgo-use-real-off_t-type.patch39
1 files changed, 10 insertions, 29 deletions
diff --git a/system/gcc/331-gccgo-use-real-off_t-type.patch b/system/gcc/331-gccgo-use-real-off_t-type.patch
index 1c8c43e9e..c652dd448 100644
--- a/system/gcc/331-gccgo-use-real-off_t-type.patch
+++ b/system/gcc/331-gccgo-use-real-off_t-type.patch
@@ -1,30 +1,11 @@
---- gcc-6.4.0/libgo/go/syscall/libcall_linux.go.old 2016-02-03 15:58:02.419872000 -0600
-+++ gcc-6.4.0/libgo/go/syscall/libcall_linux.go 2018-06-22 00:56:31.478280552 -0500
-@@ -355,19 +355,19 @@
- //sys Setxattr(path string, attr string, data []byte, flags int) (err error)
- //setxattr(path *byte, name *byte, value *byte, size Size_t, flags _C_int) _C_int
+--- gcc-13.3.0/libgo/sysinfo.c.old 2024-05-22 20:29:51.727156372 -0500
++++ gcc-13.3.0/libgo/sysinfo.c 2024-05-22 20:35:39.499799256 -0500
+@@ -363,6 +363,8 @@
+ // loff_t can be defined as a macro; for -fgo-dump-spec make sure we
+ // see a typedef.
+ typedef loff_t libgo_loff_t_type;
++#else
++typedef off_t libgo_loff_t_type;
+ #endif
--//sys splice(rfd int, roff *_loff_t, wfd int, woff *_loff_t, len int, flags int) (n int64, err error)
--//splice(rfd _C_int, roff *_loff_t, wfd _C_int, woff *_loff_t, len Size_t, flags _C_uint) Ssize_t
-+//sys splice(rfd int, roff *_off_t, wfd int, woff *_off_t, len int, flags int) (n int64, err error)
-+//splice(rfd _C_int, roff *_off_t, wfd _C_int, woff *_off_t, len Size_t, flags _C_uint) Ssize_t
- func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-- var lroff _loff_t
-- var plroff *_loff_t
-+ var lroff _off_t
-+ var plroff *_off_t
- if roff != nil {
-- lroff = _loff_t(*roff)
-+ lroff = _off_t(*roff)
- plroff = &lroff
- }
-- var lwoff _loff_t
-- var plwoff *_loff_t
-+ var lwoff _off_t
-+ var plwoff *_off_t
- if woff != nil {
-- lwoff = _loff_t(*woff)
-+ lwoff = _off_t(*woff)
- plwoff = &lwoff
- }
- n, err = splice(rfd, plroff, wfd, plwoff, len, flags)
+ #if defined(HAVE_OFF64_T)