Commit Graph

62 Commits

Author SHA1 Message Date
Rich Felker 49f489e5c6 remove support for non-latest versions in gcc 6 and 7 series 2020-01-21 19:39:04 -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
Andrew Chambers a9a3b3aee2 Remove absolute references to pwd in linux headers.
Some distributions don't have pwd at this path.
2019-11-10 20:26:27 -05:00
Rich Felker 90ecfe079b renumber latest gcc 8.3.0 patch so as not to duplicate numbering 2019-11-10 20:19:00 -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
Rich Felker 02be46d639 add patches fixing ld bug linking arm tlsdesc relocs on 64-bit host
this is binutils issue #25062. without it, cross-ld crashes linking
arm programs using tlsdesc if the host is 64-bit.
2019-10-06 23:36:25 -04:00
Rich Felker 684cb17061 update arm static pie TLS relocs patch to upstream version, backport
commit c9ac08753a omitted a few changes,
resulting in spurious NONE-type relocs and possibly other problems.
update patches to match upstream fix.
2019-10-06 20:47:22 -04:00
Rich Felker c9ac08753a add binutils patch to fix broken arm LD/GD TLS relocs in static PIE
this is the same issue fixed for mips in 0004-mips-pie-tls.diff for
2.27, upstream in 2.32.
2019-10-02 10:44:20 -04:00
Rich Felker 5fd2126e13 add patches fixing broken libgcc multi-thread detection via weak refs
tested to apply successfully to all supported gcc versions except
possibly 4.2.1, for which it is not added yet.
2019-09-24 19:19:23 -04:00
Rich Felker 629189831f add binutils 2.32 hash and patches 2019-05-26 15:23:16 -04:00
Rich Felker 1878d65cbe add gcc 8.3.0 hash and patches 2019-05-26 15:22:55 -04:00
rofl0r fa132e0104 binutils 2.27: add patch so reproducible builds work even on mips 2019-04-11 18:57:51 -04:00
rofl0r 7ea487218f add support for GCC 6.5.0
new patch: 0017-c++-abi-break.diff fixes a C++ ABI break regression.
0010-static-pie-support.diff was removed as it doesn't apply anymore,
and forward-porting it requires arcane knowledge of GCC details.

the patches 0018 and 0019 have been copied from GCC 7.3.0. the static
pie patch from GCC 6.4.0, renumbered 0020, depends on the reversions
they make.
2019-02-12 19:40:33 -05:00
rofl0r edc9d8e2f0 fix file extension of 2 patches
closes #54
2018-11-02 23:34:29 -04:00
rofl0r 474a7e06c0 GCC 5.3.0: fix filenames in 0008-shsibcall.diff
as reported in #15, some patch programs choke on the comments after
the filename...
2018-10-31 19:11:37 +00:00
Rich Felker e3e354f63a add patches to fix invalid tls-model usage in gcc target libs
the initial-exec tls model is not valid in any code that might be
dynamically loaded. it usually happens to work on glibc because glibc
reserves some static tls space for late-loaded libraries that need it,
but if it's already been exhausted that will fail. musl does not
support this hack at all, and it's not valid for gcc target libs to be
doing it anywhere, so patch it out entirely rather than just for musl.
2018-09-25 13:52:59 -04:00
Rich Felker b0d7c70efe move support for non-latest versions in gcc 5 and 6 series
this is to prevent unbounded growth of patch sets to be maintained
and backported to.
2018-09-25 13:50:37 -04:00
Szabolcs Nagy c8a05936f0 add gcc-7.3.0 patches 2018-07-11 16:12:22 -04:00
Rich Felker 58da30d441 add m68k support patches for all currently supported gcc versions
these are not complete/correct in that they do not account for ABI
variants (softfloat and coldfire fpu) in the dynamic linker name, but
I was unable to get gcc's configure to accept --with-float=soft on
m68k to test softfloat and begin figuring out how to do the spec
logic. at some point this needs to be figured out and completed, but
at least the default ABI is available in mcm now.
2018-06-21 15:30:04 -04:00
rofl0r ab0c081d13 add support for GCC 6.4.0
GCC 6.4.0 has one big advantage over 6.3.0: it is shipped as .tar.xz,
shaving 30 MB from its download size, and also considerably speeding
up the extraction process.

All patches are copies of the GCC 6.3.0 ones, except
0004-posix_memalign.diff which was rebased to apply cleanly.
0014-ubsan-empty-string-fix.diff was removed, since it was upstreamed.
2018-05-07 22:21:02 -04:00
Rich Felker 030b83f3a8 add binutils patches fixing mips tls reloc output when linking pie
the linker was wrongly leaving dynamic relocations for GD-model TLS
defined in the main program when linking the main program as PIE. this
was only suboptimal for dynamic pie, but for static pie it resulted in
runtime failure since there is no dynamic linker to resolve the DTPMOD
reference.

this has been reported as binutils bug #22570.
2018-01-31 12:26:40 -05:00
Patrick Oppenlander 9c4ba81399 add support for gcc 7.2.0 2017-10-19 19:48:01 -04:00
Rich Felker 48d9c59d22 fix compiling gcc 6.3.0 with strict c++ compilers
this patch is a backport of gcc revision 239971 to gcc 6.3.0.

