[PATCH] D16201: [ELF/AArch64] - Implemented set of R_AARCH64_TLSDESC_* relocations.
Adhemerval Zanella via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 14 13:21:40 PDT 2016
zatrazz added a comment.
I have been testing this patch along other that fix aarch64-linux support    and I can bootstrap and run both lld own testcases and test-suite with with relative success (test-suite shows 5 runtime failures I am investigating).
This patch also requires a new rebase and some adjustments due addEntry interface changes: instead of using a pointer to SymbolBody, I would recommend to use a reference on addTlsDescEntry (as it is for addEntry).
The only thing I am not sure about this patch is for the architecture that might use the new tlsdesc dialect, saying x86_64, i386, arm, and aarch64; the position seems to be architecture dependent. Using gold implementation as reference:
- x86_64 places TLSDESC relocs, if any, after regular PLT followed by IRELATIVE
- aarch64 and i386 seems to place IRELATIVE, if any, after regular PLT followed by TLSDESC
- arm is not implemented.
So I think this solves aarc64 and possible i386 case (if the idea is to implement it in the future), however I think we will need something more flexible for a possible x86_64 implementation.
More information about the llvm-commits