about summary refs log tree commit diff
path: root/configure.in
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-11-21 07:50:58 -0800
committerH.J. Lu <hjl.tools@gmail.com>2012-11-21 12:36:21 -0800
commit0fc844f8a771cddcad68c9e58b59e065db032cd3 (patch)
tree00f5c7f06f33f00fca83c0aeeff00be4951ed664 /configure.in
parent163abe1837d2ff89be00b8a675e45d478f509df6 (diff)
downloadglibc-0fc844f8a771cddcad68c9e58b59e065db032cd3.tar.gz
glibc-0fc844f8a771cddcad68c9e58b59e065db032cd3.tar.xz
glibc-0fc844f8a771cddcad68c9e58b59e065db032cd3.zip
Check if -z global works
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in17
1 files changed, 17 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index a7f7198818..2ec07b1e43 100644
--- a/configure.in
+++ b/configure.in
@@ -1561,6 +1561,23 @@ LIBC_LINKER_FEATURE([-z execstack], [-Wl,-z,execstack],
 		    [libc_cv_z_execstack=yes], [libc_cv_z_execstack=no])
 AC_SUBST(libc_cv_z_execstack)
 
+AC_CACHE_CHECK(for -z global,
+	       libc_cv_z_global, [dnl
+cat > conftest.c <<EOF
+int _start (void) { return 42; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+			    -fPIC -shared -o conftest.so conftest.c
+			    -Wl,-z,global -nostdlib
+			    1>&AS_MESSAGE_LOG_FD])
+then
+  libc_cv_z_global=yes
+else
+  libc_cv_z_global=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_z_global)
+
 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
 LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpie=yes], [libc_cv_fpie=no])
 ])