1 RUN: llvm-dwp %p/../Inputs/simple/a.dwo %p/../Inputs/simple/b.dwo -o %t
2 RUN: llvm-dwarfdump %t | FileCheck %s
4 FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
6 DWP from non-type-unit debug info for these two translation units:
16 CHECK: .debug_abbrev.dwo contents:
17 CHECK: Abbrev table for offset: 0x00000000
18 CHECK: DW_TAG_compile_unit
19 CHECK: DW_TAG_variable
20 CHECK: DW_TAG_structure_type
21 CHECK: Abbrev table for offset: 0x00000031
22 CHECK: DW_TAG_compile_unit
23 CHECK: DW_TAG_structure_type
24 CHECK: DW_TAG_subprogram
25 CHECK: DW_TAG_formal_parameter
27 CHECK: .debug_info.dwo contents:
28 CHECK: 0x00000000: Compile Unit: length = 0x00000025 version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x00000029)
29 CHECK: DW_TAG_compile_unit
30 CHECK: DW_AT_name {{.*}} "a.cpp"
31 CHECK: DW_AT_GNU_dwo_id {{.*}} ([[DWOA:.*]])
32 CHECK: DW_TAG_variable
33 CHECK: DW_AT_name {{.*}} "a"
34 CHECK: DW_TAG_structure_type
35 CHECK: DW_AT_name {{.*}} "foo"
37 CHECK: 0x00000029: Compile Unit: length = 0x00000031 version = 0x0004 abbr_offset = 0x0031 addr_size = 0x08 (next unit at 0x0000005e)
38 CHECK: DW_AT_name {{.*}} "b.cpp"
39 CHECK: DW_AT_GNU_dwo_id {{.*}} ([[DWOB:.*]])
40 CHECK: DW_TAG_structure_type
41 CHECK: DW_AT_name {{.*}} "bar"
42 CHECK: DW_TAG_subprogram
43 CHECK: DW_AT_name {{.*}} "b"
44 CHECK: DW_TAG_formal_parameter
46 CHECK: .debug_cu_index contents:
47 CHECK: Index Signature INFO ABBREV LINE STR_OFFSETS
48 CHECK: 3 [[DWOA]] [0x00000000, 0x00000029) [0x00000000, 0x00000031) [0x00000000, 0x00000011) [0x00000000, 0x00000010)
49 CHECK: 4 [[DWOB]] [0x00000029, 0x0000005e) [0x00000031, 0x00000075) [0x00000011, 0x00000022) [0x00000010, 0x00000024)
51 CHECK: .debug_str.dwo contents:
53 CHECK: 0x[[ACPP:.*]]: "a.cpp"
54 CHECK-NOT: "clang version
55 CHECK: 0x[[BCPP:.*]]: "b.cpp"
57 CHECK: .debug_str_offsets.dwo contents: