Do a link test instead of just a grep. The linker can support multiple targets, but not all targets can use it.
Cygwin/MinGW ld can support ELF but the PE format for Windows itself does not support such a feature. Attached patch OK? I'm not confident with regenerating configure due to some unrelated changes added, can someone else help with that?
From: Jonathan Yong <10wa...@gmail.com> Date: Sun, 22 Mar 2020 01:59:37 +0000 (+0800) Subject: libstdc++: use a link test to test for -Wl,-z,relro X-Git-Url: https://repo.or.cz/gcc/cygwin-gcc.git/commitdiff_plain/1b20e03e7468760828bfc70fc5e811b5b3738adf libstdc++: use a link test to test for -Wl,-z,relro Do a link test instead of just a grep. The linker can support multiple targets, but not all targets can use it. Signed-off-by: Jonathan Yong <10wa...@gmail.com> --- diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index bc7d137dc74..209aa3a91f3 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -274,7 +274,16 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ ac_ld_relro=no if test x"$with_gnu_ld" = x"yes"; then AC_MSG_CHECKING([for ld that supports -Wl,-z,relro]) - cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"` + ac_save_ldflags="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,-z,relro" + AC_LINK_IFELSE([ + AC_LANG_SOURCE( + [[int main() { return 0; }]] + )], + [cxx_z_relo="1"], + [cxx_z_relo=""]) + LDFLAGS="$ac_save_ldflags" + if test -n "$cxx_z_relo"; then OPT_LDFLAGS="-Wl,-z,relro" ac_ld_relro=yes
signature.asc
Description: OpenPGP digital signature