summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit7400a979521a70be4d69071271e4543014fbfcf5 (patch)
tree8ec8ed8cb7e1915b48136bb97b292a0ed8f45efe /llvm/test
parent70bd1fd22f801fab4b01d7e0dd22d6fb927c8fcf (diff)
downloadbcm5719-llvm-7400a979521a70be4d69071271e4543014fbfcf5.tar.gz
bcm5719-llvm-7400a979521a70be4d69071271e4543014fbfcf5.zip
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. llvm-svn: 204958
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/ELF/compression.s18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/MC/ELF/compression.s b/llvm/test/MC/ELF/compression.s
new file mode 100644
index 00000000000..0293a3c9c57
--- /dev/null
+++ b/llvm/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
OpenPOWER on IntegriCloud