diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-03-27 20:45:58 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-03-27 20:45:58 +0000 |
commit | 0a0c4cc56f8bb143443894cb5053c418002587b9 (patch) | |
tree | 41769f23203d9fd0ed0895b2809b709887ef7b9a /test | |
parent | 8040d49d85fd0a7c26fdbc2676afe4556d12f15a (diff) | |
download | llvm-0a0c4cc56f8bb143443894cb5053c418002587b9.tar.gz llvm-0a0c4cc56f8bb143443894cb5053c418002587b9.tar.bz2 llvm-0a0c4cc56f8bb143443894cb5053c418002587b9.tar.xz |
DebugInfo: Support for compressed debug info sections
1) When creating a .debug_* section and instead create a .zdebug_
section.
2) When creating a fragment in a .zdebug_* section, make it a compressed
fragment.
3) When computing the size of a compressed section, compress the data
and use the size of the compressed data.
4) Emit the compressed bytes.
Also, check that only if a section has a compressed fragment, then that
is the only fragment in the section.
Assert-fail if the fragment's data is modified after it is compressed.
Initial review on llvm-commits by Eric Christopher and Rafael Espindola.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204958 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/ELF/compression.s | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/MC/ELF/compression.s b/test/MC/ELF/compression.s new file mode 100644 index 0000000000..0293a3c9c5 --- /dev/null +++ b/test/MC/ELF/compression.s @@ -0,0 +1,18 @@ +// RUN: llvm-mc -filetype=obj -compress-debug-sections -triple x86_64-pc-linux-gnu %s -o - | llvm-objdump -s - | FileCheck %s + +// CHECK: Contents of section .zdebug_line: +// Check for the 'ZLIB' file magic at the start of the section +// CHECK-NEXT: ZLIB +// We shouldn't compress the debug_frame section, since it can be relaxed +// CHECK: Contents of section .debug_frame +// CHECK-NOT: ZLIB + + .section .debug_line,"",@progbits + .text +foo: + .cfi_startproc + .file 1 "Driver.ii" + .loc 1 2 0 + nop + .cfi_endproc + .cfi_sections .debug_frame |