2015-11-11 20:28:21 +01:00
|
|
|
RUN: llvm-dwarfdump %p/Inputs/dwarfdump-dwp.x86_64.o | FileCheck %s
|
|
|
|
|
|
|
|
; Testing the following simple dwp file:
|
|
|
|
; a.cpp:
|
|
|
|
; struct foo { };
|
|
|
|
; foo a;
|
|
|
|
; b.cpp:
|
2015-11-12 02:41:52 +01:00
|
|
|
; struct bar { };
|
2015-11-17 01:39:55 +01:00
|
|
|
; bar b() {
|
|
|
|
; }
|
|
|
|
|
2015-11-17 22:08:05 +01:00
|
|
|
; CHECK-LABEL: .debug_info.dwo contents:
|
2015-11-17 01:39:55 +01:00
|
|
|
; CHECK: Compile Unit
|
|
|
|
|
|
|
|
; Verify that the second CU uses the index for its abbrev offset
|
|
|
|
; CHECK: Compile Unit
|
|
|
|
; CHECK-SAME: abbr_offset = 0x0043
|
|
|
|
; CHECK: DW_TAG_compile_unit
|
|
|
|
; CHECK-NOT: DW_TAG
|
2015-11-17 23:39:23 +01:00
|
|
|
; CHECK: DW_AT_name {{.*}} "b.cpp"
|
2015-11-17 01:39:55 +01:00
|
|
|
|
|
|
|
; Verify that abbreviations are decoded using the abbrev offset in the index
|
|
|
|
; CHECK: DW_TAG_structure_type
|
2015-11-17 22:08:05 +01:00
|
|
|
; CHECK: DW_TAG_subprogram
|
|
|
|
|
|
|
|
; CHECK-LABEL: .debug_types.dwo contents:
|
|
|
|
; CHECK: Type Unit
|
|
|
|
; CHECK: DW_TAG_type_unit
|
|
|
|
; CHECK: DW_AT_stmt_list {{.*}}(0x00000000)
|
|
|
|
; CHECK: DW_TAG_structure_type
|
|
|
|
; CHECK: DW_AT_decl_file {{.*}} ("a.cpp")
|
|
|
|
; CHECK: Type Unit
|
|
|
|
; CHECK: DW_TAG_type_unit
|
|
|
|
; CHECK: DW_AT_stmt_list {{.*}}(0x00000000)
|
|
|
|
; CHECK: DW_TAG_structure_type
|
|
|
|
; CHECK: DW_AT_decl_file {{.*}} ("b.cpp")
|
2015-11-11 20:28:21 +01:00
|
|
|
|
|
|
|
; CHECK: .debug_cu_index contents:
|
2015-11-13 20:18:49 +01:00
|
|
|
; CHECK-NEXT: version = 2 slots = 16
|
2015-11-17 01:39:55 +01:00
|
|
|
; CHECK: Index Signature INFO ABBREV LINE STR_OFFSETS
|
2015-11-13 20:18:49 +01:00
|
|
|
; CHECK-NEXT: ----- ------------------ ------------------------ ------------------------ ------------------------ ------------------------
|
2015-12-03 19:41:59 +01:00
|
|
|
; CHECK-NEXT: 3 0xfef104c25502f092 [0x0000002d, 0x0000005f) [0x00000043, 0x0000008e) [0x0000001a, 0x00000034) [0x00000010, 0x00000024)
|
|
|
|
; CHECK-NEXT: 9 0x03c30756e2d45008 [0x00000000, 0x0000002d) [0x00000000, 0x00000043) [0x00000000, 0x0000001a) [0x00000000, 0x00000010)
|
2015-11-11 20:40:49 +01:00
|
|
|
|
|
|
|
; CHECK: .debug_tu_index contents:
|
2015-11-13 20:18:49 +01:00
|
|
|
; CHECK-NEXT: version = 2 slots = 16
|
|
|
|
; CHECK: Index Signature TYPES ABBREV LINE STR_OFFSETS
|
|
|
|
; CHECK-NEXT: ----- ------------------ ------------------------ ------------------------ ------------------------ ------------------------
|
2015-12-03 19:41:59 +01:00
|
|
|
; CHECK-NEXT: 9 0x1d02f3be30cc5688 [0x00000024, 0x00000048) [0x00000043, 0x0000008e) [0x0000001a, 0x00000034) [0x00000010, 0x00000024)
|
|
|
|
; CHECK-NEXT: 13 0x3875c0e21cda63fc [0x00000000, 0x00000024) [0x00000000, 0x00000043) [0x00000000, 0x0000001a) [0x00000000, 0x00000010)
|
2015-11-11 20:28:21 +01:00
|
|
|
|
2015-11-17 01:39:55 +01:00
|
|
|
; TODO: use the index section offset info to correctly dump strings in debug info
|
|
|
|
; TODO: use the index section offset info to correctly dump file names in debug info
|