llvm-project/lld/ELF
George Rimar 8f3a6c8143 [ELF] - Do not produce broken .dynamic section with --no-rosegment
LLD produces broken .dynamic section when --no-rosegment and at least
one of following options is present:
  1) -z rodynamic is given.
  2) MIPS target.

That happens because code that writes .dynamic assumes target buffer
is zero-filled, what can be not true after LLD fills it with trap
instructions. With one of two options above, .dynamic becomes
SHF_ALLOC section, so can be affected.

Differential revision: https://reviews.llvm.org/D38580

llvm-svn: 315054
2017-10-06 10:06:13 +00:00
..
Arch [MIPS] Generate thunks for microMIPS code 2017-10-03 13:30:02 +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 [ELF] - Do --hash-style=both by default. 2017-10-06 09:37:44 +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] Decompress debug info sections early 2017-10-04 00:19:41 +00:00
InputSection.h [ELF] Decompress debug info sections early 2017-10-04 00:19:41 +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 [ELF] - Stop removing sections in removeUnusedSyntheticSections(). 2017-10-02 09:11:13 +00:00
LinkerScript.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +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 [EFL] - Fix incorrect code style. NFC. 2017-09-28 09:40:17 +00:00
OutputSections.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +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 Consider ForceAbsolute again in moveAbsRight. 2017-09-20 19:24:57 +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 Refactor duplicated code. 2017-10-05 00:35:47 +00:00
SymbolTable.h Inline a small function. 2017-10-03 20:44:54 +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 [ELF] - Do not produce broken .dynamic section with --no-rosegment 2017-10-06 10:06:13 +00:00
SyntheticSections.h Remove BssSection::reserveSpace(). 2017-10-04 00:21:17 +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 Call exitLld() from elf::link. 2017-10-04 00:50:11 +00:00
Writer.h [MIPS] Generate thunks for microMIPS code 2017-10-03 13:30:02 +00:00

README.md

See docs/NewLLD.rst