xref: /llvm-project/llvm/test/tools/llvm-dwp/X86/dwos_list_from_exec_simple.test (revision 2a7af304823d4bb60efbbfea97d35030f0732748)
1RUN: rm -rf %t
2RUN: mkdir %t
3RUN: cd %t
4RUN: cp %p/../Inputs/dwos_list_from_exec/a.dwo a.dwo
5RUN: cp %p/../Inputs/dwos_list_from_exec/b.dwo b.dwo
6RUN: cp %p/../Inputs/dwos_list_from_exec/c.dwo c.dwo
7RUN: cp %p/../Inputs/dwos_list_from_exec/d.dwo d.dwo
8RUN: cp %p/../Inputs/dwos_list_from_exec/e.dwo e.dwo
9RUN: cp %p/../Inputs/dwos_list_from_exec/main main
10RUN: cp %p/../Inputs/dwos_list_from_exec/libd.so libd.so
11RUN: llvm-dwp c.dwo e.dwo -e main -e libd.so -o - | llvm-dwarfdump -v - | FileCheck %s
12
13Build commands for the test binaries:
14
15clang++ -Xclang -fdebug-compilation-dir -Xclang "./" -g -O0 -gsplit-dwarf a.cpp b.cpp -o main
16clang++ -g -O0 -gsplit-dwarf -c c.cpp -o c.o
17clang++ -Xclang -fdebug-compilation-dir -Xclang "./" -g -O0 -gsplit-dwarf -fPIC -shared d.cpp -o libd.so
18clang++ -g -O0 -gsplit-dwarf -c e.cpp -o e.o
19
20sources:
21a.cpp:
22  void a() {}
23
24b.cpp:
25  void b() {}
26  int main() {
27     return 0;
28  }
29
30c.cpp:
31  void c() {}
32
33d.cpp:
34  void d() {}
35
36e.cpp:
37  void e() {}
38
39CHECK-LABEL: .debug_abbrev.dwo contents:
40
41CHECK-LABEL: Abbrev table for offset:
42CHECK: DW_TAG_compile_unit
43CHECK: DW_TAG_subprogram
44
45CHECK-LABEL: Abbrev table for offset:
46CHECK: DW_TAG_compile_unit
47CHECK: DW_TAG_subprogram
48
49CHECK-LABEL: Abbrev table for offset:
50CHECK: DW_TAG_compile_unit
51CHECK: DW_TAG_subprogram
52
53CHECK-LABEL: Abbrev table for offset:
54CHECK: DW_TAG_compile_unit
55CHECK: DW_TAG_subprogram
56
57CHECK-LABEL: Abbrev table for offset:
58CHECK: DW_TAG_compile_unit
59CHECK: DW_TAG_subprogram
60
61CHECK: .debug_info.dwo contents:
62CHECK: [[AOFF:0x[0-9a-f]*]]:
63
64CHECK-LABEL: Compile Unit: length = {{.*}}, version = 0x0004
65CHECK: DW_TAG_compile_unit
66CHECK:   DW_AT_name {{.*}} "c.cpp"
67CHECK:   DW_TAG_subprogram
68CHECK:     DW_AT_name {{.*}} "c"
69
70CHECK-LABEL: Compile Unit: length = {{.*}}, version = 0x0004
71CHECK: DW_TAG_compile_unit
72CHECK:   DW_AT_name {{.*}} "e.cpp"
73CHECK:   DW_TAG_subprogram
74CHECK:     DW_AT_name {{.*}} "e"
75
76CHECK-LABEL: Compile Unit: length = {{.*}}, version = 0x0004
77CHECK: DW_TAG_compile_unit
78CHECK:   DW_AT_name {{.*}} "a.cpp"
79CHECK:   DW_TAG_subprogram
80CHECK:     DW_AT_name {{.*}} "a"
81
82CHECK-LABEL: Compile Unit: length = {{.*}}, version = 0x0004
83CHECK: DW_TAG_compile_unit
84CHECK:   DW_AT_name {{.*}} "b.cpp"
85CHECK:   DW_TAG_subprogram
86CHECK:     DW_AT_name {{.*}} "b"
87CHECK:   DW_TAG_subprogram
88CHECK:     DW_AT_name {{.*}} "main"
89
90CHECK-LABEL: Compile Unit: length = {{.*}}, version = 0x0004
91CHECK: DW_TAG_compile_unit
92CHECK:   DW_AT_name {{.*}} "d.cpp"
93CHECK:   DW_TAG_subprogram
94CHECK:     DW_AT_name {{.*}} "d"
95