summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/DebugInfo/Inputs/dwarfdump-decompression-invalid-size.elf-x86-64bin0 -> 6853 bytes
-rw-r--r--llvm/test/DebugInfo/dwarfdump-decompression-invalid-size.test13
2 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/DebugInfo/Inputs/dwarfdump-decompression-invalid-size.elf-x86-64 b/llvm/test/DebugInfo/Inputs/dwarfdump-decompression-invalid-size.elf-x86-64
new file mode 100644
index 00000000000..7e6efcf1f5b
--- /dev/null
+++ b/llvm/test/DebugInfo/Inputs/dwarfdump-decompression-invalid-size.elf-x86-64
Binary files differ
diff --git a/llvm/test/DebugInfo/dwarfdump-decompression-invalid-size.test b/llvm/test/DebugInfo/dwarfdump-decompression-invalid-size.test
new file mode 100644
index 00000000000..967e7ce6186
--- /dev/null
+++ b/llvm/test/DebugInfo/dwarfdump-decompression-invalid-size.test
@@ -0,0 +1,13 @@
+// dwarfdump-decompression-invalid-size.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. Decompressed size of
+// .debug_frame section was changed to 0xffffffffffffffff in compression
+// header.
+RUN: not llvm-dwarfdump %p/Inputs/dwarfdump-decompression-invalid-size.elf-x86-64 2>&1 | FileCheck %s
+
+CHECK: decompression of '.debug_frame' failed: unable to allocate 18446744073709551615 bytes.
OpenPOWER on IntegriCloud