summaryrefslogtreecommitdiff
path: root/system/gcc
AgeCommit message (Collapse)AuthorFilesLines
2024-08-07system/gcc: Fix TSan on PPC64A. Wilcox2-0/+61
2024-08-07system/gcc: Fixes for 32-bit Arm platformsA. Wilcox3-26/+41
* The san library needs some adjustments to handle the fact we need frame pointers (r7 is used for the syscall number, and the FP). * Fix GCC Go __go_mmap external linking since they changed the signature upstream for the C side. This closes #1201.
2024-08-07system/gcc: Fix libsan on ppc64 and i586 bugA. Wilcox3-5/+64
Closes: #1217, #1218
2024-08-07system/gcc: Add sanitizer supportA. Wilcox2-3/+172
Based-ish on Chimera's patches, but a bit more thorough. * 32-bit ports don't have liblsan or libtsan. * We can't dep on utmps-dev for utmpx, so hard-code size. The size is the same on all six arches per my testing.
2024-08-07system/gcc: Update to 13.3.0A. Wilcox48-1058/+6085
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.
2023-10-03system/gcc: Fix static PIE linking specA. Wilcox2-3/+3
On 32-bit ARM, -Bsymbolic isn't enough. -Bstatic should be correct on all platforms, and should fix static PIE linking on armv7. Ref: #1070
2023-05-12remove erroneous files. fixes #828.Zach van Rijn2-175/+0
2023-01-02system/gcc: Finish fixing unwinding in GCC Go rtA. Wilcox2-2/+44
We add more functions to the unwind string comparisons, and pull in the symbols for libucontext. Fixes: 0dd86764 ("system/gcc: Ensure gccgo doesn't run off the stack") Refs: #832
2022-12-25system/gcc: Ensure gccgo doesn't run off the stackA. Wilcox2-0/+20
libucontext doesn't clear the stack frame below makecontext. This caused us to end up crashing like Solaris[1]. Fixes: #832 [1]: https://gcc.gnu.org/PR52583#c21
2022-12-25system/gcc: Make ARMv7 unwind macros functionsA. Wilcox2-3/+58
This workaround is already needed upstream for FreeBSD. Let's go ahead and use the same workaround for musl. We also ensure they are not declared `inline` so that they are available as library functions. We also have a hack in place for the stage1 Ada driver due to their own hack pulling in the Arm unwind functions directly without linking. Fixes: #866 (and probably more as we continue building packages)
2022-05-01system/gcc: add patch for libgo w/ musl 1.2.3. fixes #539.Zach van Rijn2-1/+17
2022-05-01system/gcc: allow textrels for 32-bit ppc. fixes #453.Zach van Rijn1-0/+1
2022-05-01system/gcc: bump { 8.3.0 --> 8.5.0 }Zach van Rijn3-44/+4
2020-01-19system/gcc: Two late-breaking changes to GCCA. Wilcox2-1/+43
1. IBM long double ABI fix in libgcc for static builds 2. time64 support on 32-bit arches in std::chrono (libstdc++)
2019-12-23system/gcc: fix Go on 32-bit machines with 64-bit time_tA. Wilcox2-0/+21
2019-07-21system/*: initial bashism removalMax Rees1-2/+2
2019-06-28system/gcc: more AdaA. Wilcox2-127/+0
2019-06-28system/gcc: look, ma! Ada is in the house!A. Wilcox6-16/+806
2019-04-25system/gcc: fix more GCC Go bugsA. Wilcox3-0/+164
2019-04-19system/gcc: fix gomp/itm TLS modelA. Wilcox2-0/+53
2019-03-08system/gcc: well, it needs to be built against new isl anywayA. Wilcox1-1/+1
2019-03-07system/gcc: use byacc instead of bisonA. Wilcox1-1/+1
2019-03-06system/gcc: Fix ppc32 kernel build; POSIXise builtin snprintfA. Wilcox3-1/+107
2019-03-05system/gcc: fix 32-bit PowerPC issueA. Wilcox2-0/+17
2019-03-04system/gcc: GCC 8 introduces --enable-default-ssp, kill patchA. Wilcox2-217/+2
2019-03-04system/gcc: More Go fixes (build and runtime)A. Wilcox5-0/+87
2019-02-28system/gcc: bump to 8.3.0A. Wilcox34-1443/+501
These patches have been forward-ported to 8: 002_all_default-relro.patch 005_all_default-as-needed.patch 011_all_default-warn-format-security.patch 012_all_default-warn-trampolines.patch We are no longer using fortify-headers, so these patches are no longer needed: 003_all_default-fortify-source.patch 050_all_libiberty-asprintf.patch 053_all_libitm-no-fortify-source.patch These patches no longer appear necessary: 067_all_gcc-poison-system-directories.patch 090_all_pr55930-dependency-tracking.patch 201-cilkrts.patch 203-libgcc_s.patch 207-static-pie.patch These patches have already been applied upstream: 204-linux_libc_has_function.patch 332-gccgo-remove-ustat.patch ada-aarch64-multiarch.patch ada-fixes.patch boehm-gc-musl.patch fix-rs6000-pie.patch gcc-4.8-build-args.patch lra-pentium.patch These patches are no longer necessary because GCJ has been removed: 310-build-gcj-s390x.patch fix-gcj-iconv-musl.patch fix-gcj-musl.patch fix-gcj-stdgnu14-link.patch The rest of the changes are updates from nsz's patchset.
2019-02-27system/gcc: Use https:// for source URLsLuis Ressel1-4/+5
2018-11-12system/gcc: fix locale in libstdc++ (thanks @smaeul)A. Wilcox2-2/+18
2018-06-23system/gcc: actually remove ustat properlyA. Wilcox2-18/+57
2018-06-22system/gcc: [PD] add gcc-go, add m68k stuff, etcA. Wilcox4-13/+222
2018-05-26system/gcc: add Cortex-A53 fixes to GCC (thanks @smaeul)A. Wilcox1-1/+1
2018-04-04system/gcc: add lra-pentium patch and update locale stuffA. Wilcox3-92/+143
2018-03-18system/gcc: ensure pmmx is understood as an x86A. Wilcox1-1/+1
2018-02-20system/gcc: maintain our own toolchainA. Wilcox37-0/+2779