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