Third Attempt:
- Alignment issues resolved.
- zlib::isAvailable() detected.
- ArrayRef misuse fixed.
Usage:
llvm-objcopy --compress-debug-sections=zlib foo.o
llvm-objcopy --compress-debug-sections=zlib-gnu foo.o
In both cases the debug section contents is compressed with zlib. In the GNU
style case the header is the "ZLIB" magic string followed by the uint64 big-
endian decompressed size. In the non-GNU mode the header is the
Elf(32|64)_Chdr.
Decompression support is coming soon.
Differential Revision: https://reviews.llvm.org/D49678
llvm-svn: 341635
22 lines
580 B
YAML
22 lines
580 B
YAML
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .debug_foo
|
|
Type: SHT_PROGBITS
|
|
Content: 0000000000000000
|
|
- Name: .notdebug_foo
|
|
Type: SHT_PROGBITS
|
|
Content: 0000000000000000
|
|
- Name: .rela.debug_foo
|
|
Type: SHT_RELA
|
|
Info: .debug_foo
|
|
Relocations:
|
|
- Offset: 0x1
|
|
Symbol: .debug_foo
|
|
Type: R_X86_64_32
|
|
...
|