mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-27 18:28:14 +00:00
8ffb2097cc
If neither AT(lma) nor AT>lma_region is specified, D76995 keeps `lmaOffset` (LMA - VMA) if the previous section is in the default LMA region. This patch additionally checks that the two sections are in the same memory region. Add a test case derived from https://bugs.llvm.org/show_bug.cgi?id=45313 .mdata : AT(0xfb01000) { *(.data); } > TCM // It is odd to make .bss inherit lmaOffset, because the two sections // are in different memory regions. .bss : { *(.bss) } > DDR With this patch, section VMA/LMA match GNU ld. Note, GNU ld supports out-of-order (w.r.t sh_offset) sections and places .text and .bss in the same PT_LOAD. We don't have that behavior. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D81986 |
||
---|---|---|
.. | ||
Arch | ||
AArch64ErrataFix.cpp | ||
AArch64ErrataFix.h | ||
ARMErrataFix.cpp | ||
ARMErrataFix.h | ||
CallGraphSort.cpp | ||
CallGraphSort.h | ||
CMakeLists.txt | ||
Config.h | ||
Driver.cpp | ||
Driver.h | ||
DriverUtils.cpp | ||
DWARF.cpp | ||
DWARF.h | ||
EhFrame.cpp | ||
EhFrame.h | ||
ICF.cpp | ||
ICF.h | ||
InputFiles.cpp | ||
InputFiles.h | ||
InputSection.cpp | ||
InputSection.h | ||
LinkerScript.cpp | ||
LinkerScript.h | ||
LTO.cpp | ||
LTO.h | ||
MapFile.cpp | ||
MapFile.h | ||
MarkLive.cpp | ||
MarkLive.h | ||
Options.td | ||
OutputSections.cpp | ||
OutputSections.h | ||
README.md | ||
Relocations.cpp | ||
Relocations.h | ||
ScriptLexer.cpp | ||
ScriptLexer.h | ||
ScriptParser.cpp | ||
ScriptParser.h | ||
Symbols.cpp | ||
Symbols.h | ||
SymbolTable.cpp | ||
SymbolTable.h | ||
SyntheticSections.cpp | ||
SyntheticSections.h | ||
Target.cpp | ||
Target.h | ||
Thunks.cpp | ||
Thunks.h | ||
Writer.cpp | ||
Writer.h |
See docs/NewLLD.rst