[PATCH] [lld] [ELF/AArch64] Fix TLS initial executable relocation
Adhemerval Zanella
adhemerval.zanella at linaro.org
Wed Jun 3 09:57:37 PDT 2015
Hi ruiu, shankar.easwaran,
This patch fixes the TLS initial executable for AArch64. Current
implementation have two issues: 1. do not generate dynamic
R_AARCH64_TLS_TPREL64 relocation for the external module symbols,
and 2. do not export the TLS initial executable symbol in dynamic
symbol table.
The fix follows the MIPS strategy to add a arch-specific AArch64GOTSection
class to keep track of TLS symbols required to be place in dynamic
symbol table. It also overrides the buildDynamicSymbolTable for
ExecutableWrite class for AArch64 to add the symbols.
It also adds some refactoring on AArch64RelocationPass.cpp based on ARM
backend.
http://reviews.llvm.org/D10219
Files:
lib/ReaderWriter/ELF/AArch64/AArch64ExecutableWriter.cpp
lib/ReaderWriter/ELF/AArch64/AArch64ExecutableWriter.h
lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp
lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp
lib/ReaderWriter/ELF/AArch64/AArch64SectionChunks.cpp
lib/ReaderWriter/ELF/AArch64/AArch64SectionChunks.h
lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp
lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h
lib/ReaderWriter/ELF/AArch64/CMakeLists.txt
test/elf/AArch64/Inputs/initial-exec-tls-1.yaml
test/elf/AArch64/initial-exec-tls-0.test
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10219.27048.patch
Type: text/x-patch
Size: 24913 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150603/58783ac3/attachment.bin>
More information about the llvm-commits
mailing list