diff options
author | David S. Miller <davem@davemloft.net> | 2012-04-12 16:26:04 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-12 16:26:04 +0000 |
commit | 416b2d8719a91411f65e5d85cef9a74ea4045e79 (patch) | |
tree | d931991de5c7f406cde3f8c8a0ef0d7324a1a87e /include/elf/sparc.h | |
parent | 0c910152434bccd27024b38cbff996265e89891f (diff) | |
download | cygnal-416b2d8719a91411f65e5d85cef9a74ea4045e79.tar.gz cygnal-416b2d8719a91411f65e5d85cef9a74ea4045e79.tar.bz2 cygnal-416b2d8719a91411f65e5d85cef9a74ea4045e79.zip |
Support R_SPARC_WDISP10 and R_SPARC_H34.
include/
* elf/sparc.h (R_SPARC_WDISP10): New reloc.
* opcode/sparc.h: Define '=' as generating R_SPARC_WDISP10.
opcodes/
* sparc-dis.c (X_DISP10): Define.
(print_insn_sparc): Handle '='.
bfd/
* reloc.c (BFD_RELOC_SPARC_H34, BFD_RELOC_SPARC_SIZE32,
BFD_RELOC_SPARC_SIZE64, BFD_RELOC_SPARC_WDISP10): New relocs.
* libbfd.h: Regenerate.
* bfd-in2.h: Likewise.
* elfxx-sparc.c (sparc_elf_wdisp10_reloc): New function.
(_bfd_sparc_elf_howto_table): Add entries for R_SPARC_H34,
R_SPARC_SIZE32, R_SPARC_64, and R_SPARC_WDISP10.
(_bfd_sparc_elf_reloc_type_lookup): Handle new relocs.
(_bfd_sparc_elf_check_relocs): Likewise.
(_bfd_sparc_elf_gc_sweep_hook): Likewise.
(_bfd_sparc_elf_relocate_section): Likewise.
gas/
* config/tc-sparc.c (sparc_ip): Handle '=', "%h34", "%l34", and
BFD_RELOC_SPARC_H34.
(md_apply_fix): Handle BFD_RELOC_SPARC_WDISP10 and BFD_RELOC_SPARC_H34.
(tc_gen_reloc): Likewise.
gas/testsuite/
* gas/sparc/reloc64.s: Add abs34 code model tests.
* gas/sparc/reloc64.d: Update.
elfcpp/
* sparc.h (R_SPARC_WDISP10): New relocation.
gold/
* sparc.cc (Reloc::wdisp10): New relocation method.
(Reloc::h34): Likewise.
(Target_sparc::Scan::check_non_pic): Handle R_SPARC_H34.
(Target_sparc::Scan::get_reference_flags): Handle R_SPARC_H34 and
R_SPARC_WDISP10.
(Target_sparc::Scan::local): Likewise.
(Target_sparc::Scan::global): Likewise.
(Target_sparc::Relocate::relocate): Likewise.
Diffstat (limited to 'include/elf/sparc.h')
-rw-r--r-- | include/elf/sparc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/elf/sparc.h b/include/elf/sparc.h index fc8a765a6..880ead652 100644 --- a/include/elf/sparc.h +++ b/include/elf/sparc.h @@ -162,6 +162,7 @@ START_RELOC_NUMBERS (elf_sparc_reloc_type) RELOC_NUMBER (R_SPARC_H34, 85) RELOC_NUMBER (R_SPARC_SIZE32, 86) RELOC_NUMBER (R_SPARC_SIZE64, 87) + RELOC_NUMBER (R_SPARC_WDISP10, 88) EMPTY_RELOC (R_SPARC_max_std) |