llvm-project/lld/ELF
Rui Ueyama 05384080df Support GNU-style ZLIB-compressed input sections.
Previously, we supported only SHF_COMPRESSED sections because it's
new and it's the ELF standard. But there are object files compressed
in the GNU style out there, so we had to support it.

Sections compressed in the GNU style start with ".zdebug_" and
contain different headers than the ELF standard's one. In this
patch, getRawCompressedData is responsible to handle it.

A tricky thing about GNU-style compressed sections is that we have
to rename them when creating output sections. ".zdebug_" prefix
implies the section is compressed. We need to rename ".zdebug_"
".debug" because our output sections are not compressed.
We do that in this patch.

llvm-svn: 284068
2016-10-12 22:36:31 +00:00
..
CMakeLists.txt [ELF] Add support for -b binary 2016-09-09 22:08:04 +00:00
Config.h Make variable name consistent with other -z options. 2016-10-11 17:46:48 +00:00
Driver.cpp Make variable name consistent with other -z options. 2016-10-11 17:46:48 +00:00
Driver.h Remove unused #includes. 2016-09-29 01:45:22 +00:00
DriverUtils.cpp COFF: Implement /linkrepro flag. 2016-07-26 02:00:42 +00:00
ELFCreator.cpp Update for llvm change. 2016-10-04 22:43:38 +00:00
ELFCreator.h [ELF] Add support for -b binary 2016-09-09 22:08:04 +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 [ELF] - Do not crash when unable to parse ELF object file. 2016-10-07 08:51:57 +00:00
Error.h [ELF] - Do not crash when unable to parse ELF object file. 2016-10-07 08:51:57 +00:00
ICF.cpp Simplify InputFile ownership management. 2016-09-14 00:05:51 +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 [ThinLTO] Avoid archive member collisions. 2016-10-12 19:35:54 +00:00
InputFiles.h [ThinLTO] Avoid archive member collisions. 2016-10-12 19:35:54 +00:00
InputSection.cpp Support GNU-style ZLIB-compressed input sections. 2016-10-12 22:36:31 +00:00
InputSection.h Support GNU-style ZLIB-compressed input sections. 2016-10-12 22:36:31 +00:00
LTO.cpp [LTO] Split the options for ThinLTO jobs and Regular LTO partitions 2016-10-10 23:12:14 +00:00
LTO.h Keep a private member private. 2016-09-29 22:37:45 +00:00
LinkerScript.cpp Support GNU-style ZLIB-compressed input sections. 2016-10-12 22:36:31 +00:00
LinkerScript.h [ELF] Linker script: implement LOADADDR 2016-10-06 09:39:28 +00:00
MarkLive.cpp [ELF][ARM] Garbage collection support for .ARM.exidx sections 2016-10-10 10:10:27 +00:00
Mips.cpp [ELF] - Do not crash on MIPS if there is no object files in input. 2016-10-04 15:19:20 +00:00
Options.td [LTO] Split the options for ThinLTO jobs and Regular LTO partitions 2016-10-10 23:12:14 +00:00
OutputSections.cpp [ELF][ARM] Initial implentation of ARM exceptions support 2016-10-10 09:39:26 +00:00
OutputSections.h [ELF] Linker script: implement LOADADDR 2016-10-06 09:39:28 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp [ELF] Don't fail if undefined symbol is not used 2016-10-06 09:45:04 +00:00
Relocations.h Delete dead field. NFC. 2016-09-07 20:37:34 +00:00
ScriptParser.cpp Recommit [ELF] - Versionscript: do not treat non-wildcarded names as wildcards. 2016-09-09 14:35:36 +00:00
ScriptParser.h Remove dead ctor. 2016-07-30 00:13:30 +00:00
Strings.cpp [ELF] - Linkerscript: implemented SORT_BY_INIT_PRIORITY. 2016-09-15 19:15:12 +00:00
Strings.h Fix old copy-n-paste errors. 2016-09-15 22:26:07 +00:00
SymbolListFile.cpp Recommit [ELF] - Versionscript: do not treat non-wildcarded names as wildcards. 2016-09-09 14:35:36 +00:00
SymbolListFile.h [ELF] - Remove VersionScriptParser class and move the members to ScriptParser 2016-08-31 09:08:26 +00:00
SymbolTable.cpp [ThinLTO] Avoid archive member collisions. 2016-10-12 19:35:54 +00:00
SymbolTable.h [ELF/LTO] Switch to the new resolution-based API. 2016-09-29 00:40:08 +00:00
Symbols.cpp [ThinLTO] Avoid archive member collisions. 2016-10-12 19:35:54 +00:00
Symbols.h [ELF][MIPS] Setup STO_MIPS_PIC flag for PIC symbols when generate a relocatable object 2016-09-29 12:58:36 +00:00
Target.cpp [ELF] Set max page size to 64K for AArch64 2016-10-04 08:58:55 +00:00
Target.h [ELF] Set MAXPAGESIZE to 2MiB on x86-64 to match bfd and gold. 2016-08-17 02:10:51 +00:00
Thunks.cpp Sign extend a value before passing it to the Target. 2016-09-01 13:52:52 +00:00
Thunks.h Attempt to fix buildbots. 2016-07-09 23:02:37 +00:00
Writer.cpp Support GNU-style ZLIB-compressed input sections. 2016-10-12 22:36:31 +00:00
Writer.h Support GNU-style ZLIB-compressed input sections. 2016-10-12 22:36:31 +00:00

README.md

See docs/NewLLD.rst