From 5c7bd853c8703f65904083778712ef625c3f3814 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 27 Mar 2016 20:31:50 -0700 Subject: [PATCH 56/57] Enable libc provide ssp and gcc_cv_target_dl_iterate_phdr for musl * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. * configure: Regenerate. Signed-off-by: Khem Raj --- Upstream-Status: Backport gcc/configure | 7 +++++++ gcc/configure.ac | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/configure b/gcc/configure index fcb05e7..81a449c 100755 --- a/gcc/configure +++ b/gcc/configure @@ -27814,6 +27814,9 @@ if test "${gcc_cv_libc_provides_ssp+set}" = set; then : 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. @@ -27846,6 +27849,7 @@ fi # ) 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" @@ -27942,6 +27946,9 @@ case "$target" in 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 --git a/gcc/configure.ac b/gcc/configure.ac index 923bc9a..b08e3dc 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -5291,6 +5291,9 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library, 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. @@ -5317,6 +5320,7 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library, # ) 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], @@ -5390,6 +5394,9 @@ case "$target" in 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 -- 2.7.4