about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure15
-rw-r--r--configure.in8
3 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index cc17efe616..dbd376d369 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* configure.in (libc_cv_z_relro): Only set to yes if linker script
+	contains DATA_SEGMENT_RELRO_END.
+
 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/dl-load.c (_dl_map_object_from_fd): Add some error checking.
diff --git a/configure b/configure
index cf0b32f9b9..4e0ea1b765 100755
--- a/configure
+++ b/configure
@@ -5549,16 +5549,23 @@ echo $ECHO_N "checking for -z relro option... $ECHO_C" >&6
 if test "${libc_cv_z_relro+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-    if { ac_try='${CC-cc} -v --help 2>&1|grep "z relro" 1>&5'
+    libc_cv_z_relro=no
+  if { ac_try='${CC-cc} -v --help 2>&1|grep "z relro" 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
-    libc_cv_z_relro=yes
-  else
-    libc_cv_z_relro=no
+    if { ac_try='${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&5'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }
+    then
+      libc_cv_z_relro=yes
+    fi
   fi
 fi
 echo "$as_me:$LINENO: result: $libc_cv_z_relro" >&5
diff --git a/configure.in b/configure.in
index 235b6d222c..19b8ba504a 100644
--- a/configure.in
+++ b/configure.in
@@ -1325,11 +1325,13 @@ EOF
 
   AC_CACHE_CHECK(for -z relro option,
 		 libc_cv_z_relro, [dnl
+  libc_cv_z_relro=no
   if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
   then
-    libc_cv_z_relro=yes
-  else
-    libc_cv_z_relro=no
+    if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
+    then
+      libc_cv_z_relro=yes
+    fi
   fi])
   AC_SUBST(libc_cv_z_relro)
   if test $libc_cv_z_relro = yes; then