summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-03-27 20:45:58 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-03-27 20:45:58 +0000
commit0a0c4cc56f8bb143443894cb5053c418002587b9 (patch)
tree41769f23203d9fd0ed0895b2809b709887ef7b9a /test
parent8040d49d85fd0a7c26fdbc2676afe4556d12f15a (diff)
downloadllvm-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.s18
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