diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-06-19 21:37:13 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-06-19 21:37:13 +0000 |
commit | 3df7d2f70bb316ebeec8a8c862b3da5386fbb145 (patch) | |
tree | efdb44c6da2587da53aee3079c914e688692fc13 /test | |
parent | ba54bca472a15d0657e1b88776f7069042b60b4e (diff) | |
download | llvm-3df7d2f70bb316ebeec8a8c862b3da5386fbb145.tar.gz llvm-3df7d2f70bb316ebeec8a8c862b3da5386fbb145.tar.bz2 llvm-3df7d2f70bb316ebeec8a8c862b3da5386fbb145.tar.xz |
llvm-dwarfdump: Add support for dumping the .debug_loc section
This is a basic implementation - we still don't have any support (that I
know of) for dumping DWARF expressions in a meaningful way, so the
location information itself is just printed as a sequence of bytes as we
do elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184361 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp | 13 | ||||
-rw-r--r-- | test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o | bin | 0 -> 2604 bytes | |||
-rw-r--r-- | test/DebugInfo/dwarfdump-debug-loc-simple.test | 26 |
3 files changed, 39 insertions, 0 deletions
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp new file mode 100644 index 0000000000..04a0b20cc2 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp @@ -0,0 +1,13 @@ +// clang -c -g -o dwarfdump-test-loc-list-32bit.elf.o -m32 dwarfdump-test-loc-list-32bit.elf.cpp + +namespace pr14763 { +struct foo { + foo(const foo&); +}; + +foo func(bool b, foo f, foo g) { + if (b) + return f; + return g; +} +} diff --git a/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o Binary files differnew file mode 100644 index 0000000000..25d10b9809 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o diff --git a/test/DebugInfo/dwarfdump-debug-loc-simple.test b/test/DebugInfo/dwarfdump-debug-loc-simple.test new file mode 100644 index 0000000000..f38be6dc8f --- /dev/null +++ b/test/DebugInfo/dwarfdump-debug-loc-simple.test @@ -0,0 +1,26 @@ +RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-loc-list-32bit.elf.o | FileCheck %s +Note: the input file was generated from Inputs/dwarfdump-test-loc-list-32bit.elf.cpp + +CHECK: .debug_info +CHECK: DW_AT_name{{.*}}"f" +CHECK: DW_AT_location{{.*}}([[F_LOC:0x[0-9a-f]*]]) +CHECK: DW_AT_name{{.*}}"g" +CHECK: DW_AT_location{{.*}}([[G_LOC:0x[0-9a-f]*]]) +CHECK: .debug_loc contents: +CHECK-NEXT: [[F_LOC]]: Begining address offset: 0x0000000000000000 +CHECK-NEXT: Ending address offset: 0x0000000000000023 +this is actually the wrong location due to PR14763, but that doesn't matter for +the purposes of testing dwarfdump +CHECK-NEXT: Location description: 51 +CHECK-NEXT: {{^$}} +CHECK-NEXT: Begining address offset: 0x0000000000000023 +CHECK-NEXT: Ending address offset: 0x000000000000005d +CHECK-NEXT: Location description: 75 70 +CHECK-NEXT: {{^$}} +CHECK-NEXT: [[G_LOC]]: Begining address offset: 0x0000000000000000 +CHECK-NEXT: Ending address offset: 0x0000000000000020 +CHECK-NEXT: Location description: 50 +CHECK-NEXT: {{^$}} +CHECK-NEXT: Begining address offset: 0x0000000000000020 +CHECK-NEXT: Ending address offset: 0x000000000000005d +CHECK-NEXT: Location description: 75 74 |