summaryrefslogtreecommitdiff
path: root/test/DebugInfo/dwarfdump-dump-gdbindex.test
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2016-09-23 11:01:53 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2016-09-23 11:01:53 +0000
commit582d1a13f3eae2a3a759c026f387e99fc227d8a9 (patch)
tree2b075a66db24322444db70074041bd2e53ad8c84 /test/DebugInfo/dwarfdump-dump-gdbindex.test
parent53a7de61aaf08b8d048b149204eaecf79df6e43d (diff)
Revert r282238 "Revert r282235 "[llvm-dwarfdump] - Teach dwarfdump to dump gdb-index section.""
Build bot issues (http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/15856/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3Adwarfdump-dump-gdbindex.test) should be fixed in that version. Issue was that MSVS does not support "%zu". Though it works fine on MSCS 2015, Bot looks running MSVS 2013 that does not like it. MSDN also says that "z" prefix is not supported: https://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx I had to use PRId64 instead. Original commit message: [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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282239 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/DebugInfo/dwarfdump-dump-gdbindex.test')
-rw-r--r--test/DebugInfo/dwarfdump-dump-gdbindex.test35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/DebugInfo/dwarfdump-dump-gdbindex.test b/test/DebugInfo/dwarfdump-dump-gdbindex.test
new file mode 100644
index 00000000000..7bdf6ed0c5d
--- /dev/null
+++ b/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