summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2016-09-23 09:09:26 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2016-09-23 09:09:26 +0000
commita77bcf5e42e3a31508f8a261935d14dc35353ed8 (patch)
treeab5366ae87cab418480dc7939466194e277996fa /llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test
parent355103f6c0f869028f3739cea663dddaaa08da48 (diff)
downloadbcm5719-llvm-a77bcf5e42e3a31508f8a261935d14dc35353ed8.tar.gz
bcm5719-llvm-a77bcf5e42e3a31508f8a261935d14dc35353ed8.zip
[llvm-dwarfdump] - Teach dwarfdump to dump gdb-index section.
gold linker's --gdb-index option currently is able to create the .gdb_index section that allows GDB to locate and read the .dwo files as it needs them, this helps reduce the total size of the object files processed by the linker. More info about that: https://gcc.gnu.org/wiki/DebugFission https://sourceware.org/gdb/onlinedocs/gdb/Index-Section-Format.html Patch teaches dwarfdump tool to dump this section. Differential revision: https://reviews.llvm.org/D21503 llvm-svn: 282235
Diffstat (limited to 'llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test')
-rw-r--r--llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test35
1 files changed, 35 insertions, 0 deletions
diff --git a/llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test b/llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test
new file mode 100644
index 00000000000..7bdf6ed0c5d
--- /dev/null
+++ b/llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test
@@ -0,0 +1,35 @@
+RUN: llvm-dwarfdump -debug-dump=gdb_index %p/Inputs/dwarfdump-gdbindex-v7.elf-x86-64 | FileCheck %s
+
+; test.cpp:
+; int main() { return 0; }
+; test2.cpp:
+; int main2() { return 0; }
+; Compiled with:
+; gcc -gsplit-dwarf -c test.cpp test2.cpp
+; gold --gdb-index test.o test2.o -o dwarfdump-gdbindex-v7.elf-x86-64
+; gcc version 5.3.1 20160413, GNU gold (GNU Binutils for Ubuntu 2.26) 1.11
+; Info about gdb-index: https://sourceware.org/gdb/onlinedocs/gdb/Index-Section-Format.html
+
+; CHECK-LABEL: .gnu_index contents:
+; CHECK: Version = 7
+
+; CHECK: CU list offset = 0x18, has 2 entries:
+; CHECK-NEXT: 0: Offset = 0x0, Length = 0x34
+; CHECK-NEXT: 1: Offset = 0x34, Length = 0x34
+
+; CHECK: Address area offset = 0x38, has 2 entries:
+; CHECK-NEXT: Low address = 0x4000e8, High address = 0x4000f3, CU index = 0
+; CHECK-NEXT: Low address = 0x4000f3, High address = 0x4000fe, CU index = 1
+
+; CHECK: Symbol table offset = 0x60, size = 1024, filled slots:
+; CHECK-NEXT: 489: Name offset = 0x1d, CU vector offset = 0x0
+; CHECK-NEXT: String name: main, CU vector index: 0
+; CHECK-NEXT: 754: Name offset = 0x22, CU vector offset = 0x8
+; CHECK-NEXT: String name: int, CU vector index: 1
+; CHECK-NEXT: 956: Name offset = 0x26, CU vector offset = 0x14
+; CHECK-NEXT: String name: main2, CU vector index: 2
+
+; CHECK: Constant pool offset = 0x2060, has 3 CU vectors:
+; CHECK-NEXT: 0(0x0): 0x30000000
+; CHECK-NEXT: 1(0x8): 0x90000000 0x90000001
+; CHECK-NEXT: 2(0x14): 0x30000001
OpenPOWER on IntegriCloud