llvm-project/lld/ELF
George Rimar afbf90aef9 [ELF] - Drop special flags for empty output sections.
This fixes PR36598.

LLD currently crashes when we have empty output section
with SHF_LINK_ORDER flag. This might happen if we place an 
empty synthetic section in the linker script, but keep output
section alive with the use of additional symbol, for example.

The patch fixes the issue by dropping all special flags
for empty sections.

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

llvm-svn: 327374
2018-03-13 08:32:56 +00:00
..
Arch For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
AArch64ErrataFix.cpp Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +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 Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +00:00
Config.h [mips][lld] Spectre variant two mitigation for MIPSR2 2018-02-20 23:49:17 +00:00
Driver.cpp [ELF] Add elf64lppc emulation. 2018-03-09 22:11:46 +00:00
Driver.h Remove "--full-shutdown" and instead use an environment variable LLD_IN_TEST. 2018-02-16 23:41:48 +00:00
DriverUtils.cpp Simplify libtool compatibility hack. 2018-02-07 00:13:01 +00:00
EhFrame.cpp Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +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 s/uncompress/decompress/g. 2018-02-12 21:56:14 +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 Recommit "[ELF] - Do not crash with --emit-relocs and --icf=all together." 2018-02-23 10:37:33 +00:00
ICF.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
InputFiles.cpp [ELF] - Formatted comment, fixed mistype. NFC. 2018-03-12 15:18:35 +00:00
InputFiles.h Simplify LazyobjFile and readElfSymbols. 2018-03-08 01:05:58 +00:00
InputSection.cpp [ELF] - Fix crash relative to SHF_LINK_ORDER sections. 2018-03-08 15:06:58 +00:00
InputSection.h s/uncompress/decompress/g. 2018-02-12 21:56:14 +00:00
LTO.cpp [lld/LTO] Remove unused Path parameter to AddBufferFn 2018-02-20 20:21:59 +00:00
LTO.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
LinkerScript.cpp [ELF] - Drop special flags for empty output sections. 2018-03-13 08:32:56 +00:00
LinkerScript.h [ELF] - Support "INSERT AFTER" statement. 2018-03-08 14:54:38 +00:00
MapFile.cpp Rename Indent{1,2} -> Indent{8,16}. 2018-03-07 17:15:15 +00:00
MapFile.h Pass symbol attributes instead of ElfSym to Shared symbol ctor. 2017-10-28 20:15:56 +00:00
MarkLive.cpp Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +00:00
MarkLive.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
Options.td Implement --just-symbols. 2018-03-06 21:25:37 +00:00
OutputSections.cpp [ELF] - Fix crash relative to SHF_LINK_ORDER sections. 2018-03-08 15:06:58 +00:00
OutputSections.h Use exact uint32_t for uint32_t ELF field. NFC. 2018-03-07 19:25:36 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp ELF: Do not create multiple thunks for the same virtual address. 2018-03-09 17:54:43 +00:00
Relocations.h ELF: Do not create multiple thunks for the same virtual address. 2018-03-09 17:54:43 +00:00
ScriptLexer.cpp Simplify script lexer. 2017-12-26 10:13:10 +00:00
ScriptLexer.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
ScriptParser.cpp [ELF] - Removed excessive lookup. NFC. 2018-03-12 14:15:38 +00:00
ScriptParser.h [ELF] Support expressions with -defsym option 2017-11-04 02:03:58 +00:00
SymbolTable.cpp Improve duplicated version handling. 2018-03-06 17:05:12 +00:00
SymbolTable.h Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +00:00
Symbols.cpp Consistent (non) use of empty lines in include blocks 2018-02-20 21:53:18 +00:00
Symbols.h Simplify. NFC. 2018-03-03 02:13:50 +00:00
SyntheticSections.cpp For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
SyntheticSections.h For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
Target.cpp Use dyn_cast instead of dyn_cast_or_null. 2017-12-20 20:46:08 +00:00
Target.h For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
Thunks.cpp [ELF] Convert {read,write}*be to endianness-aware read/write. 2018-03-09 18:03:22 +00:00
Thunks.h ELF: Merge DefinedRegular and Defined. 2017-11-06 04:35:31 +00:00
Writer.cpp For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
Writer.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00

README.md

See docs/NewLLD.rst