diff options
| author | George Rimar <grimar@accesssoftek.com> | 2019-03-05 13:07:43 +0000 |
|---|---|---|
| committer | George Rimar <grimar@accesssoftek.com> | 2019-03-05 13:07:43 +0000 |
| commit | ade3c70537e105029ba600fcb56099c434a9ba0c (patch) | |
| tree | 0cda96fc301b3bbeaa819bdcbd0ac7286e8f9b6c /llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib-header.test | |
| parent | a55999301e2169905ff2359fa17584df05378a01 (diff) | |
| download | bcm5719-llvm-ade3c70537e105029ba600fcb56099c434a9ba0c.tar.gz bcm5719-llvm-ade3c70537e105029ba600fcb56099c434a9ba0c.zip | |
[llvm-objcopy] - Simplify `isCompressable` and fix the issue relative.
When --compress-debug-sections is given, llvm-objcopy do not compress
sections that have "ZLIB" header in data. Normally this signature is used
in zlib-gnu compression format. But if zlib-gnu used then the name of the compressed
section should start from .z* (e.g .zdebug_info). If it does not, then it is not
a zlib-gnu format and section should be treated as a normal uncompressed section.
Differential revision: https://reviews.llvm.org/D58908
llvm-svn: 355399
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib-header.test')
| -rw-r--r-- | llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib-header.test | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib-header.test b/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib-header.test new file mode 100644 index 00000000000..0e7d713aebc --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib-header.test @@ -0,0 +1,41 @@ +# REQUIRES: zlib + +# RUN: yaml2obj %s -o %t1.o +# RUN: llvm-objcopy --compress-debug-sections %t1.o %t2.o +# RUN: llvm-readobj -s %t2.o | FileCheck %s + +# Non-.zdebug* sections whose data does start with "ZLIB" should +# not be considered as zlib-gnu compressed sections. + +# In this test we have 2 normal sections, one of them starts with "ZLIB", +# another starts with "ZZZZ". Check we compress both as expected. + +# CHECK: Name: .debug_foo +# CHECK-NEXT: Type: SHT_PROGBITS +# CHECK-NEXT: Flags [ +# CHECK-NEXT: SHF_COMPRESSED +# CHECK-NEXT: ] + +# CHECK: Name: .debug_bar +# CHECK-NEXT: Type: SHT_PROGBITS +# CHECK-NEXT: Flags [ +# CHECK-NEXT: SHF_COMPRESSED +# CHECK-NEXT: ] + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .debug_foo + Type: SHT_PROGBITS + AddressAlign: 0x0000000000000001 + # "ZLIB" + Content: 5A4C49420000000000000000 + - Name: .debug_bar + Type: SHT_PROGBITS + AddressAlign: 0x0000000000000001 + # "ZZZZ" + Content: 5A5A5A5A0000000000000000 |

