about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc64/configure
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc64/configure')
-rw-r--r--sysdeps/sparc/sparc64/configure33
1 files changed, 33 insertions, 0 deletions
diff --git a/sysdeps/sparc/sparc64/configure b/sysdeps/sparc/sparc64/configure
new file mode 100644
index 0000000000..954ff7a03d
--- /dev/null
+++ b/sysdeps/sparc/sparc64/configure
@@ -0,0 +1,33 @@
+ # Local configure fragment for sysdeps/sparc/sparc64.
+
+# Check whether .got section comes before or after .dynamic
+echo $ac_n "checking where sparc64 .dynamic section comes before .got""... $ac_c" 1>&6
+echo "configure:6: checking where sparc64 .dynamic section comes before .got" >&5
+if eval "test \"`echo '$''{'libc_cv_sparc64_dynamic_before_got'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+${CC-cc} $CFLAGS -shared -Wl,--verbose 2>&1 \
+  | grep '^[ 	]*\.\(got\|dynamic\)[^A-Za-z0-9_]' > conftest.order
+
+if test `cat conftest.order | wc -l` != 2; then
+  { echo "configure: error: Couldn't figure .got/.dynamic relative placement" 1>&2; exit 1; }
+else
+  
+  if head -n 1 conftest.order | grep '^[ 	]*\.got'; then
+    libc_cv_sparc64_dynamic_before_got=no
+  else
+    libc_cv_sparc64_dynamic_before_got=yes
+  fi
+  
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$libc_cv_sparc64_dynamic_before_got" 1>&6
+if test $libc_cv_sparc64_dynamic_before_got = yes; then
+  cat >> confdefs.h <<\EOF
+#define SPARC64_DYNAMIC_BEFORE_GOT 1
+EOF
+
+fi