[8/16][binutils][AARCH64]Add relocation support for large memory model. [LD]Add BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support.
Renlin Li
renlin.li@arm.com
Tue Sep 8 17:52:00 GMT 2015
Hi all,
This patch adds BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support to binutils linker.
The following code sequence should be generated to access TLS variable
in General Dynamic TLS Model.
movz a0, #:tlsgd_g1:x R_AARCH64_TLSGD_MOVW_G1
movk a0, #:tlsgd_g0_nc:x R_AARCH64_TLSGD_MOVW_G0_NC
add a0, gp, a0
bl __tls_get_addr R_AARCH64_CALL26
nop
Binutils and ld regression test done without new failures. Okay to commit?
Regards,
Renlin
bfd/ChangeLog:
2015-09-08 Renlin Li <renlin.li@arm.com>
* elfnn-aarch64.c (aarch64_reloc_got_type): Add
BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support.
(elfNN_aarch64_final_link_relocate): Likewise.
(elfNN_aarch64_relocate_section): Likewise.
(elfNN_aarch64_gc_sweep_hook): Likewise.
(elfNN_aarch64_check_relocs): Likewise.
* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
(_bfd_aarch64_elf_resolve_relocation): Likewise.
ld/testsuite/ChangeLog:
2015-09-08 Renlin Li <renlin.li@arm.com>
* ld-aarch64/emit-relocs-515.d: New.
* ld-aarch64/emit-relocs-515.s: New.
* ld-aarch64/aarch64-elf.exp: Run new test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0008-LD-BFD_RELOC_AARCH64_TLSGD_MOVW_G1.patch
Type: text/x-patch
Size: 5407 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150908/2cc1cf0b/attachment.bin>
More information about the Binutils
mailing list