llvm-project/lld/ELF
Ed Schouten 639a333730 Make TLS work for PIE executables on x86-64.
While trying to get PIE work on CloudABI for x86-64, I noticed that even
though GNU ld would generate functional binaries, LLD would not. It
turns out that we generate relocations for referencing TLS objects
inside of the text segment, which shouldn't happen.

This change extends the isRelRelative() function to list some additional
relocation types that should be treated as relative. This makes my C
library unit testing binary work on x86-64.

Approved by:	ruiu
Differential Revision:	http://reviews.llvm.org/D18688
Fixes bug:	https://llvm.org/bugs/show_bug.cgi?id=27174

llvm-svn: 265462
2016-04-05 20:51:50 +00:00
..
CMakeLists.txt Fix shared build after r264790 2016-03-30 08:31:46 +00:00
Config.h [LTO] Implement -disable-verify, which disables bitcode verification. 2016-04-03 03:39:09 +00:00
Driver.cpp Don't store an Elf_Sym for most symbols. 2016-04-04 14:04:16 +00:00
Driver.h ELF: Correctly handle --whole-archive for thin archives. 2016-03-31 23:12:18 +00:00
DriverUtils.cpp Variable names should start with uppercase letters. 2016-04-02 19:15:26 +00:00
Error.cpp Remove dead code. 2016-03-13 04:25:43 +00:00
Error.h Remove dead code. 2016-03-13 04:25:43 +00:00
ICF.cpp Update for llvm change. 2016-04-05 14:47:28 +00:00
ICF.h Rename elf2 to elf. 2016-02-28 00:25:54 +00:00
InputFiles.cpp Fix formatting. 2016-04-05 17:47:29 +00:00
InputFiles.h Don't store an Elf_Sym for most symbols. 2016-04-04 14:04:16 +00:00
InputSection.cpp Update for llvm change. 2016-04-05 14:47:28 +00:00
InputSection.h Update for llvm change. 2016-04-05 14:47:28 +00:00
LTO.cpp [LTO] Implement -disable-verify, which disables bitcode verification. 2016-04-03 03:39:09 +00:00
LTO.h Make BitcodeCompiler::compile a non-template function. NFC. 2016-03-29 19:08:46 +00:00
LinkerScript.cpp Include line number in error message for linker scripts. 2016-03-30 16:51:57 +00:00
LinkerScript.h ELF: Remove OutSection class and use a map instead. 2016-02-28 05:09:11 +00:00
MarkLive.cpp Don't store an Elf_Sym for most symbols. 2016-04-04 14:04:16 +00:00
Options.td Put these options in sorted order. 2016-04-04 19:21:52 +00:00
OutputSections.cpp Update for llvm change. 2016-04-05 14:47:28 +00:00
OutputSections.h Update for llvm change. 2016-04-05 14:47:28 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
SymbolTable.cpp Fix another case of propagating IsUsedRegularObj. 2016-04-05 01:38:43 +00:00
SymbolTable.h Revert unintentional change. 2016-04-04 19:22:51 +00:00
Symbols.cpp Remove redundant argument. NFC. 2016-04-05 11:47:46 +00:00
Symbols.h Remove redundant argument. NFC. 2016-04-05 11:47:46 +00:00
Target.cpp Make TLS work for PIE executables on x86-64. 2016-04-05 20:51:50 +00:00
Target.h Pass a const pointer to getImplicitAddend. NFC. 2016-04-01 14:36:09 +00:00
Writer.cpp Don't omit dynamic relocations for the GOT. 2016-04-05 20:17:33 +00:00
Writer.h Rename elf2 to elf. 2016-02-28 00:25:54 +00:00

README.md

See docs/NewLLD.rst