llvm-project/lld/ELF
Rafael Espindola b3bc1ed0d4 Remove LinkerScript::flush.
This patch replaces flush with a last ditch attempt at synchronizing
the section list with the linker script "AST".

The synchronization is a bit of a hack and should in time be avoided
by creating the AST earlier so that modifications can be made directly
to it instead of modifying the section list and synchronizing it back.

This is the main step for fixing
https://bugs.llvm.org/show_bug.cgi?id=32816. With this in place I
think the only missing thing would be to have processCommands assign
section indexes as dummy offsets so that the sort in
OutputSection::finalize works.

With this LinkerScript::assignAddresses becomes much simpler, which
should help with the thunk work.

llvm-svn: 301678
2017-04-28 20:22:47 +00:00
..
CMakeLists.txt Move the parser for the linker script to a separate file. 2017-04-05 05:07:39 +00:00
Config.h [ELF] - Implemented --compress-debug-sections option. 2017-04-17 08:58:12 +00:00
Driver.cpp Do flag compatibility check in checkOptions. NFC. 2017-04-26 21:27:33 +00:00
Driver.h [lld] Keep full library path in DT_NEEDED. 2017-04-12 00:13:48 +00:00
DriverUtils.cpp Sort. 2017-03-27 03:42:55 +00:00
EhFrame.cpp Change the error format to report corrupted .eh_frame. 2017-04-01 01:42:20 +00:00
EhFrame.h Convert InputSectionBase to a class. 2017-02-23 02:28:28 +00:00
Error.cpp Change the error message format for undefined symbols. 2017-03-30 19:13:47 +00:00
Error.h Update comments. 2017-03-30 22:57:49 +00:00
Filesystem.cpp Make LLD work even if the current directory is not writable. 2017-04-26 16:15:07 +00:00
Filesystem.h Move code to emit error messages from Filesystem.cpp to Driver.cpp. 2017-04-26 16:14:46 +00:00
GdbIndex.cpp Remove a comment that is taken from gdb man page. 2017-03-29 00:09:40 +00:00
GdbIndex.h Split GdbIndexBuilder class into non-member functions. 2017-03-01 22:54:50 +00:00
ICF.cpp [ELF] Mark ARM Exceptions that refer to folded code as not live 2017-04-13 08:52:58 +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 Use toString(Inputfile*) to format a file object. 2017-04-28 20:00:09 +00:00
InputFiles.h Removes createELFFile which takes a template class as a template parameter. 2017-04-26 22:51:51 +00:00
InputSection.cpp Use toString(Inputfile*) to format a file object. 2017-04-28 20:00:09 +00:00
InputSection.h Change the error message format for undefined symbols. 2017-03-30 19:13:47 +00:00
LTO.cpp LTO: Replace InputFile::Symbol::getFlags() with predicate accessors. NFC. 2017-03-28 22:31:35 +00:00
LTO.h ELF: Add ThinLTO caching support. 2017-03-01 23:00:10 +00:00
LinkerScript.cpp Remove LinkerScript::flush. 2017-04-28 20:22:47 +00:00
LinkerScript.h Remove LinkerScript::flush. 2017-04-28 20:22:47 +00:00
MapFile.cpp Remove trailing whitespace from the -Map output. 2017-04-28 18:54:08 +00:00
MapFile.h Merge OutputSectionBase and OutputSection. NFC. 2017-02-24 15:07:30 +00:00
MarkLive.cpp [ELF] - Combine LinkerScriptBase and LinkerScript<ELFT> 2017-03-20 10:09:58 +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] - Implemented --defsym option. 2017-04-26 10:40:02 +00:00
OutputSections.cpp Create an OutputSection for each non-empty OutputSectionCommand. 2017-04-26 22:30:15 +00:00
OutputSections.h Create an OutputSection for each non-empty OutputSectionCommand. 2017-04-26 22:30:15 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp [ELF] Tidy up handleARMTlsRelocation [NFC] 2017-04-13 10:56:40 +00:00
Relocations.h [ELF] Make createThunks a class [NFC] 2017-04-05 10:30:09 +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
ScriptParser.cpp Rename readOutputSectionFiller parseFill. 2017-04-13 23:40:19 +00:00
ScriptParser.h Move the parser for the linker script to a separate file. 2017-04-05 05:07:39 +00:00
Strings.cpp [ELF] __cxa_demangle is now called itaniumDemangle. Update. 2017-01-17 01:59:13 +00:00
Strings.h Simplify BinaryFile::parse and add comments. 2017-04-27 04:01:36 +00:00
SymbolTable.cpp Removes createELFFile which takes a template class as a template parameter. 2017-04-26 22:51:51 +00:00
SymbolTable.h [ELF] - Implemented --defsym option. 2017-04-26 10:40:02 +00:00
Symbols.cpp Remove a useless temporary variable. 2017-04-24 23:50:58 +00:00
Symbols.h Add "1" suffix if there's varaible ends with "2". 2017-04-13 21:37:56 +00:00
SyntheticSections.cpp Recommend users use readelf instead of objdump to dump .comment contents. 2017-04-27 04:50:08 +00:00
SyntheticSections.h Replace uintX_t with uint64_t. 2017-04-14 01:34:45 +00:00
Target.cpp [ELF] - Remove dead TLS relocations relative code for MIPS and ARM 2017-04-26 14:48:36 +00:00
Target.h [ELF] - Stop producing broken output for R_386_GOT32[X] relocations. 2017-04-08 06:14:14 +00:00
Threads.h Update comments. 2017-03-24 00:15:57 +00:00
Thunks.cpp [ELF] Rename ARM Thunks in anticipation of Range Thunks 2017-04-04 09:29:36 +00:00
Thunks.h [ELF] Detemplate ThunkSection and Thunk classes. NFC. 2017-03-16 10:40:50 +00:00
Writer.cpp Remove LinkerScript::flush. 2017-04-28 20:22:47 +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