llvm-project/lld/ELF
Thomas Anderson 4a401e9479 Fix linker-defined symbols possibly not being defined when -wrap is used
Fixes https://bugs.llvm.org/show_bug.cgi?id=40134

addWrappedSymbols() must be called before addReservedSymbols() because the
latter only defines reserved symbols when they are undefined in the symbol
table. If addWrappedSymbols() is called after, then addUndefined() is called
which may lazily pull in more object files that could reference reserved
symbols.

Differential Revision: https://reviews.llvm.org/D56110

llvm-svn: 350251
2019-01-02 19:28:00 +00:00
..
Arch [PPC64] Add toc-optimizations for got based relocations. 2018-12-20 17:00:33 +00:00
AArch64ErrataFix.cpp ELF: AArch64: Fix errata patch address calculation. 2018-12-17 20:15:12 +00:00
AArch64ErrataFix.h Consistent (non) use of empty lines in include blocks 2018-02-20 21:53:18 +00:00
Bits.h Move bit operations to a new file, ELF/Bits.h. 2017-10-26 21:37:17 +00:00
CMakeLists.txt Rename GdbIndex.{cpp,h} -> DWARF.{cpp,h}. 2018-09-14 23:51:05 +00:00
CallGraphSort.cpp Simplify. NFC. 2018-10-12 22:44:06 +00:00
CallGraphSort.h [ELF] Add profile guided section layout 2018-04-17 23:30:05 +00:00
Config.h Add --plugin-opt=emit-llvm option. 2018-12-14 21:58:49 +00:00
DWARF.cpp [LLD][ELF] - Improve the DWARF v5 suport for building .gdb_index. 2018-12-03 10:48:57 +00:00
DWARF.h [LLD][ELF] - Improve the DWARF v5 suport for building .gdb_index. 2018-12-03 10:48:57 +00:00
Driver.cpp Fix linker-defined symbols possibly not being defined when -wrap is used 2019-01-02 19:28:00 +00:00
Driver.h Add TARGET(foo) linker script directive. 2018-08-06 21:29:41 +00:00
DriverUtils.cpp Eliminate dependency to formatv(). NFC. 2018-10-10 20:29:29 +00:00
EhFrame.cpp Avoid unnecessary buffer allocation and memcpy for compressed sections. 2018-10-08 16:58:59 +00:00
EhFrame.h De-template EhReader. NFC. 2017-10-27 03:14:09 +00:00
Filesystem.cpp s/LLVM_ON_WIN32/_WIN32/, lld 2018-04-10 13:15:21 +00:00
Filesystem.h Add a missing #include. 2017-11-17 08:17:21 +00:00
ICF.cpp Make a member function non-member. NFC. 2018-11-27 17:47:24 +00:00
ICF.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
InputFiles.cpp Use unique_ptr to manage a TarWriter instance. NFC. 2018-12-18 23:50:37 +00:00
InputFiles.h Use unique_ptr to manage a TarWriter instance. NFC. 2018-12-18 23:50:37 +00:00
InputSection.cpp [ELF][AArch64] Fix adrp to undefined weak reference. 2018-12-13 11:13:01 +00:00
InputSection.h Do not use a hash table to uniquify mergeable strings. 2018-12-05 19:13:31 +00:00
LTO.cpp Add --plugin-opt=emit-llvm option. 2018-12-14 21:58:49 +00:00
LTO.h Simplify. 2018-09-11 14:37:27 +00:00
LinkerScript.cpp [LLD][ELF] - Support discarding the .dynamic section. 2018-12-10 09:24:49 +00:00
LinkerScript.h [LLD][ELF] - Linker script: accept using a file name without a list of sections. 2018-12-06 08:34:52 +00:00
MapFile.cpp [ELF] - (-Map file) Implement printing of LMA for assignments outside of section declarations. 2018-12-06 09:04:52 +00:00
MapFile.h Implement --cref. 2018-03-14 20:29:45 +00:00
MarkLive.cpp [ELF] Move IsNeeded logic from SymbolTable::addShared to MarkLive, and check IsUsedInRegularObj 2018-12-20 22:46:01 +00:00
MarkLive.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
Options.td Add --plugin-opt=emit-llvm option. 2018-12-14 21:58:49 +00:00
OutputSections.cpp ELF: allow non allocated sections to go into allocated sections 2018-12-04 18:47:44 +00:00
OutputSections.h [ELF] Make TrapInstr and Filler byte arrays. NFC. 2018-11-14 21:05:20 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp keymethod -> keyfunction 2018-12-21 22:57:11 +00:00
Relocations.h [ELF] - Fix R_AARCH64_ADR_GOT_PAGE, R_AARCH64_LD64_GOT_LO12 handling against IFUNC symbols. 2018-11-27 10:30:46 +00:00
ScriptLexer.cpp [LLD][ELD] - Do not reject INFO output section type when used with a start address. 2018-08-28 08:39:21 +00:00
ScriptLexer.h [LLD][ELD] - Do not reject INFO output section type when used with a start address. 2018-08-28 08:39:21 +00:00
ScriptParser.cpp [LLD][ELF] - Use auto. NFC. 2018-12-06 10:56:11 +00:00
ScriptParser.h [ELF] Support expressions with -defsym option 2017-11-04 02:03:58 +00:00
SymbolTable.cpp [ELF] A shared object is needed if any of its occurrences is needed 2018-12-27 22:24:45 +00:00
SymbolTable.h [ELF] A shared object is needed if any of its occurrences is needed 2018-12-27 22:24:45 +00:00
Symbols.cpp Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
Symbols.h Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
SyntheticSections.cpp Use error() instead of fatal() to report an invalid address range. 2018-12-26 19:15:04 +00:00
SyntheticSections.h [ELF] .gnu.hash bloom filter: use Shift2 = 26 instead of 6 2018-12-21 21:59:34 +00:00
Target.cpp Use llvm_unreachable for unreachable code. 2018-11-01 20:08:29 +00:00
Target.h Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
Thunks.cpp [ELF][ARM] Add support for architecture v6m thunks 2018-12-17 10:33:47 +00:00
Thunks.h ELF: Allow thunks to change size. NFCI. 2018-03-29 22:32:13 +00:00
Writer.cpp [ELF] Place .note in the first page to ensure they are available in core files 2018-12-18 19:16:37 +00:00
Writer.h ELF: Do not ICF two sections with different output sections. 2018-05-23 01:58:43 +00:00

README.md

See docs/NewLLD.rst