llvm-project/lld/ELF
Rafael Espindola 02ed7575e7 Simplify the header allocation.
In the non linker script case we would try very early to find out if
we could allocate the headers. Failing to do that would add extra
alignment to the first ro section, since we would set PageAlign
thinking it was the first section in the PT_LOAD.

In the linker script case the header allocation must be done in the
end, causing some duplication.

We now tentatively add the headers to the first PT_LOAD and if it
turns out they don't fit, remove them. With this we only need to
allocate the headers in one place in the code.

llvm-svn: 302186
2017-05-04 19:34:17 +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 Accept archive files with no symbol table instad of warning on them. 2017-05-03 21:03:08 +00:00
Driver.cpp Remove a comment that is no longer true. 2017-05-03 23:10:33 +00:00
Driver.h Remove a dead function declaration. 2017-05-02 22:42:24 +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 Flush output in log() 2017-04-28 21:35:02 +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 Reduce code duplication. NFC. 2017-05-04 14:54:48 +00:00
InputFiles.h Reduce code duplication. NFC. 2017-05-04 14:54:48 +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 Revert r301897, "ELF: Set symbol binding to STB_GLOBAL when undefining symbols during LTO." 2017-05-03 19:23:30 +00:00
LTO.h ELF: Add ThinLTO caching support. 2017-03-01 23:00:10 +00:00
LinkerScript.cpp Simplify the header allocation. 2017-05-04 19:34:17 +00:00
LinkerScript.h Simplify the header allocation. 2017-05-04 19:34:17 +00:00
MapFile.cpp Fix comments. 2017-04-30 20:58:20 +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 Ignore -no-keep-memory. 2017-04-30 13:45:06 +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 Accept archive files with no symbol table instad of warning on them. 2017-05-03 21:03:08 +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 Reduce code duplication. NFC. 2017-05-04 14:54:48 +00:00
SymbolTable.h [ELF] - Implemented --defsym option. 2017-04-26 10:40:02 +00:00
Symbols.cpp Reduce code duplication. NFC. 2017-05-04 14:54:48 +00:00
Symbols.h Add "1" suffix if there's varaible ends with "2". 2017-04-13 21:37:56 +00:00
SyntheticSections.cpp Avoid empty .eh_frame sections. 2017-05-02 15:45:31 +00:00
SyntheticSections.h Replace uintX_t with uint64_t. 2017-04-14 01:34:45 +00:00
Target.cpp Remove _NC suffix from ELF relocations TLSDESC_{LD64,ADD}_LO12 2017-05-02 22:01:30 +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 Simplify the header allocation. 2017-05-04 19:34:17 +00:00
Writer.h Simplify the header allocation. 2017-05-04 19:34:17 +00:00

README.md

See docs/NewLLD.rst