This is an archive of the discontinued LLVM Phabricator instance.

[ELF][X86] Support TLS GD/LD relaxation for gcc -fno-plt
ClosedPublic

Authored by MaskRay on Dec 31 2022, 6:26 PM.

Details

Summary

gcc -fno-plt uses call *___tls_get_addr@GOT(%reg) instead of call ___tls_get_addr@PLT.
GD to IE/LE relaxations need to shift the offset by one while LD to LE relaxation needs to use a different code sequence.

Diff Detail

Event Timeline

MaskRay created this revision.Dec 31 2022, 6:26 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 31 2022, 6:26 PM
This revision was not accepted when it landed; it landed in state Draft.Dec 31 2022, 8:50 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptDec 31 2022, 8:50 PM