diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2015-06-03 21:44:03 +0000 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2015-06-03 21:44:03 +0000 |
commit | 9f0c63bfdfe849095ff8c673f7b6bdb993144fa5 (patch) | |
tree | 9706f86935509d2c500fb227bf62e4fcf8d6195e /llvm/lib/Object/MachOObjectFile.cpp | |
parent | 8c52a9b0f611e4daa09c00e0da15b44b9528dbe5 (diff) | |
download | bcm5719-llvm-9f0c63bfdfe849095ff8c673f7b6bdb993144fa5.tar.gz bcm5719-llvm-9f0c63bfdfe849095ff8c673f7b6bdb993144fa5.zip |
[ELF/AArch64] Fix TLS initial executable relocation
This patch fixes the TLS initial executable for AArch64. Current
implementation have two issues: 1. does not generate dynamic
R_AARCH64_TLS_TPREL64 relocation for the external module symbols,
and 2. does not export the TLS initial executable symbol in dynamic
symbol table.
The fix follows the MIPS strategy to add a arch-specific GOTSection
class to keep track of TLS symbols required to be place in dynamic
symbol table. It also overrides the buildDynamicSymbolTable for
ExecutableWrite class to add the symbols.
It also adds some refactoring on AArch64RelocationPass.cpp based on ARM
backend.
llvm-svn: 238981
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions