musl-cross-make/patches/gcc-4.9.3/gcc-autoconf-musl.diff
rofl0r df82dd95d8 add patches for gcc 4.9.3
at least mips support is broken, but microblazed and possibly other
archs work.

while building mips the following error was encountered:
Mode = sf\|df
Suffix = si\|2\|3
/tmp/musl-cross-make/gcc-4.9.3/build0/./gcc/xgcc -B/tmp/musl-cross-make/gcc-4.9.3/build0/./gcc/ -B/tmp/musl-cross-make/output/mips-linux-musl/bin/ -B/tmp/musl-cross-make/output/mips-linux-musl/lib/ -isystem /tmp/musl-cross-make/output/mips-linux-musl/include -isystem /tmp/musl-cross-make/output/mips-linux-musl/sys-include    -g -O2 -O0 -g0 -minterlink-mips16 -O2  -g -O2 -O0 -g0 -minterlink-mips16 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc  -fPIC -I. -I. -I../.././gcc -I../../../libgcc -I../../../libgcc/. -I../../../libgcc/../gcc -I../../../libgcc/../include  -DHAVE_CC_TLS  -o subsf3.o -MT subsf3.o -MD -MP -MF subsf3.dep subsf3 -c ../../../libgcc/config/hardfp.c -fvisibility=hidden -DHIDE_EXPORTS -Wno-missing-prototypes
xgcc: error: subsf3: No such file or directory
make[3]: *** [subsf3.o] Error 1

this seems like a bug in a shell command that's invoked during the build,
possibly a sed command using GNU-only syntax.
2015-11-02 15:36:27 +00:00

63 lines
2.3 KiB
Diff

diff -r 3baeaed6c155 gcc/configure
--- a/gcc/configure Sun Jul 26 15:32:15 2015 -0400
+++ b/gcc/configure Sun Jul 26 15:32:17 2015 -0400
@@ -27449,6 +27449,9 @@
else
gcc_cv_libc_provides_ssp=no
case "$target" in
+ *-*-musl*)
+ # All versions of musl provide stack protector
+ gcc_cv_libc_provides_ssp=yes;;
*-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
# glibc 2.4 and later provides __stack_chk_fail and
# either __stack_chk_guard, or TLS access to stack guard canary.
@@ -27481,6 +27484,7 @@
# <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
# simply assert that glibc does provide this, which is true for all
# realistically usable GNU/Hurd configurations.
+ # All supported versions of musl provide it as well
gcc_cv_libc_provides_ssp=yes;;
*-*-darwin* | *-*-freebsd*)
ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
@@ -27570,6 +27574,9 @@
gcc_cv_target_dl_iterate_phdr=no
fi
;;
+ *-linux-musl*)
+ gcc_cv_target_dl_iterate_phdr=yes
+ ;;
esac
if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
diff -r 3baeaed6c155 gcc/configure.ac
--- a/gcc/configure.ac Sun Jul 26 15:32:15 2015 -0400
+++ b/gcc/configure.ac Sun Jul 26 15:32:17 2015 -0400
@@ -5076,6 +5076,9 @@
gcc_cv_libc_provides_ssp,
[gcc_cv_libc_provides_ssp=no
case "$target" in
+ *-*-musl*)
+ # All versions of musl provide stack protector
+ gcc_cv_libc_provides_ssp=yes;;
*-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
# glibc 2.4 and later provides __stack_chk_fail and
# either __stack_chk_guard, or TLS access to stack guard canary.
@@ -5102,6 +5105,7 @@
# <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
# simply assert that glibc does provide this, which is true for all
# realistically usable GNU/Hurd configurations.
+ # All supported versions of musl provide it as well
gcc_cv_libc_provides_ssp=yes;;
*-*-darwin* | *-*-freebsd*)
AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
@@ -5168,6 +5172,9 @@
gcc_cv_target_dl_iterate_phdr=no
fi
;;
+ *-linux-musl*)
+ gcc_cv_target_dl_iterate_phdr=yes
+ ;;
esac
GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
if test x$gcc_cv_target_dl_iterate_phdr = xyes; then