aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-04-04 00:21:12 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-04-04 00:21:12 +0200
commitcf7b8b0dc4258c4530a283000eea788c211029f9 (patch)
tree091328bb6081469a81cc1ad025cef01558e76c9e /gcc/configure
parent9d7013b8ac6b072089612f9bb48461b1cd3df259 (diff)
downloadgcc-cf7b8b0dc4258c4530a283000eea788c211029f9.zip
gcc-cf7b8b0dc4258c4530a283000eea788c211029f9.tar.gz
gcc-cf7b8b0dc4258c4530a283000eea788c211029f9.tar.bz2
configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32() works properly with .hidden symbols.
* configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32() works properly with .hidden symbols. * configure: Rebuilt. * config.in: Rebuilt. * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work properly with .hidden symbols. From-SVN: r51816
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure47
1 files changed, 43 insertions, 4 deletions
diff --git a/gcc/configure b/gcc/configure
index 9220430..1270996 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -7462,10 +7462,9 @@ else
if test x$gcc_cv_as != x -a x$gcc_cv_ld != x; then
gcc_cv_as_sparc_ua_pcrel=no
echo ".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo)" > conftest.s
- if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1; then
- if $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then
- gcc_cv_as_sparc_ua_pcrel=yes
- fi
+ if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1 \
+ && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then
+ gcc_cv_as_sparc_ua_pcrel=yes
fi
rm -f conftest.s conftest.o conftest
fi
@@ -7480,6 +7479,46 @@ EOF
fi
+ echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6
+echo "configure:7430: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5
+if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ if test "x$gcc_cv_as_sparc_ua_pcrel" = xyes; then
+ gcc_cv_as_sparc_ua_pcrel_hidden=unknown
+ if test x$gcc_cv_objdump != x; then
+ gcc_cv_as_sparc_ua_pcrel_hidden=no
+ echo ".data; .align 4; .byte 0x31; .uaword %r_disp32(foo)" > conftest.s
+ echo ".byte 0x32, 0x33, 0x34; .global foo; .hidden foo" >> conftest.s
+ echo "foo: .skip 4" >> conftest.s
+ if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1 \
+ && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1 \
+ && $gcc_cv_objdump -s -j .data conftest 2> /dev/null \
+ | grep ' 31000000 07323334' > /dev/null 2>&1; then
+ if $gcc_cv_objdump -R conftest 2> /dev/null \
+ | grep 'DISP32' > /dev/null 2>&1; then
+ :
+ else
+ gcc_cv_as_sparc_ua_pcrel_hidden=yes
+ fi
+ fi
+ fi
+ rm -f conftest.s conftest.o conftest
+ else
+ gcc_cv_as_sparc_ua_pcrel_hidden="$gcc_cv_as_sparc_ua_pcrel"
+ fi
+
+fi
+
+echo "$ac_t""$gcc_cv_as_sparc_ua_pcrel_hidden" 1>&6
+ if test "x$gcc_cv_as_sparc_ua_pcrel_hidden" = xyes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_AS_SPARC_UA_PCREL_HIDDEN 1
+EOF
+
+ fi
+
case "$tm_file" in
*64*)
echo $ac_n "checking for 64 bit support in assembler ($gcc_cv_as)""... $ac_c" 1>&6