diff options
author | David S. Miller <davem@redhat.com> | 2008-04-16 08:51:18 +0000 |
---|---|---|
committer | David S. Miller <davem@redhat.com> | 2008-04-16 08:51:18 +0000 |
commit | 739f7f82beda72a2702c814d5a8af90a91b1c30d (patch) | |
tree | 223b463a3e96dd2b75666140540c090a9ecd5b64 /ld/testsuite/ld-sparc/sparc.exp | |
parent | 14a6d8e0dfbb4359a08c77c46e335dbce4c36cfc (diff) | |
download | gdb-739f7f82beda72a2702c814d5a8af90a91b1c30d.zip gdb-739f7f82beda72a2702c814d5a8af90a91b1c30d.tar.gz gdb-739f7f82beda72a2702c814d5a8af90a91b1c30d.tar.bz2 |
bfd/
* reloc.c (BFD_RELOC_SPARC_GOTDATA_HIX22,
BFD_RELOC_SPARC_GOTDATA_LOX10, BFD_RELOC_SPARC_GOTDATA_OP_HIX22,
BFD_RELOC_SPARC_GOTDATA_OP_LOX10, BFD_RELOC_SPARC_GOTDATA_OP): New.
* libbfd.h: Regnerate.
* bfd-in2.h: Regenerate.
* elfxx-sparc.c (_bfd_sparc_elf_howto_table): Add entries for
GOTDATA relocations.
(sparc_reloc_map): Likewise.
(_bfd_sparc_elf_check_relocs): Handle R_SPARC_GOTDATA_* like
R_SPARC_GOT*.
(_bfd_sparc_elf_gc_sweep_hook): Likewise.
(_bfd_sparc_elf_relocate_section): Transform R_SPARC_GOTDATA_HIX22,
R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22, and
R_SPARC_GOTDATA_OP_LOX10 into the equivalent R_SPARC_GOT* reloc.
Simply ignore R_SPARC_GOTDATA_OP relocations.
gas/
* config/tc-sparc.c (sparc_ip): Add support for gotdata mnemonics
and relocation generation.
(tc_gen_reloc): Likewise.
gas/testsuite/
* gas/sparc/gotops32.d: New.
* gas/sparc/gotops32.s: Likewise.
* gas/sparc/gotops64.d: Likewise.
* gas/sparc/gotops64.s: Likewise.
* gas/sparc/sparc.exp: Run new gotdata tests.
ld/testsuite/
* ld-sparc/gotop32.dd: New.
* ld-sparc/gotop32.rd: Likewise.
* ld-sparc/gotop32.s: Likewise.
* ld-sparc/gotop32.sd: Likewise.
* ld-sparc/gotop32.td: Likewise.
* ld-sparc/gotop64.dd: Likewise.
* ld-sparc/gotop64.rd: Likewise.
* ld-sparc/gotop64.s: Likewise.
* ld-sparc/gotop64.sd: Likewise.
* ld-sparc/gotop64.td: Likewise.
* ld-sparc/sparc.exp: Run new gotdata tests.
Diffstat (limited to 'ld/testsuite/ld-sparc/sparc.exp')
-rw-r--r-- | ld/testsuite/ld-sparc/sparc.exp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ld/testsuite/ld-sparc/sparc.exp b/ld/testsuite/ld-sparc/sparc.exp index d54c311..e41dfe5 100644 --- a/ld/testsuite/ld-sparc/sparc.exp +++ b/ld/testsuite/ld-sparc/sparc.exp @@ -89,6 +89,11 @@ set sparctests { {"32-bit: TLS in debug sections" "-melf32_sparc" "--32" {tlsg32.s} {{objdump -sj.debug_foobar tlsg32.sd}} "tlsg32"} + {"32-bit: GOTDATA relocations" "-shared -melf32_sparc" + "--32 -K PIC" {gotop32.s} + {{readelf -WSsrl gotop32.rd} {objdump -drj.text gotop32.dd} + {objdump -sj.got gotop32.sd} {objdump -sj.data gotop32.td}} + "libgotop32.so"} } set sparc64tests { {"64-bit: TLS -fpic -shared transitions" "-shared -melf64_sparc" @@ -113,6 +118,11 @@ set sparc64tests { {"64-bit: TLS in debug sections" "-melf64_sparc" "--64 -Av9" {tlsg64.s} {{objdump -sj.debug_foobar tlsg64.sd}} "tlsg64"} + {"64-bit: GOTDATA relocations" "-shared -melf64_sparc" + "--64 -K PIC" {gotop64.s} + {{readelf -WSsrl gotop64.rd} {objdump -drj.text gotop64.dd} + {objdump -sj.got gotop64.sd} {objdump -sj.data gotop64.td}} + "libgotop64.so"} } if { ![istarget "sparc64-*-elf*"] } { |