submitted by osvein as PR#35.
2017-10-19 19:30:05 -04:00
Rich Felker 458feff9b0 add patch fixing static linking bug with gotoff relocs on microblaze 2017-01-02 15:52:21 -05:00
Rich Felker 7db01153a2 add patch fixing broken microblaze gcc on 32-bit hosts
bogus use PRIx64 with unsigned long (assumption of 64-bit host) in
gcc. older gcc versions are also affected, I think, but not yet fixed.
2017-01-02 15:15:42 -05:00
Szabolcs Nagy f8b26b0ae8 add gcc-6.3.0 patches 2017-01-02 13:16:04 +00:00
Rich Felker f00b09f654 add patch for s390x musl ldso name to gcc 6.2.0 patchset 2016-11-11 23:42:54 -05:00
Rich Felker a4c1265daa remove broken gcc 6.2.0 powerpc patch
this patch breaks powerpc64 builds and is not necessary to produce a
working 32-bit powerpc toolchain. it seems like it may be useful for
reducing libgcc-internal bloat, but it can be reintroduced later after
it's fixed, if desired.
2016-11-08 17:50:40 -05:00
Rich Felker 005f8e4a3f add binutils 2.27 patch fixing pr17739 on sh
upstream fix was slightly too late to make it into the release. patch
was not included in mcm for previous binutils versions because it
depends on new upstream infrastructure. now gc-sections should be safe
to use on sh.
2016-11-07 16:17:35 -05:00
Szabolcs Nagy d08c2e8e02 fix gcc-5.* build with a recent gcc
https://gcc.gnu.org/ml/gcc-patches/2016-01/msg00044.html
2016-11-07 12:50:37 -05:00
Szabolcs Nagy c54b2f283d add gcc-6.2.0 patches 2016-11-06 22:34:44 -05:00
Rich Felker ceb91e7d4e add binutils-2.27 patches
only trivial updates needed to the J2 patch; others were merged
upstream already.
2016-11-06 22:34:19 -05:00
Filippo Valsorda 8467bf3a6f Patch elf.h circular dependency out of linux-4.4.10
This enables building on platforms without a native elf.h, like OS X

Fixes #8
2016-05-30 04:44:24 +02:00
Filippo Valsorda d6fe0339ee Fix ub in binutils causing failure to build for arm with clang
https://sourceware.org/bugzilla/show_bug.cgi?id=19222

Fixed by applying binutils@d840c08.
2016-05-30 04:44:24 +02:00
Patrick Oppenlander e84b1bd1fc add support for gcc 5.3.0 and use by default 2016-05-17 02:15:34 +00:00
Rich Felker 2f1e820bed fix failure of mips libgcc_eh patch to apply
commit 0a16a12799 introduced this patch
with missing leading path component.
2016-04-19 01:48:39 +00:00
Rich Felker 0a16a12799 add patch fixing mips libgcc_eh build not to depend on kernel headers 2016-04-11 02:42:07 +00:00
Rich Felker 43bdd7fc19 fix binutils patching regression that stopped the build
commit 23d6f66966 introduced this
regression as a failure to backport part of the gas testsuite diff
from binutils master to 2.25.1 where the file being patched had a
trivial difference. I'm not sure how this went unnoticed at the time
it was committed.
2016-03-02 00:47:54 +00:00
Rich Felker 23d6f66966 update j2 support patches to Yoshinori Sato's versions
with some minor fixes. unlike my minimal patches, Sato-san's properly
add the isa level logic to binutils and add cas.l atomic intrinsics to
gcc.
2016-02-12 05:57:31 +00:00
Rich Felker 69cadffdec add patch fixing sh sibcall bug that affected musl, remove workaround 2016-02-12 05:35:23 +00:00
Rich Felker cf013ce0c0 add patch to fix ld bug breaking musl on microblaze 2016-02-11 23:53:39 +00:00
Rich Felker f592ffb96b fix j2 cas.l instruction encoding in patch 2016-01-15 01:13:15 +00:00
Rich Felker 8878510198 fix bad codegen in sh/fdpic when stack protector is enabled 2015-11-16 02:12:46 +00:00
Rich Felker 35bbd0c571 align sh/fdpic patch with what went upstream to gcc 2015-11-16 02:09:36 +00:00
Rich Felker 3fb6709806 add support for last GPLv2 binutils version (git snapshot)
patch set consists of:

0001 static pie support (--no-dynamic-linker)
0006 avoid erroring out the build when docs can't be built
0007 add sh symbol@PCREL support to gas

example configuration is added to config.mak.dist too.
2015-11-06 06:44:16 +00:00
Rich Felker 06a1f34243 add support for gcc 4.2.1 (last gplv2 version)
patch set consists of:

0001 full musl libc target support
0002 fixes for wrong optimizations of weak defs/aliases
0003 various sh breakage in configure scripts
0005 static pie support
0006 --enable-default-pie support
0008 fix for cross compiling bug in build system
0009 fix for wrong default div strategy for sh2 (missing libgcc code)
0010 fix failure to build on modern host gcc due to gnu-inline
0011 fix sh & alpha bootstrap failures before libc is built
0012 fix broken local-exec TLS with -fPIE on sh
2015-11-06 06:23:54 +00:00
Rich Felker d48d611f99 fix docs error introduced in binutils static pie patch
this broke the build. apparently the original patch I sent upstream
had this error and it was fixed when committing without me noticing.
2015-11-06 00:40:50 +00:00
Rich Felker eeaae9e133 update gcc defaultpie patch to be switchable at configure time
the sample config.mak.dist is also updated to show usage.
2015-11-05 23:37:39 +00:00
Rich Felker 527fca9755 update binutils static pie patch to support all targets
the new patch is identical to the one committed upstream, except that
the binutils 2.25.1 used info->executable instead of
bfd_link_executable(info), and support for nds32 and score targets is
removed since 2.25.1 did not have the relevant code for them.
2015-11-05 23:33:19 +00:00