diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-04-04 00:21:12 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-04-04 00:21:12 +0200 |
commit | cf7b8b0dc4258c4530a283000eea788c211029f9 (patch) | |
tree | 091328bb6081469a81cc1ad025cef01558e76c9e /gcc/configure | |
parent | 9d7013b8ac6b072089612f9bb48461b1cd3df259 (diff) | |
download | gcc-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-x | gcc/configure | 47 |
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 |