summaryrefslogtreecommitdiff
path: root/gold/aarch64-reloc.def
diff options
context:
space:
mode:
authorJing Yu <jingyu@google.com>2015-03-30 14:06:12 -0700
committerJing Yu <jingyu@google.com>2015-03-30 14:11:48 -0700
commit6b0ad2ebf6024419c84f35552f4eb55aa0b23195 (patch)
tree0fcd98625c2646f0577f449f46bb9a1b57fc5213 /gold/aarch64-reloc.def
parent5675acd9d4a62c4d402da7a436d810b29832d0e0 (diff)
downloadbinutils-gdb-6b0ad2ebf6024419c84f35552f4eb55aa0b23195.tar.gz
Support AARCH64_TLSLD_ADD_DTPREL_* relocations.
Also Change _TLS_MODULE_BASE_. Always let it point to the start of TLS segment. 2015-03-28 Jing Yu <jingyu@google.com> * aarch64-reloc.def: New TLSLD_ADD_DTPREL_HI12, TLSLD_ADD_DTPREL_LO12_NC. * aarch64.cc (Target_aarch64::define_tls_base_symbol): Always let _TLS_MODULE_BASE_ point to the start of tls segment. (Target_aarch64::optimize_tls_reloc): Add cases for R_AARCH64_TLSLD_ADD_DTPREL_HI12 and R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC. (Target_aarch64::Scan::local): Likewise. (Target_aarch64::Scan::global): Likewise. (Target_aarch64::Relocate::relocate): Likewise. (Target_aarch64::Relocate::relocate_tls): Likewise. And remove subtracting tls segment size from symbol value for TLSLD_*_DTPREL relocations.
Diffstat (limited to 'gold/aarch64-reloc.def')
-rw-r--r--gold/aarch64-reloc.def2
1 files changed, 2 insertions, 0 deletions
diff --git a/gold/aarch64-reloc.def b/gold/aarch64-reloc.def
index d03d9b53338..321e6796a70 100644
--- a/gold/aarch64-reloc.def
+++ b/gold/aarch64-reloc.def
@@ -71,6 +71,8 @@ ARD(TLSLD_ADR_PAGE21 , STATIC , AARCH64 , Y, -1, 32,32
ARD(TLSLD_ADD_LO12_NC , STATIC , AARCH64 , Y, -1, 0,0 , 0,11 , Symbol::TLS_REF , ADD )
ARD(TLSLD_MOVW_DTPREL_G1 , STATIC , AARCH64 , Y, 1, 32,32 , 16,31 , Symbol::TLS_REF , ADRP )
ARD(TLSLD_MOVW_DTPREL_G0_NC , STATIC , AARCH64 , Y, 0, 0,0 , 0,15 , Symbol::TLS_REF , MOVW )
+ARD(TLSLD_ADD_DTPREL_HI12 , STATIC , AARCH64 , Y, -1, 0,24 , 12,23 , Symbol::TLS_REF , ADD )
+ARD(TLSLD_ADD_DTPREL_LO12_NC , STATIC , AARCH64 , Y, -1, 0,0 , 0,11 , Symbol::TLS_REF , ADD )
// Above is from Table 4-16, Local Dynamic TLS relocations, 517-573.
ARD(TLSIE_MOVW_GOTTPREL_G1 , STATIC , AARCH64 , N, -1, 32,32 , 16,31 , Symbol::TLS_REF , MOVW )