aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-02-06 20:55:06 +0000
committerEli Bendersky <eliben@google.com>2013-02-06 20:55:06 +0000
commit62b055fd5060a865e106c319b75884237a3999b3 (patch)
treefbe28a6a81d59bd2723819d964fbc89109ae50f8
parent16221a60a00e52b078f6164ba4475c6e8e918e4b (diff)
downloadexternal_llvm-62b055fd5060a865e106c319b75884237a3999b3.zip
external_llvm-62b055fd5060a865e106c319b75884237a3999b3.tar.gz
external_llvm-62b055fd5060a865e106c319b75884237a3999b3.tar.bz2
Add a test for checking the current .debug_frame dumping capability.
The test is a binary placed in test/DebugInfo/Inputs, with a source C file used for reference/reproducing. The source's first line is a clang build command for reproducing the binary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174543 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.c14
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.obin0 -> 2432 bytes
-rw-r--r--test/DebugInfo/dwarfdump-debug-frame-simple.test14
3 files changed, 28 insertions, 0 deletions
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.c b/test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.c
new file mode 100644
index 0000000..708e037
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.c
@@ -0,0 +1,14 @@
+// clang -c -g -o dwarfdump-test-32bit.elf.o -m32 dwarfdump-test-32bit.elf.c
+
+extern int glob;
+
+int foo(int arg) {
+ int a = arg * 2;
+ return a + glob;
+}
+
+int bar(int arg) {
+ int a = foo(arg) * foo(arg * 2);
+ return glob - foo(a);
+}
+
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.o b/test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.o
new file mode 100644
index 0000000..817665e
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-test-32bit.elf.o
Binary files differ
diff --git a/test/DebugInfo/dwarfdump-debug-frame-simple.test b/test/DebugInfo/dwarfdump-debug-frame-simple.test
new file mode 100644
index 0000000..65e650f
--- /dev/null
+++ b/test/DebugInfo/dwarfdump-debug-frame-simple.test
@@ -0,0 +1,14 @@
+; RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-32bit.elf.o -debug-dump=frames | FileCheck %s -check-prefix FRAMES
+
+; FRAMES: .debug_frame
+; FRAMES-NOT: .eh_frame
+
+; FRAMES: 00000000 00000010 ffffffff CIE
+; FRAMES: Version: 1
+
+; FRAMES: 00000014 00000010 00000000 FDE cie=00000000 pc=00000000...00000022
+; FRAMES: 00000028 00000014 00000000 FDE cie=00000000 pc=00000030...00000080
+
+; FRAMES-NOT: CIE
+; FRAMES-NOT: FDE
+