llvm-project/lld/ELF
George Rimar 92e93fb4ba [ELF] - Basic support of linkerscript commands: DATA_SEGMENT_ALIGN, DATA_SEGMENT_END, CONSTANT
It is called basic because:

CONSTANT expression can refer to COMMONPAGESIZE and MAXPAGESIZE.
This sizes are usually different and used for possible optimization of
memory consumption. 
More details are here: https://sourceware.org/ml/binutils/2002-02/msg00265.html
We currently do not support this optimization, so both CONSTANT(MAXPAGESIZE)
and CONSTANT(COMMONPAGESIZE) just return Target->PageSize value.

DATA_SEGMENT_ALIGN and DATA_SEGMENT_END are used as a part of opt.
The latter one is just ignored now.
According to documentation DATA_SEGMENT_ALIGN has 2 possible
calculation, but since we do not support mentioned opt - it 
is always calculated now as (ALIGN(MAXPAGESIZE) + (. & (MAXPAGESIZE - 1))).

In general this should work for now until we deside to support this opt.

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

llvm-svn: 276323
2016-07-21 19:48:00 +00:00
..
CMakeLists.txt Recommit R274836 Add Thunk support framework for ARM and Mips 2016-07-08 16:10:27 +00:00
Config.h Remove dead code. 2016-07-17 18:27:17 +00:00
Driver.cpp Simplify symbol version handling. 2016-07-21 13:13:21 +00:00
Driver.h Create version.txt in a reproduce archive file. 2016-06-06 15:34:37 +00:00
DriverUtils.cpp Attempt to unbreak Windows bot. 2016-07-16 19:16:15 +00:00
EhFrame.cpp ELF: Handle empty CIE augmentation string 2016-05-25 14:45:28 +00:00
EhFrame.h Create a new file EhFrame.cpp and move code to read .eh_frame there. 2016-05-24 02:55:45 +00:00
Error.cpp Delete dead code. 2016-07-18 18:24:41 +00:00
Error.h ELF: Make check() always return a value. 2016-07-15 02:01:03 +00:00
ICF.cpp Do not pass Symtab to markLive/doICF since Symtab is globally accessible. 2016-05-02 19:30:42 +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 Implement almost-zero-cost --trace-symbol. 2016-07-17 17:50:09 +00:00
InputFiles.h ELF: Include filenames in error messages. 2016-07-15 20:38:28 +00:00
InputSection.cpp Delete SplitInputSection. 2016-07-21 13:32:37 +00:00
InputSection.h Delete SplitInputSection. 2016-07-21 13:32:37 +00:00
LTO.cpp Add a pointer to a source file to SymbolBody. 2016-07-17 03:11:46 +00:00
LTO.h ELF: Remove member variables that are used only in one function. 2016-07-15 03:06:42 +00:00
LinkerScript.cpp [ELF] - Basic support of linkerscript commands: DATA_SEGMENT_ALIGN, DATA_SEGMENT_END, CONSTANT 2016-07-21 19:48:00 +00:00
LinkerScript.h [ELF] - Cleanup of LinkerScript<ELFT>::assignAddresses() 2016-07-21 16:07:40 +00:00
MarkLive.cpp Pass section by reference. NFC. 2016-07-18 16:05:09 +00:00
Options.td [ELF] Support for setting the base address 2016-07-12 19:37:53 +00:00
OutputSections.cpp Create thunks before regular relocation scan. 2016-07-20 17:58:07 +00:00
OutputSections.h Simplify output section ownership. 2016-07-20 17:19:03 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp [ELF] - Fixed 3 testases failtures on win32 configuration. 2016-07-21 15:35:06 +00:00
Relocations.h Create thunks before regular relocation scan. 2016-07-20 17:58:07 +00:00
ScriptParser.cpp Create Strings.cpp and move string manipulation functions to that file. 2016-06-29 08:01:32 +00:00
ScriptParser.h Create Strings.cpp and move string manipulation functions to that file. 2016-06-29 08:01:32 +00:00
Strings.cpp Move demangle() from Symbols.cpp to Strings.cpp. 2016-07-07 23:04:15 +00:00
Strings.h Move demangle() from Symbols.cpp to Strings.cpp. 2016-07-07 23:04:15 +00:00
SymbolListFile.cpp Use skip() instead of peek() and expect(). 2016-07-16 18:45:23 +00:00
SymbolListFile.h [ELF] - Add Id field to Version struct. 2016-07-12 07:44:40 +00:00
SymbolTable.cpp Simplify symbol version handling. 2016-07-21 13:13:21 +00:00
SymbolTable.h Simplify symbol version handling. 2016-07-21 13:13:21 +00:00
Symbols.cpp Simplify symbol version handling. 2016-07-21 13:13:21 +00:00
Symbols.h Simplify symbol version handling. 2016-07-21 13:13:21 +00:00
Target.cpp ELF/AMDGPU: Add support for R_AMDGPU_ABS32 2016-07-21 15:30:13 +00:00
Target.h Create thunks before regular relocation scan. 2016-07-20 17:58:07 +00:00
Thunks.cpp Simplify. NFC. 2016-07-12 23:28:30 +00:00
Thunks.h Attempt to fix buildbots. 2016-07-09 23:02:37 +00:00
Writer.cpp [ELF] - Linkerscript: add InputSectionDescription command to LS parser. 2016-07-21 14:26:59 +00:00
Writer.h Instantiate Interp output section only when needed. 2016-07-21 11:01:23 +00:00

README.md

See docs/NewLLD.rst