diff options
Diffstat (limited to 'sysdeps/alpha/elf/configure')
-rwxr-xr-x | sysdeps/alpha/elf/configure | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sysdeps/alpha/elf/configure b/sysdeps/alpha/elf/configure index 3346b8e48d..ab3c0932aa 100755 --- a/sysdeps/alpha/elf/configure +++ b/sysdeps/alpha/elf/configure @@ -58,3 +58,38 @@ EOF fi fi + +echo $ac_n "checking for GP relative module local relocs""... $ac_c" 1>&6 +echo "configure:20: checking for GP relative module local relocs" >&5 +if eval "test \"`echo '$''{'libc_cv_alpha_hidden_gprel'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <<\EOF +static int bar; +int baz __attribute__((visibility("hidden"))); + +int foo (void) +{ + return bar + baz; +} +EOF + +libc_cv_alpha_hidden_gprel=no +if { ac_try='${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&5'; { (eval echo configure:35: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if grep -q 'bar.*!gprel' conftest.s \ + && grep -q 'baz.*!gprel' conftest.s \ + && ! grep -q 'bar.*!literal' conftest.s \ + && ! grep -q 'baz.*!literal' conftest.s; then + libc_cv_alpha_hidden_gprel=yes + fi +fi +rm -f conftest* +fi + +echo "$ac_t""$libc_cv_alpha_hidden_gprel" 1>&6 +if test $libc_cv_alpha_hidden_gprel = yes; then + cat >> confdefs.h <<\EOF +#define PI_STATIC_AND_HIDDEN 1 +EOF + +fi |