[PATCH] D17333: [lld] [AArch64] Initial TLSDESC relocations support

Adhemerval Zanella via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 05:34:38 PST 2016


zatrazz created this revision.
zatrazz added reviewers: ruiu, rafael.
zatrazz added a subscriber: llvm-commits.
zatrazz set the repository for this revision to rL LLVM.
zatrazz added a project: lld.
Herald added subscribers: rengolin, aemerson.

Default Global Dynamic TLS relocation generation for AArch64 is done by
TLSDESC and TLSCALL / GNU2 tls and for shared mode it requires creating
dynamic R_AARCH64_TLSDESC relocations.

This patch adds initial support for TLSDESC relocation for AArch64. On
TargetInfo class a new hook is added, isTlsGlobalDescDynamicRel, to
indicate the TLS GD should be handled a TLSDESC one and special
handling and dynamic relocation generation is added on
handleTlsRelocation.

No relax optimization is added and there is room to some optimizations.
Along with 'Fix R_AARCH64_ABS64 in Shared mode' [1] patch I could
bootstrap lld and run all the tests withouth failure.

[1] http://reviews.llvm.org/D17265

Repository:
  rL LLVM

http://reviews.llvm.org/D17333

Files:
  ELF/InputSection.cpp
  ELF/Target.cpp
  ELF/Target.h
  ELF/Writer.cpp
  test/ELF/aarch64-tls-tlsdesc.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17333.48179.patch
Type: text/x-patch
Size: 7739 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160217/b52ef648/attachment.bin>


More information about the llvm-commits mailing list