aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfnn-aarch64.c
diff options
context:
space:
mode:
authorRenlin Li <renlin.li@arm.com>2018-10-31 14:38:46 +0000
committerRenlin Li <renlin.li@arm.com>2018-10-31 15:09:36 +0000
commitf32a4a593963d4c377fd59f4164c9df2cd6a7590 (patch)
tree27255783aa00d2e7d246898119ddb96b4ba516f0 /bfd/elfnn-aarch64.c
parent64f57f3d7d7b8e7bf9f57caa1389ac5ee3ecfec7 (diff)
downloadgdb-f32a4a593963d4c377fd59f4164c9df2cd6a7590.zip
gdb-f32a4a593963d4c377fd59f4164c9df2cd6a7590.tar.gz
gdb-f32a4a593963d4c377fd59f4164c9df2cd6a7590.tar.bz2
Don't create got section while processing TLS Local Exec relocations.
For Local Exec TLS model, the offset of the variable from the thread pointer can be computed at static link time. This doesn't require GOT indirection. The initial change is a bad fix for a problem during TLS GD -> LE relaxation. The proper fix is to check whether _GLOBAL_OFFSET_TABLE_ is referenced, create got section if yes. And the fix is already in the repository. bfd/ 2018-10-31 Renlin Li <renlin.li@arm.com> * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got section for Local Exec TLS model.
Diffstat (limited to 'bfd/elfnn-aarch64.c')
-rw-r--r--bfd/elfnn-aarch64.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index ee09cd7..e2cfa86 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -7565,9 +7565,6 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
case BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSLD_ADR_PREL21:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
{
unsigned got_type;
unsigned old_got_type;