bfd/
authorDavid S. Miller <davem@redhat.com>
Wed, 16 Apr 2008 08:51:18 +0000 (08:51 +0000)
committerDavid S. Miller <davem@redhat.com>
Wed, 16 Apr 2008 08:51:18 +0000 (08:51 +0000)
commit739f7f82beda72a2702c814d5a8af90a91b1c30d
tree223b463a3e96dd2b75666140540c090a9ecd5b64
parent14a6d8e0dfbb4359a08c77c46e335dbce4c36cfc
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.
24 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/elfxx-sparc.c
bfd/libbfd.h
bfd/reloc.c
gas/ChangeLog
gas/config/tc-sparc.c
gas/testsuite/gas/sparc/gotop32.d [new file with mode: 0644]
gas/testsuite/gas/sparc/gotop32.s [new file with mode: 0644]
gas/testsuite/gas/sparc/gotop64.d [new file with mode: 0644]
gas/testsuite/gas/sparc/gotop64.s [new file with mode: 0644]
gas/testsuite/gas/sparc/sparc.exp
ld/testsuite/ChangeLog
ld/testsuite/ld-sparc/gotop32.dd [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop32.rd [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop32.s [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop32.sd [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop32.td [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop64.dd [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop64.rd [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop64.s [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop64.sd [new file with mode: 0644]
ld/testsuite/ld-sparc/gotop64.td [new file with mode: 0644]
ld/testsuite/ld-sparc/sparc.exp