blob: 2ff13eb4cf0364b7fa742cc6116e126a17e6ba21 [file] [log] [blame]
Adrian Prantl8e66c2e2017-09-11 22:59:45 +00001RUN: llvm-dwarfdump -gdb-index %p/Inputs/dwarfdump-gdbindex-v7.elf-x86-64 | FileCheck %s
George Rimar582d1a12016-09-23 11:01:53 +00002
3; test.cpp:
4; int main() { return 0; }
5; test2.cpp:
6; int main2() { return 0; }
7; Compiled with:
8; gcc -gsplit-dwarf -c test.cpp test2.cpp
9; gold --gdb-index test.o test2.o -o dwarfdump-gdbindex-v7.elf-x86-64
10; gcc version 5.3.1 20160413, GNU gold (GNU Binutils for Ubuntu 2.26) 1.11
11; Info about gdb-index: https://sourceware.org/gdb/onlinedocs/gdb/Index-Section-Format.html
12
Fangrui Songe29a02a2018-11-02 20:34:40 +000013; CHECK-LABEL: .gdb_index contents:
George Rimar582d1a12016-09-23 11:01:53 +000014; CHECK: Version = 7
15
16; CHECK: CU list offset = 0x18, has 2 entries:
17; CHECK-NEXT: 0: Offset = 0x0, Length = 0x34
18; CHECK-NEXT: 1: Offset = 0x34, Length = 0x34
19
20; CHECK: Address area offset = 0x38, has 2 entries:
George Rimar0fcdd9b2017-04-27 10:00:13 +000021; CHECK-NEXT: Low/High address = [0x4000e8, 0x4000f3) (Size: 0xb), CU id = 0
22; CHECK-NEXT: Low/High address = [0x4000f3, 0x4000fe) (Size: 0xb), CU id = 1
George Rimar582d1a12016-09-23 11:01:53 +000023
24; CHECK: Symbol table offset = 0x60, size = 1024, filled slots:
25; CHECK-NEXT: 489: Name offset = 0x1d, CU vector offset = 0x0
26; CHECK-NEXT: String name: main, CU vector index: 0
27; CHECK-NEXT: 754: Name offset = 0x22, CU vector offset = 0x8
28; CHECK-NEXT: String name: int, CU vector index: 1
29; CHECK-NEXT: 956: Name offset = 0x26, CU vector offset = 0x14
30; CHECK-NEXT: String name: main2, CU vector index: 2
31
32; CHECK: Constant pool offset = 0x2060, has 3 CU vectors:
33; CHECK-NEXT: 0(0x0): 0x30000000
34; CHECK-NEXT: 1(0x8): 0x90000000 0x90000001
35; CHECK-NEXT: 2(0x14): 0x30000001