Commit Graph

10 Commits

Author SHA1 Message Date
Richard van Dijk 8d34906685 patches for building gcc on Apple Silicon
Sourced from:
* gcc-mirror/gcc@53a9065 darwin-aarch64-config (for gcc-6.5.0 .. gcc-10.3.0)
* gcc-mirror/gcc@834c874 darwin-aarch64-self-host-driver (for gcc-6.5.0 .. gcc-10.3.0)
* gcc-mirror/gcc@590febb darwin-align-pch_address_space-to-16k (for gcc-6.5.0 .. gcc-9.2.0)
2022-01-23 22:15:24 +01:00
Rich Felker 30454c5887 add big-hammer patch for GCC bug 95189
this is a critical wrong-codegen bug in gcc 9 and 10 that can have
security impact, and oddly the fix still does not seem to have been
backported, so just disable builtin memcmp expansion entirely until
there's a known-good fix.
2021-06-23 21:53:57 -04:00
Rich Felker b29ed1829e update gcc futex time64 patch for compat with riscv32
riscv32 will define both syscalls but with equal value, and long will
not be the right timespec member type.
2020-09-23 17:56:47 -04:00
Rich Felker 531af98526 improve m68k sqrt patch not to suppress insn on archs where it works
the 60840 fpu and later, and coldfire fpus, have precision-specific
sqrt instructions that get used and do the right thing. only when
targeting baseline (or near-baseline) ISA does the ld80-only
instruction get used, and that's all that needs to be suppressed.
2020-07-02 12:22:13 -04:00
Rich Felker d04fb4943f add patch fixing broken m68k sqrt
gcc pr 95921. the m68k sqrt rtl handles excess precision wrong. I
couldn't figure out how to make gcc generate the insn only for long
double, but since long double usage is rare anyway, just remove it.
this can be replaced with a proper fix later if there's ever one
upstream.
2020-06-30 16:35:55 -04:00
Rich Felker b49456e19a fix gcc 8+ static pie patches to make -static-pie pass -static to ld
previously this was missed because there's target-specific spec magic
for a few targets to do it, but many including arm don't have it.
without this, use of -static-pie produces broken binaries which lack
an interpreter but link to shared libraries on the targets affected.

use of -static -pie (preferred form) is not affected. gcc versions
prior to 8.x did not have -static-pie (because there was no upstream
static pie support) so this patch is only needed for 8+, and only to
prevent breakage if someone uses the -static-pie option instead of
-static with -pie.
2020-02-10 12:18:24 -05:00
Rich Felker 03d6d755c7 add patch fixing gcc pr93402 (wrong codegen)
affects all gcc versions 6.x and later. same patch works for all.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93402
2020-01-23 19:38:39 -05:00
Rich Felker 431a47af9e add gcc patch fixing libstdc++ futex use for time64 compatibility
this is not the cleanest fix but should at least make it non-broken.
2020-01-21 00:07:40 -05:00
Rich Felker 52527c462f add patch fixing copy relocs issue on riscv
this is binutils issue 23825, but it's caused by gcc using local-exec
model rather than initial-exec model with the intent of making
binutils generate copy relocations. this is harmful, unnecessary, and
not presently supported by musl (and probably should never be). patch
taken from https://github.com/riscv/riscv-gcc/pull/118.
2019-11-19 08:50:58 -05:00
Rich Felker 9e06392a64 add gcc 9.2.0 hash and patches
patches from Szabolcs Nagy's patchset, carried forward from 8.x with
minimal changes, with #0014 added from recent additions not reflected.
2019-11-10 20:13:42 -05:00