summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-05-21 23:26:27 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-05-21 23:26:27 +0000
commit59f0c22ed2b131cac16446d6bcc3d5da1d09e120 (patch)
treeca5b9d92e991b8a4743b59e089753d9e50084eb3 /configure
parentc5b3a2c05b407197fe56d229542eeeba1f710908 (diff)
Filter out unknown symbols in stack-protector test.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure7
1 files changed, 7 insertions, 0 deletions
diff --git a/configure b/configure
index f23c40f99d..09a06377d7 100755
--- a/configure
+++ b/configure
@@ -7696,6 +7696,13 @@ libc_undefs=`$NM -u conftest.o |
as_fn_error $? "confusing output from $NM -u" "$LINENO" 5
}
echo >&5 "libc_undefs='$libc_undefs'"
+# On some architectures, there are architecture-specific undefined
+# symbols (resolved by the linker), so filter out unknown symbols.
+# This will fail to produce the correct result if the compiler
+# defaults to -fstack-protector but this produces an undefined symbol
+# other than __stack_chk_fail. However, compilers like that have not
+# been encountered in practice.
+libc_undefs=`echo "$libc_undefs" | egrep '^(foobar|__stack_chk_fail)$'`
case "$libc_undefs" in
foobar) libc_cv_predef_stack_protector=no ;;
'__stack_chk_fail