llvm-project/lld/ELF
George Rimar 06ae683620 [ELF] - Linkerscript: reimplemented output sections constrains matching functionality.
Previously filtering that was used worked incorrectly. 
For example for next script it would just remove both sections completely:

SECTIONS { 
. = 0x1000;
.aaa : ONLY_IF_RW { *(.aaa.*) } 
. = 0x2000;
.aaa : ONLY_IF_RO { *(.aaa.*) } 
}

Patch fixes above issues and adds testcase showing the issue. Testcase is a subset of
FreeBSD script which has:

.eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
...
.eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }

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

llvm-svn: 278486
2016-08-12 09:07:57 +00:00
..
CMakeLists.txt Refactor getMipsEFlags. 2016-08-08 19:39:45 +00:00
Config.h [ELF/ARM] Add support for R_ARM_TARGET1 relocation. 2016-08-01 19:28:13 +00:00
Driver.cpp [ELF] Add aarch64elf emulation mode 2016-08-10 08:19:35 +00:00
Driver.h COFF: Implement /linkrepro flag. 2016-07-26 02:00:42 +00:00
DriverUtils.cpp COFF: Implement /linkrepro flag. 2016-07-26 02:00:42 +00:00
EhFrame.cpp [ELF] Allow arbitrary code alignment in .eh_frame 2016-07-29 04:41:38 +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 [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00
InputFiles.h [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00
InputSection.cpp [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00
InputSection.h [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +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] - Linkerscript: reimplemented output sections constrains matching functionality. 2016-08-12 09:07:57 +00:00
LinkerScript.h [ELF] - Linkerscript: reimplemented output sections constrains matching functionality. 2016-08-12 09:07:57 +00:00
MarkLive.cpp Unpollute the global namespace. lld edition. 2016-08-06 13:52:37 +00:00
Mips.cpp [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00
Options.td [ELF] Ignore -g option for compatibility. 2016-08-02 22:14:00 +00:00
OutputSections.cpp [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00
OutputSections.h [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp Really fix invalid EhSectionPiece access. 2016-07-21 21:15:32 +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 Remove dead ctor. 2016-07-30 00:13:30 +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 Unpollute the global namespace. lld edition. 2016-08-06 13:52:37 +00:00
SymbolListFile.h [ELF] - Add Id field to Version struct. 2016-07-12 07:44:40 +00:00
SymbolTable.cpp [ELF] Allows setting section for common symbols in linker script 2016-07-28 19:24:13 +00:00
SymbolTable.h Simplify symbol version handling. 2016-07-21 13:13:21 +00:00
Symbols.cpp [ELF] Symbol assignment within output section description 2016-08-11 07:56:43 +00:00
Symbols.h Remove DefinedCommon::Section. 2016-08-02 01:35:13 +00:00
Target.cpp Add EM_IAMCU support. 2016-08-03 20:15:56 +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 Simplify output section ownership management. 2016-08-12 01:10:17 +00:00
Writer.h [ELF][MIPS] Support .MIPS.abiflags section 2016-08-12 06:28:49 +00:00

README.md

See docs/NewLLD.rst