Commit Graph

244 Commits

Author SHA1 Message Date
Rich Felker 8f42acc89f remove support for non-latest gcc 9 series 2024-05-06 12:00:20 -04:00
Rich Felker 678797f062 fix fdpic regressions in gcc 10 and later
these were added when arm fdpic support was upstreamed in gcc. one patch
was just entirely wrong (broke arm init/fini arrays, gcc pr#114158) and
the other put arm-specific unwind logic in place for all fdpic targets
and broke building of the unwinder code.
2024-03-13 18:13:07 -04:00
Rich Felker 91bdb320f1 fix cowpatch issue with libstdc++-v3 directory in gcc
this directory uses relative pathnames to access libgcc unwind
headers, but with cowpatch, those are relative to the libstdc++-v3
directory in the unpatched tree unless libstdc++-v3 has been
cow-split.

this calls for a general solution at some point, but for now, just add
an explicit dummy patch to trigger cow splitting.
2024-03-13 18:13:07 -04:00
Rich Felker e149c31c48 bump default musl version to 1.2.5 2024-02-29 21:22:15 -05:00
Rich Felker faba06df14 add hash for musl 1.2.5 2024-02-29 21:22:08 -05:00
Viktor Szakats 26bb551045 use HTTPS when retrieving code from the internet 2024-02-22 10:27:12 -05:00
Kevin Bortis 1f5f342295 Update ISL upstream download location
http://isl.gforge.inria.fr was deprecated for some time and is now
down. This patch updates the download location to the new sourceforge
upstream location of the ISL project.
2024-02-22 10:23:52 -05:00
Rich Felker e55fcd2d1d bump default musl version to 1.2.4 2024-02-22 10:13:22 -05:00
Rich Felker 2519caabc0 add hash for musl 1.2.4 2024-02-22 10:12:25 -05:00
rofl0r fe915821b6 bump gcc 11.1.0 to 11.2.0 2022-04-15 15:56:08 -04:00
Szabolcs Nagy 64649ce72d add gcc-11.1.0 hash and patches 2022-04-15 15:56:08 -04:00
Rich Felker d06727c1c4 update musl version to 1.2.3 2022-04-15 15:51:21 -04:00
fanquake 0c9116aaa7
Add hash for musl 1.2.3 2022-04-09 22:31:59 +01:00
rofl0r 0f22991b8d update linux-headers to 4.19.88-1
the new release adds support for m68k and s390x archs.
2021-09-11 21:05:46 -04:00
Szabolcs Nagy 620d5d1564 add gcc-10.3.0 hash and patches 2021-09-08 20:59:41 +00:00
Rich Felker 3398364d6e litecross: force gcc to use init/fini arrays
I overlooked that GCC was not doing this by default for musl, since
binutils ld automatically converts the .ctors/.dtors GCC emits to
init/fini arrays at link time. unfortunately lld does not do the same,
so without --enable-initfini-array, GCC produces object files that lld
will mislink unless it was configured with support for legacy GCC
ctors.
2021-07-09 12:33:39 -04:00
Rich Felker 5b405688ee add gcc patches for powerpc-spe musl dynamic linker name
spe uses -sf abi
2021-07-05 14:49:24 -04:00
Rich Felker 7600764f17 add gcc 8.x patch for powerpc-spe support
gcc 8 split this out into a separate config dir, but the files there
are old bitrotted ones without musl support.
2021-06-25 17:48:30 -04: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 0ce03e0f46 bump default gcc version to 9.4.0 2021-06-23 21:53:57 -04:00
rofl0r aec25e57eb add GCC 9.4.0
0017-pr93402.diff was dropped, as it was merged upstream.
2021-06-23 21:53:57 -04:00
rofl0r c4c5b49efa update GCC 8.3.0 to 8.5.0
0017-pr93402.diff was removed, as it was merged upstream.
2021-06-23 21:53:57 -04:00
IceCodeNew 52858e01e5 Use GNU Mirror 2021-06-23 21:53:48 -04:00
IceCodeNew ad8387d91f Update `MUSL_SITE` 2021-06-23 20:25:16 -04:00
rofl0r f442c9178b replace GCC 7.3.0 with 7.5.0 2021-06-23 20:19:07 -04:00
Rich Felker 7d4c0c0dd0 update default musl version to 1.2.2 2021-06-23 16:27:00 -04:00
Rich Felker f04af98d77 add hash for musl 1.2.2 2021-06-23 16:26:33 -04:00
Rich Felker b12ded5078 add linux-5.8.5 headers support 2020-10-01 15:15:30 -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 87157fa4b4 add pattern for linux 5.x sources to makefile 2020-08-28 18:56:20 -04:00
Rich Felker 5171ee8724 update default musl version to 1.2.1 2020-08-04 12:05:32 -04:00
Rich Felker af5993a561 add hash for musl 1.2.1 2020-08-04 12:05:04 -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 b0820cc501 don't replace config.sub in gmp
gmp has its own wrapper version of this file and calls the real one
configfsf.sub. within the gcc build, replacing the wrong one is
harmless, but it breaks independent use of the patched gmp tree and
it's logically wrong.

patch by Laurent Bercot.
2020-06-27 01:35:13 -04:00
Rich Felker d6ded50dd7 add patch to disable arm vdso in musl 1.2.0
reportedly the vdso version of clock_gettime64 produces erratic
results on arm with linux 5.6, and earlier versions did not have the
vdso function at all. it's not clear what the eventual upstream
solution will be, but something needs to be done so as not to be
producing binaries that seem to work now but will break fantastically
when moving to newer kernels.
2020-04-26 14:05:29 -04:00
Peter Jin 5086175f29 allow sha1 hash checking command to be configured 2020-03-07 20:55:08 -05:00
Filippo Valsorda a54eb56f33 Use CURDIR instead of PWD
PWD is set by the shell, not make, and might not match.

For example, this broke the build through Homebrew, because
PWD stays at the directory where brew is ran.
2020-03-07 20:53:13 -05:00
Rich Felker aacd84ed2c update cowpatch from upstream to fix regression on bash
upstream commit 1db812b0ca94d07ede9891883484f2a76dae8e23
2020-02-24 21:57:15 -05:00
Rich Felker 75e6c618ad add musl 1.2.0 and make it default 2020-02-21 23:52:34 -05:00
Rich Felker a69bac0464 use new cowpatch -I command rather than open-coding same thing in Makefile 2020-02-17 15:10:44 -05:00
Rich Felker 6b7083fa6a update cowpatch.sh from upstream
upstream commit b3a885f71ce31dff0c60dab6f5b6cb5ded4c9fb4
2020-02-17 15:08:10 -05: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 d7f31bde7e pass --disable-assembly to gcc configure, for gmp
gmp does not build correctly with compilers that default to emitting
PIE/PIC, due to custom-preprocessed asm source files which have wrong
logic for determining if PIC-compatibility is needed. ideally this
would be patched in gmp, but I don't know how to do that, so for the
time being, just disable the asm.
2020-02-03 14:27:19 -05:00
Rich Felker 97b7d13f65 force cross compiler/cross compiling
now that config.guess knows how to detect musl, it's possible when
building on a musl-based system that $build will spuriously match
$target, preventing the desired behavior of building as a cross
compiler or as a cross-compiled native compiler.

run config.guess and config.sub from the litecross makefile to check
if $build is going to match $target, and if so, append junk to the
libc/abi part of the $build tuple so that it no longer matches.
2020-02-03 01:09:08 -05:00
Rich Felker 463cd3e669 pass --disable-bootstrap to gcc
this should be a nop since we're either building a cross compiler or
cross compiling, but due to recent gcc's config.guess detecting musl,
it's possible to spuriously get $build=$host=$target, and then the
dreaded bootstrap procedure runs and breaks the output.
2020-02-03 01:07:22 -05:00
Rich Felker 03b296f811 fix missing exec permissions on replaced config.sub 2020-02-02 23:35:52 -05:00
Rich Felker b3970874c3 add some more things you can turn off to config.mak.dist examples 2020-02-02 21:24:08 -05:00
Rich Felker a00f88f20e clarify that --enable-languages=c,c++ is default in config.mak.dist 2020-02-02 21:21:18 -05:00
Rich Felker 2954bf4b6d remove --disable-multilib from config.mak.dist example
this is now mandatory and always passed to configure
2020-02-02 21:19:25 -05:00