hanchenye-llvm-project/lld/ELF
Evgeniy Stepanov 4b78036ba8 [ELF] Restore GC handling of LINK_ORDER, C-named sections.
__start_xxx symbol keeps section xxx alive only if it is not
SHF_LINK_ORDER. Such sections can be used for user metadata, when
__start_xxx is used to iterate over section contents at runtime, and
the liveness is determined solely by the linked (associated) section.

This was earlier implemented in r294592, and broken in r296723.

Differential Revision: https://reviews.llvm.org/D30964

llvm-svn: 298154
2017-03-17 22:04:52 +00:00
..
CMakeLists.txt Rename ScriptParser.{cpp,h} -> ScriptLexer.{cpp,h}. 2017-02-14 04:47:05 +00:00
Config.h recommend using llvm-ar when finding undefined references and empty archives 2017-03-17 21:32:49 +00:00
Driver.cpp ELF: Add cache pruning support. 2017-03-17 02:24:16 +00:00
Driver.h Add linker-script-included files to reproduce tar files. 2017-01-09 01:42:02 +00:00
DriverUtils.cpp Strip file path from the -o option while creating reproduce.txt. 2017-02-01 18:04:45 +00:00
EhFrame.cpp Convert InputSectionBase to a class. 2017-02-23 02:28:28 +00:00
EhFrame.h Convert InputSectionBase to a class. 2017-02-23 02:28:28 +00:00
Error.cpp Do not use errs() or outs() directly. Instead use message(), log() or error() 2017-02-21 23:22:56 +00:00
Error.h Add a comment about thread safety. 2017-02-22 21:05:06 +00:00
GdbIndex.cpp Simplify. NFC. 2017-03-02 17:55:29 +00:00
GdbIndex.h Split GdbIndexBuilder class into non-member functions. 2017-03-01 22:54:50 +00:00
ICF.cpp Remove unnecessary template. NFC. 2017-03-08 15:44:30 +00:00
ICF.h Do not pass Symtab to markLive/doICF since Symtab is globally accessible. 2016-05-02 19:30:42 +00:00
InputFiles.cpp recommend using llvm-ar when finding undefined references and empty archives 2017-03-17 21:32:49 +00:00
InputFiles.h Remove Config->Mips64EL and define Config->isMips64EL() instead. 2017-03-07 00:43:33 +00:00
InputSection.cpp [ELF] - Detemplate SymbolBody::getGotOffset(). NFC. 2017-03-17 14:12:51 +00:00
InputSection.h Remove DefinedSynthetic. 2017-03-08 22:36:28 +00:00
LTO.cpp ELF: Add cache pruning support. 2017-03-17 02:24:16 +00:00
LTO.h ELF: Add ThinLTO caching support. 2017-03-01 23:00:10 +00:00
LinkerScript.cpp Handle & and | of non abs values. 2017-03-17 14:55:36 +00:00
LinkerScript.h Handle & and | of non abs values. 2017-03-17 14:55:36 +00:00
MapFile.cpp [ELF] - Detemplate SymbolBody::getVA and SymbolBody::getPltVA. NFC. 2017-03-17 11:56:54 +00:00
MapFile.h Merge OutputSectionBase and OutputSection. NFC. 2017-02-24 15:07:30 +00:00
MarkLive.cpp [ELF] Restore GC handling of LINK_ORDER, C-named sections. 2017-03-17 22:04:52 +00:00
Memory.h Remove lld/Support/Memory.h. 2016-12-18 14:06:06 +00:00
Mips.cpp [ELF][MIPS] N32 ABI support 2016-11-05 22:58:01 +00:00
Options.td ELF: Add cache pruning support. 2017-03-17 02:24:16 +00:00
OutputSections.cpp [ELF] - Recommit "[ELF] - Make Bss and BssRelRo sections to be synthetic (#3)." 2017-03-17 10:14:53 +00:00
OutputSections.h [ELF] - Recommit "[ELF] - Make Bss and BssRelRo sections to be synthetic (#3)." 2017-03-17 10:14:53 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp recommend using llvm-ar when finding undefined references and empty archives 2017-03-17 21:32:49 +00:00
Relocations.h Finalize content of synthetic sections prior to Thunk Creation 2017-03-08 14:06:24 +00:00
ScriptLexer.cpp Handle ":" as a regular token character in linker scripts. 2017-03-09 19:23:00 +00:00
ScriptLexer.h Handle ":" as a regular token character in linker scripts. 2017-03-09 19:23:00 +00:00
Strings.cpp [ELF] __cxa_demangle is now called itaniumDemangle. Update. 2017-01-17 01:59:13 +00:00
Strings.h Use ArrayRef instead of `const std::vector`. 2016-12-20 23:17:00 +00:00
SymbolTable.cpp Remove DefinedSynthetic. 2017-03-08 22:36:28 +00:00
SymbolTable.h Remove DefinedSynthetic. 2017-03-08 22:36:28 +00:00
Symbols.cpp [ELF] - Detemplate SymbolBody::getGotOffset(). NFC. 2017-03-17 14:12:51 +00:00
Symbols.h [ELF] - Detemplate SymbolBody::getGotOffset(). NFC. 2017-03-17 14:12:51 +00:00
SyntheticSections.cpp [ELF] - Move template instantiations to the end of file. NFC. 2017-03-17 16:50:07 +00:00
SyntheticSections.h [ELF] - Recommit r298078 "[ELF] - Simplify logic of creating "COMMON" section." 2017-03-17 13:31:07 +00:00
Target.cpp [ELF] - Detemplate SymbolBody::getVA and SymbolBody::getPltVA. NFC. 2017-03-17 11:56:54 +00:00
Target.h Merge InputSectionData and InputSectionBase. 2017-02-23 02:32:18 +00:00
Threads.h Update comment to clarify the machine spec. 2016-12-04 02:34:29 +00:00
Thunks.cpp [ELF] - Detemplate SymbolBody::getVA and SymbolBody::getPltVA. NFC. 2017-03-17 11:56:54 +00:00
Thunks.h [ELF] Detemplate ThunkSection and Thunk classes. NFC. 2017-03-16 10:40:50 +00:00
Writer.cpp [ELF] - Recommit r298078 "[ELF] - Simplify logic of creating "COMMON" section." 2017-03-17 13:31:07 +00:00
Writer.h [ELF] - Step to combine LinkerScript and LinkerScriptBase 2017-03-14 09:03:53 +00:00

README.md

See docs/NewLLD.rst