llvm-project/lld/ELF
Peter Collingbourne feb6629d6d ELF: Reserve space for copy relocations of read-only symbols in relro.
When reserving copy relocation space for a shared symbol, scan the DSO's
program headers to see if the symbol is in a read-only segment. If so,
reserve space for that symbol in a new synthetic section named .bss.rel.ro
which will be covered by the relro program header.

This fixes the security issue disclosed on the binutils mailing list at:
https://sourceware.org/ml/libc-alpha/2016-12/msg00914.html

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

llvm-svn: 291524
2017-01-10 01:21:50 +00:00
..
CMakeLists.txt Remove lld/Support/Memory.h. 2016-12-18 14:06:06 +00:00
Config.h Simplify type of Config->SymbolOrderingFile. 2016-12-20 01:51:08 +00:00
Driver.cpp Add linker-script-included files to reproduce tar files. 2017-01-09 01:42:02 +00:00
Driver.h Add linker-script-included files to reproduce tar files. 2017-01-09 01:42:02 +00:00
DriverUtils.cpp Rename lld::stringize -> lld::toString. 2017-01-06 10:04:35 +00:00
EhFrame.cpp Move getLocation from Relocations.cpp to InputSection.cpp. 2016-11-25 18:51:53 +00:00
EhFrame.h [ELF] Print error location in .eh_frame parser 2016-11-23 09:45:17 +00:00
Error.cpp Make getColorDiagnostics return a boolean value instead of an enum. 2016-11-26 15:10:01 +00:00
Error.h Update comment. 2016-11-24 01:44:21 +00:00
GdbIndex.cpp [ELF] - Return file offset as address only for allocatable sections when building .gdb_index 2016-12-23 07:51:59 +00:00
GdbIndex.h [ELF] - Partial support of --gdb-index command line option (Part 3). 2016-12-15 12:07:53 +00:00
ICF.cpp Use "equivalence class" instead of "color" to describe the concept in ICF. 2016-12-05 18:11:35 +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: Discard .gnu.linkonce.* sections. 2017-01-09 20:26:33 +00:00
InputFiles.h Add linker-script-included files to reproduce tar files. 2017-01-09 01:42:02 +00:00
InputSection.cpp Merge elf::toString and coff::toString. 2017-01-06 10:04:08 +00:00
InputSection.h Merge elf::toString and coff::toString. 2017-01-06 10:04:08 +00:00
LTO.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
LTO.h [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
LinkerScript.cpp [ELF] Allow defined symbols to be assigned from linker script 2017-01-09 18:36:57 +00:00
LinkerScript.h [ELF] Linkerscript: print location of undefined symbol usage 2016-12-22 13:13:12 +00:00
MarkLive.cpp Parse relocations only once. 2016-11-10 14:53:24 +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 Make -color-diagnostics an alias to -color-diagnostics=always. 2016-12-22 08:20:28 +00:00
OutputSections.cpp Move code to the .cpp file. NFC. 2017-01-05 14:52:46 +00:00
OutputSections.h ELF: Reserve space for copy relocations of read-only symbols in relro. 2017-01-10 01:21:50 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp ELF: Reserve space for copy relocations of read-only symbols in relro. 2017-01-10 01:21:50 +00:00
Relocations.h Fix compiler warning. 2016-12-16 23:12:58 +00:00
ScriptParser.cpp Simplify ScriptParser. 2016-12-01 04:36:54 +00:00
ScriptParser.h Simplify ScriptParser. 2016-12-01 04:36:54 +00:00
Strings.cpp Use ArrayRef instead of `const std::vector`. 2016-12-20 23:17:00 +00:00
Strings.h Use ArrayRef instead of `const std::vector`. 2016-12-20 23:17:00 +00:00
SymbolTable.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
SymbolTable.h Define a getter function for a lazily-created object. 2016-12-22 05:31:52 +00:00
Symbols.cpp ELF: Reserve space for copy relocations of read-only symbols in relro. 2017-01-10 01:21:50 +00:00
Symbols.h ELF: Reserve space for copy relocations of read-only symbols in relro. 2017-01-10 01:21:50 +00:00
SyntheticSections.cpp ELF: Reserve space for copy relocations of read-only symbols in relro. 2017-01-10 01:21:50 +00:00
SyntheticSections.h [ELF] - Partial support of --gdb-index command line option (Part 3). 2016-12-15 12:07:53 +00:00
Target.cpp Merge elf::toString and coff::toString. 2017-01-06 10:04:08 +00:00
Target.h Merge elf::toString and coff::toString. 2017-01-06 10:04:08 +00:00
Threads.h Update comment to clarify the machine spec. 2016-12-04 02:34:29 +00:00
Thunks.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
Thunks.h Attempt to fix buildbots. 2016-07-09 23:02:37 +00:00
Writer.cpp ELF: Reserve space for copy relocations of read-only symbols in relro. 2017-01-10 01:21:50 +00:00
Writer.h Move a function defintion to make it static. 2016-12-21 00:05:39 +00:00

README.md

See docs/NewLLD.rst