llvm-project/lld/ELF
Rafael Espindola 6a97f80755 Fix output section offset and contents when linker script uses memory region and data commands.
Advance the memory region offset when handling a linker script data
command such as BYTE or LONG.  Failure to advance the offset results
in corrupted output with overlapping sections.

Update tests to check for this combination of both a) memory regions
and b) data commands.

Fixes https://bugs.llvm.org/show_bug.cgi?id=35565

Patch by Owen Shaw!

llvm-svn: 321418
2017-12-24 03:46:35 +00:00
..
Arch Use references instead of pointers. NFC. 2017-12-19 23:59:35 +00:00
AArch64ErrataFix.cpp Use references instead of pointers. NFC. 2017-12-19 23:59:35 +00:00
AArch64ErrataFix.h [ELF] Fix buildbot warning error. 2017-12-15 10:47:44 +00:00
Bits.h Move bit operations to a new file, ELF/Bits.h. 2017-10-26 21:37:17 +00:00
CMakeLists.txt [ELF] Implement scanner for Cortex-A53 Erratum 843419 2017-12-05 15:59:05 +00:00
Config.h [ELF] Remove Duplicate .ARM.exidx sections 2017-12-15 11:09:41 +00:00
Driver.cpp Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
Driver.h [ELF] Fall back to search dirs for linker scripts specified with -T 2017-11-20 15:43:20 +00:00
DriverUtils.cpp Remove redundant local variables. 2017-12-11 23:19:11 +00:00
EhFrame.cpp De-template EhReader. NFC. 2017-10-27 03:14:09 +00:00
EhFrame.h De-template EhReader. NFC. 2017-10-27 03:14:09 +00:00
Filesystem.cpp Don't use llvm/Config/config.h. 2017-11-17 21:40:38 +00:00
Filesystem.h Add a missing #include. 2017-11-17 08:17:21 +00:00
GdbIndex.cpp Remove some includes from InputFiles.h. 2017-12-09 16:56:18 +00:00
GdbIndex.h [ELF] - Teach LLD to use information from .debug_str for error reporting. 2017-11-17 11:57:47 +00:00
ICF.cpp Add an option for ICFing data. 2017-12-12 01:36:24 +00:00
ICF.h [ELF] - Apply clang-format. NFC. 2017-07-18 11:55:35 +00:00
InputFiles.cpp Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
InputFiles.h Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
InputSection.cpp Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
InputSection.h Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
LTO.cpp Use Symbol::File directly. 2017-11-29 22:47:35 +00:00
LTO.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
LinkerScript.cpp Fix output section offset and contents when linker script uses memory region and data commands. 2017-12-24 03:46:35 +00:00
LinkerScript.h Delete dead code. NFC. 2017-11-29 01:55:03 +00:00
MapFile.cpp Remove some includes from InputFiles.h. 2017-12-09 16:56:18 +00:00
MapFile.h Pass symbol attributes instead of ElfSym to Shared symbol ctor. 2017-10-28 20:15:56 +00:00
MarkLive.cpp Use dyn_cast instead of dyn_cast_or_null. 2017-12-20 20:46:08 +00:00
Options.td [ELF] Remove Duplicate .ARM.exidx sections 2017-12-15 11:09:41 +00:00
OutputSections.cpp [ELF] Refactor to remove loop copying all Sections in OS->finalize() [NFC] 2017-12-12 13:38:51 +00:00
OutputSections.h Fix line endings. NFC. 2017-12-12 17:37:01 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
Relocations.h Rename Body -> Sym. 2017-11-04 00:31:04 +00:00
ScriptLexer.cpp [lld] unified COFF and ELF error handling on new Common/ErrorHandler 2017-10-25 22:28:38 +00:00
ScriptLexer.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
ScriptParser.cpp Result of subtracting two symbols should be absolute. 2017-12-22 21:55:28 +00:00
ScriptParser.h [ELF] Support expressions with -defsym option 2017-11-04 02:03:58 +00:00
Strings.cpp Factor out common code to Common/Strings.cpp. 2017-11-28 02:15:26 +00:00
Strings.h Factor out common code to Common/Strings.cpp. 2017-11-28 02:15:26 +00:00
SymbolTable.cpp Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
SymbolTable.h Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
Symbols.cpp Define isUndefWeak inline. 2017-12-21 22:26:44 +00:00
Symbols.h [ELF] - Fix mistype in comment. NFC. 2017-12-23 16:34:58 +00:00
SyntheticSections.cpp Pass an InputFile to the InputSection constructor. 2017-12-21 02:11:51 +00:00
SyntheticSections.h Pass an InputFile to the InputSection constructor. 2017-12-21 02:11:51 +00:00
Target.cpp Use dyn_cast instead of dyn_cast_or_null. 2017-12-20 20:46:08 +00:00
Target.h Use references instead of pointers. NFC. 2017-12-19 23:59:35 +00:00
Thunks.cpp Use references instead of pointers. NFC. 2017-12-19 23:59:35 +00:00
Thunks.h ELF: Merge DefinedRegular and Defined. 2017-11-06 04:35:31 +00:00
Writer.cpp Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00
Writer.h Detemplate reportDuplicate. 2017-12-23 17:21:39 +00:00

README.md

See docs/NewLLD.rst