llvm-project/lld/ELF
Ed Schouten 3bf713043a Make --export-dynamic work on non-PIC/PIE targets.
For CloudABI I'm only interested in generating non-PIC/PIE executables
on armv6 and i686, as PIE introduces larger overhead than on aarch64 and
x86_64. Still, I want to be able to instruct the linker to generate a
dynamic symbol table if requested. One example use for this is that
dynamic symbol tables can be used by programs to print nicely formatted
stacktraces, including symbol names.

Right now there seems to be some logic in LLD that it only wants to emit
dynamic symbol tables when either linking against libraries or when
building PIC. Let's extend this to also take --export-dynamic into
account.

Reviewed by:	ruiu
Differential Revision:	https://reviews.llvm.org/D29982

llvm-svn: 295240
2017-02-15 21:51:25 +00:00
..
CMakeLists.txt Rename ScriptParser.{cpp,h} -> ScriptLexer.{cpp,h}. 2017-02-14 04:47:05 +00:00
Config.h Remove stray semicolon. 2017-02-14 17:36:23 +00:00
Driver.cpp Do not store a computable attributes to Config. 2017-02-14 05:45:47 +00:00
Driver.h Add linker-script-included files to reproduce tar files. 2017-01-09 01:42:02 +00:00
DriverUtils.cpp Strip file path from the -o option while creating reproduce.txt. 2017-02-01 18:04:45 +00:00
EhFrame.cpp Move getLocation from Relocations.cpp to InputSection.cpp. 2016-11-25 18:51:53 +00:00
EhFrame.h [ELF] Print error location in .eh_frame parser 2016-11-23 09:45:17 +00:00
Error.cpp Remove error(error_code, const Twine &). 2017-01-12 22:18:04 +00:00
Error.h Remove error(error_code, const Twine &). 2017-01-12 22:18:04 +00:00
GdbIndex.cpp [ELF] - Return file offset as address only for allocatable sections when building .gdb_index 2016-12-23 07:51:59 +00:00
GdbIndex.h [ELF] - Partial support of --gdb-index command line option (Part 3). 2016-12-15 12:07:53 +00:00
ICF.cpp ELF: Fix ICF crash on absolute symbol relocations. 2017-01-20 04:58:12 +00:00
ICF.h Do not pass Symtab to markLive/doICF since Symtab is globally accessible. 2016-05-02 19:30:42 +00:00
InputFiles.cpp [ELF] - Do not segfault when using -r and section groups. 2017-02-14 16:42:38 +00:00
InputFiles.h [ELF] - Stop handling local symbols in a special way. 2017-01-23 14:07:23 +00:00
InputSection.cpp Set the correct r_offset even when creating a R_*_NONE. 2017-02-15 01:53:23 +00:00
InputSection.h Replace MergeOutputSection with a synthetic section. 2017-02-03 13:06:18 +00:00
LTO.cpp Do not store a computable attributes to Config. 2017-02-14 05:45:47 +00:00
LTO.h [ELF] Use SyntheticSections for Thunks 2017-02-01 10:26:03 +00:00
LinkerScript.cpp Apply different tokenization rules to linker script expressions. 2017-02-15 19:58:17 +00:00
LinkerScript.h Rename NotFlags -> NegFlags. 2017-01-26 02:58:59 +00:00
MapFile.cpp Print alignment in decimal instead of hexadecimal. 2017-01-31 20:42:34 +00:00
MapFile.h Implement -Map. 2017-01-13 21:05:46 +00:00
MarkLive.cpp Handle gcing user created metadata. 2017-02-09 15:17:56 +00:00
Memory.h Remove lld/Support/Memory.h. 2016-12-18 14:06:06 +00:00
Mips.cpp [ELF][MIPS] N32 ABI support 2016-11-05 22:58:01 +00:00
Options.td [LTO] Add support for optimization remarks. 2017-02-13 17:49:18 +00:00
OutputSections.cpp Make lld able to handle gold's -r output. 2017-02-15 01:29:23 +00:00
OutputSections.h Simplify. NFC. 2017-02-03 21:59:15 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp Do not store a computable attributes to Config. 2017-02-14 05:45:47 +00:00
Relocations.h [ELF] Use SyntheticSections for Thunks 2017-02-01 10:26:03 +00:00
ScriptLexer.cpp Apply different tokenization rules to linker script expressions. 2017-02-15 19:58:17 +00:00
ScriptLexer.h Apply different tokenization rules to linker script expressions. 2017-02-15 19:58:17 +00:00
Strings.cpp [ELF] __cxa_demangle is now called itaniumDemangle. Update. 2017-01-17 01:59:13 +00:00
Strings.h Use ArrayRef instead of `const std::vector`. 2016-12-20 23:17:00 +00:00
SymbolTable.cpp [ELF] Use SyntheticSections for Thunks 2017-02-01 10:26:03 +00:00
SymbolTable.h Add a isInCurrentDSO helper. NFC. 2017-01-17 16:08:06 +00:00
Symbols.cpp [ELF] Use synthetic section to hold copy relocation 2017-02-09 10:27:57 +00:00
Symbols.h [ELF] Use synthetic section to hold copy relocation 2017-02-09 10:27:57 +00:00
SyntheticSections.cpp Fix the st_name of section symbols. 2017-02-15 00:23:09 +00:00
SyntheticSections.h Fix the st_name of section symbols. 2017-02-15 00:23:09 +00:00
Target.cpp [ELF][MIPS] Fix writing updated addend for R_MIPS_GOT16 relocation 2017-02-15 08:33:03 +00:00
Target.h Change the return type of getImplicitAddend to signed integer. 2017-02-06 22:32:45 +00:00
Threads.h Update comment to clarify the machine spec. 2016-12-04 02:34:29 +00:00
Thunks.cpp Do not store a computable attributes to Config. 2017-02-14 05:45:47 +00:00
Thunks.h [ELF] Use SyntheticSections for Thunks 2017-02-01 10:26:03 +00:00
Writer.cpp Make --export-dynamic work on non-PIC/PIE targets. 2017-02-15 21:51:25 +00:00
Writer.h Don't create a bogus PT_PHDR if we don't allocate the headers. 2017-01-20 20:46:15 +00:00

README.md

See docs/NewLLD.rst