diff options
author | Jing Yu <jingyu@google.com> | 2015-03-30 14:06:12 -0700 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2015-03-30 14:11:48 -0700 |
commit | 6b0ad2ebf6024419c84f35552f4eb55aa0b23195 (patch) | |
tree | 0fcd98625c2646f0577f449f46bb9a1b57fc5213 /gold/aarch64-reloc.def | |
parent | 5675acd9d4a62c4d402da7a436d810b29832d0e0 (diff) | |
download | gdb-6b0ad2ebf6024419c84f35552f4eb55aa0b23195.zip gdb-6b0ad2ebf6024419c84f35552f4eb55aa0b23195.tar.gz gdb-6b0ad2ebf6024419c84f35552f4eb55aa0b23195.tar.bz2 |
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.def | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gold/aarch64-reloc.def b/gold/aarch64-reloc.def index d03d9b5..321e679 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 ) |