llvm/test/DebugInfo/dwarfdump-dump-gdbindex.test
George Rimar b64f7d8843 [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@282235 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-23 09:09:26 +00:00

36 lines
1.5 KiB
Plaintext

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