aboutsummaryrefslogtreecommitdiff
path: root/test/DebugInfo/dwarfdump-decompression-error.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/DebugInfo/dwarfdump-decompression-error.test')
-rw-r--r--test/DebugInfo/dwarfdump-decompression-error.test15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/DebugInfo/dwarfdump-decompression-error.test b/test/DebugInfo/dwarfdump-decompression-error.test
new file mode 100644
index 000000000000..184833164dc9
--- /dev/null
+++ b/test/DebugInfo/dwarfdump-decompression-error.test
@@ -0,0 +1,15 @@
+REQUIRES: zlib
+
+// dwarfdump-decompression-error.elf-x86-64 is prepared using following
+// source code and invocation:
+// test.cpp:
+// int main() { return 0; }
+//
+// gcc test.cpp -o out -g -Wl,--compress-debug-sections,zlib
+//
+// After that result object was modified manually. One random byte in compressed
+// content of .debug_info section was changed to 0xff. That breaks normal
+// decompression flow in runtime.
+RUN: llvm-dwarfdump %p/Inputs/dwarfdump-decompression-error.elf-x86-64 2>&1 | FileCheck %s
+
+CHECK: error: failed to decompress '.debug_info', zlib error: Z_DATA_ERROR