this was only done to fix some missing tuple matches (probably only
sh2eb) on very old gcc and binutils versions. instead of dropping an
arbitrary version of config.sub into every autoconf'd tree, add
patches for the only affected gcc and binutils versions that are
supported.
on some targets, the logic for the compiler option -static seems not
to be processed when -pie is present. rather than playing
whack-a-mole, just ensure LD_PIE_SPEC specs always pass -static to ld
if either -static or -static-pie is present on the compiler driver
command line.
this may produce redundant -static arguments but it doesn't matter.
these should probably be backported to older binutils too, but they
don't apply as-is since the code has been refactored. I don't consider
this a high priority; use of old binutils should probably be treated
as deprecated at some point.
This adds the patches from the previously tested gcc version 14.3.0
and they have been tested to successfully apply to 15.1.0 with no
issues.
The corresponding hash has been added.
This adds the patches from the previously tested gcc version 14.2.0
and they have been tested to successfully apply to 14.3.0 with no
issues. The libquadmath patch for GCC issue 116007 is not copied over
because it has already been applied upstream.
The corresponding hash has been added.
newer gccs default to -std=c++17 which no longer allows
operator++ to be used on 'bool's.
this patch changes the type to unsigned char, just like
newer gcc versions have it.
fixes github issue #194 - failure of cowpatch causes 0001-musl.diff
to be applied to a shadow copy of the tree, instead of where gcc
looks for the files.
fix analoguous to 91bdb320f1a17abe61d8105b0599dff6ec340452
closes github issue #189 (gcc 11.4.0 fails to build)
and #190 with a backported fix that's now integrated.
fixes build with a host gcc14's more restrictive default
settings.
building any of i?86, x86_64, and x32 targets on a *musl* host with a
recent gcc host version (in my testing gcc 11), fails due to attempt
to convert a pointer type (nullptr_t) implicitly to bool.
the issue affects the 3 supported gcc versions 5.3.0, 6.5.0 and 7.5.0.
this adds support for riscv and fixes a bug in swab.h, allowing
to build newer kernels - the objtool component is built using
host kernel headers, not the ones available in-tree.
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.
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.
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.
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.
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.