This is an archive of the discontinued LLVM Phabricator instance.

[ARM][LLD] Initial support for local dynamic TLS for ARM Target
ClosedPublic

Authored by peter.smith on Jul 20 2016, 3:03 AM.

Details

Reviewers
ruiu
rafael
Summary

Add support for the local dynamic model ARM TLS relocations:

  • R_ARM_TLS_LDM32
  • R_ARM_TLS_LDO32

The local dynamic model was not in the inital ARM TLS patch as there was a dependency on llvm-mc (https://reviews.llvm.org/D22461) which has now been closed.

The local dynamic implementation and tests follows the same model as the other ARM TLS models. The R_ARM_TLS_LDO32 is implemented as R_ABS expr type as the getVA() for a TLS symbol will return the offset from the start of the TLS block.

References:
TLS model: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0045e/IHI0045E_ABI_addenda.pdf
Relocations: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf

Diff Detail

Event Timeline

peter.smith retitled this revision from to [ARM][LLD] Initial support for local dynamic TLS for ARM Target.
peter.smith updated this object.
peter.smith added reviewers: ruiu, rafael.
peter.smith added a subscriber: llvm-commits.
ruiu accepted this revision.Jul 20 2016, 7:01 AM
ruiu edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jul 20 2016, 7:01 AM

Thank you for the quick review. Committed as r276123.

Eugene.Zelenko added a subscriber: Eugene.Zelenko.

Looks like commit was not detected by Differential.

emaste added a subscriber: emaste.Sep 19 2016, 7:55 PM

Looks like commit was not detected by Differential.

Seems the : was missing after Differential Revision in rL276123