[14/16][binutils][AARCH64]Add relocation support for large memory model. [GAS]Add TLSDESC support

Renlin Li renlin.li@arm.com
Tue Sep 15 13:44:00 GMT 2015


Hi all,

This patch adds the missing TLSDESC support for large memory model.

Basically, the following four relocation symbols are supported.

AARCH64_TLSDESC_OFF_G1
AARCH64_TLSDESC_OFF_G0_NC
AARCH64_TLSDESC_ADD
AARCH64_TLSDESC_LDR

Those four symbols are already defined, but not supported. This patch 
add the GAS support. Testcases are also provided.

Binutils regression test Okay. Okay to commit?



bfd/ChangeLog:

2015-09-15  Renlin Li <renlin.li@arm.com>

     * elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for
     BFD_RELOC_AARCH64_TLSDESC_OFF_G1.

gas/ChangeLog:

2015-09-15  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/ChangeLog:

2015-09-15  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.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0014-GAS-TLSDESC.patch
Type: text/x-patch
Size: 7913 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150915/5ed76a25/attachment.bin>


More information about the Binutils mailing list