llvm-project/lld/ELF
Andrew Ng 4d54a4b4f7 [LLD] Fix findOrphanPos to consistently ignore "dead" OutputSection's
When findOrphanPos does the reverse search to find the OutputSection
preceding the orphan's insertion point, look for a live OutputSection
and ignore "dead" OutputSection's. This matches the behaviour of the
forward search performed earlier in this function.

Added test which without the above fix fails as a result of an orphan
executable section being incorrectly placed in a non-executable segment.

Differential Review: https://reviews.llvm.org/D38690

llvm-svn: 315292
2017-10-10 10:05:52 +00:00
..
Arch [ELF][MIPS] Check for overflow when writing R_MIPS_CALL16 and R_MIPS_TLS_GOTTPREL 2017-10-06 16:15:59 +00:00
CMakeLists.txt Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Config.h [ELF] - Do --hash-style=both by default. 2017-10-06 09:37:44 +00:00
Driver.cpp Reland r315114, "ELF: Export preempted symbols even if there is a dynamic list." which was reverted in r315116. 2017-10-06 22:09:03 +00:00
Driver.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
DriverUtils.cpp Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
EhFrame.cpp Revert rL313697, "Compact EhSectionPiece from 32 bytes to 16 bytes." 2017-09-20 08:03:18 +00:00
EhFrame.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
Error.cpp Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Error.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
Filesystem.cpp Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Filesystem.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
GdbIndex.cpp [ELF] Decompress debug info sections early 2017-10-04 00:19:41 +00:00
GdbIndex.h Remove unused member variable. 2017-09-24 23:12:36 +00:00
ICF.cpp [ICF] Include section contents in section hash values. 2017-10-02 01:21:07 +00:00
ICF.h [ELF] - Apply clang-format. NFC. 2017-07-18 11:55:35 +00:00
InputFiles.cpp [ELF] Don't crash when parsing a file with out-of-bounds version references 2017-10-05 23:28:34 +00:00
InputFiles.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
InputSection.cpp [ELF] - Improve "has non-ABS reloc" error. 2017-10-10 07:55:07 +00:00
InputSection.h Add more comments. 2017-10-10 03:40:57 +00:00
LTO.cpp Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
LTO.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
LinkerScript.cpp Rename ignoreInterpSection -> needsInterpSection. 2017-10-08 03:52:15 +00:00
LinkerScript.h Rename ignoreInterpSection -> needsInterpSection. 2017-10-08 03:52:15 +00:00
MapFile.cpp [ELF] - Introduce std::vector<InputFile *> global arrays. 2017-09-19 09:20:54 +00:00
MapFile.h Merge OutputSectionCommand and OutputSection. 2017-07-27 19:22:43 +00:00
MarkLive.cpp [ELF] Simpler scheme for handling common symbols 2017-09-29 09:08:26 +00:00
Memory.h [ELF] - Apply clang-format. NFC. 2017-07-18 11:55:35 +00:00
Options.td Add -no-gdb-index which negates -gdb-index option. 2017-09-07 22:40:54 +00:00
OutputSections.cpp Remove OutputSection::updateAlignment. 2017-10-07 00:58:34 +00:00
OutputSections.h Remove OutputSection::updateAlignment. 2017-10-07 00:58:34 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp Remove BssSection::reserveSpace(). 2017-10-04 00:21:17 +00:00
Relocations.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
ScriptLexer.cpp [ELF] - Do not report multiple errors for single one in ScriptLexer::setError. 2017-08-23 08:48:39 +00:00
ScriptLexer.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
ScriptParser.cpp Use llvm::Optional instead of UINT_MAX to represent a null value. 2017-10-08 03:45:49 +00:00
ScriptParser.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
Strings.cpp [ELF] - Update after LLVM r314883 change. NFC. 2017-10-04 08:50:34 +00:00
Strings.h [ELF] - Update after LLVM r314883 change. NFC. 2017-10-04 08:50:34 +00:00
SymbolTable.cpp Inline small function. NFC. 2017-10-07 01:08:28 +00:00
SymbolTable.h Inline small function. NFC. 2017-10-07 01:08:28 +00:00
Symbols.cpp [ELF] Simpler scheme for handling common symbols 2017-09-29 09:08:26 +00:00
Symbols.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
SyntheticSections.cpp Add comments. 2017-10-10 03:58:18 +00:00
SyntheticSections.h Remove dead function. 2017-10-10 03:58:32 +00:00
Target.cpp [ELF] Introduce target specific inBranchRange() function 2017-07-17 16:54:29 +00:00
Target.h Fix which file is in an error message. 2017-08-04 18:33:16 +00:00
Threads.cpp Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Threads.h Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Thunks.cpp [MIPS] Generate thunks for microMIPS code 2017-10-03 13:30:02 +00:00
Thunks.h [ELF] - Fix member name: alignment -> Alignment. NFC. 2017-07-18 11:59:19 +00:00
Writer.cpp [LLD] Fix findOrphanPos to consistently ignore "dead" OutputSection's 2017-10-10 10:05:52 +00:00
Writer.h [MIPS] Generate thunks for microMIPS code 2017-10-03 13:30:02 +00:00

README.md

See docs/NewLLD.rst