diff options
author | Renlin Li <renlin.li@arm.com> | 2015-10-02 17:29:33 +0100 |
---|---|---|
committer | Renlin Li <renlin.li@arm.com> | 2015-10-02 17:56:09 +0100 |
commit | 43a357f99fc8c6535d064c5bce4b2865aa33bdd2 (patch) | |
tree | 0b70d2944abcf75ac212b9328739bc5c701d7cf6 /bfd | |
parent | ac734732481451698ee23990aaa64907e56dd082 (diff) | |
download | gdb-43a357f99fc8c6535d064c5bce4b2865aa33bdd2.zip gdb-43a357f99fc8c6535d064c5bce4b2865aa33bdd2.tar.gz gdb-43a357f99fc8c6535d064c5bce4b2865aa33bdd2.tar.bz2 |
[GAS][AARCH64]Add TLSDESC large memory model support.
bfd/
2015-10-02 Renlin Li <renlin.li@arm.com>
* elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for
BFD_RELOC_AARCH64_TLSDESC_OFF_G1.
gas/
2015-10-02 Renlin Li <renlin.li@arm.com>
* config/tc-aarch64.c (s_tlsdescadd): New.
(s_tlsdescldr): New.
(md_pseudo_table): Handle tlsdescadd and tlsdescldr pseudo ops.
(reloc_table): Add entries for BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC and
BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC.
(process_movw_reloc_info): Support AARCH64_TLSDESC_OFF_G1 and
AARCH64_TLSDESC_OFF_G0_NC.
(md_apply_fix): Likewise.
(aarch64_force_relocation): Likewise.
gas/testsuite/
2015-10-02 Renlin Li <renlin.li@arm.com>
* gas/aarch64/reloc-tlsdesc_off_g0_nc.d: New.
* gas/aarch64/reloc-tlsdesc_off_g0_nc.s: New.
* gas/aarch64/reloc-tlsdesc_off_g1.d: New.
* gas/aarch64/reloc-tlsdesc_off_g1.s: New.
* gas/aarch64/tls-desc.d: New.
* gas/aarch64/tls-desc.s: New.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfnn-aarch64.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bad620e..87aae5e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2015-10-02 Renlin Li <renlin.li@arm.com> + * elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for + BFD_RELOC_AARCH64_TLSDESC_OFF_G1. + +2015-10-02 Renlin Li <renlin.li@arm.com> + * elfnn-aarch64.c(IS_AARCH64_TLS_RELAX_RELOC): Add relaxation support for TLSGD_MOVW_G0_NC and TLSGD_MOVW_G1. (aarch64_tls_transition_without_check): Likewise diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index cff77ce..18ca46f 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -1616,7 +1616,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] = 12, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ - complain_overflow_dont, /* complain_on_overflow */ + complain_overflow_unsigned, /* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ AARCH64_R_STR (TLSDESC_OFF_G1), /* name */ FALSE, /* partial_inplace */ |