1*9880d681SAndroid Build Coastguard WorkerRUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 | FileCheck %s 2*9880d681SAndroid Build Coastguard WorkerRUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHECK-LTO 3*9880d681SAndroid Build Coastguard WorkerRUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK-ARCHIVE 4*9880d681SAndroid Build Coastguard WorkerRUN: llvm-dsymutil -no-output -verbose -oso-prepend-path=%p %p/Inputs/basic.macho.x86_64 %p/Inputs/basic-lto.macho.x86_64 %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-LTO --check-prefix=CHECK-ARCHIVE 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard WorkerThis test check the basic Dwarf linking process through the debug dumps. 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker================================= Simple link ================================ 9*9880d681SAndroid Build Coastguard WorkerCHECK: DEBUG MAP OBJECT: {{.*}}basic1.macho.x86_64.o 10*9880d681SAndroid Build Coastguard WorkerCHECK: Input compilation unit: 11*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: TAG_compile_unit 12*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: TAG 13*9880d681SAndroid Build Coastguard WorkerCHECK: AT_name {{.*}}basic1.c 14*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 15*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _main 0000000000000000 => 0000000100000ea0 16*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_subprogram 17*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name{{.*}}"main" 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard WorkerCHECK: DEBUG MAP OBJECT: {{.*}}basic2.macho.x86_64.o 20*9880d681SAndroid Build Coastguard WorkerCHECK: Input compilation unit: 21*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: TAG_compile_unit 22*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: TAG 23*9880d681SAndroid Build Coastguard WorkerCHECK: AT_name {{.*}}basic2.c 24*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 25*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _private_int 0000000000000560 => 0000000100001008 26*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_variable 27*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"private_int" 28*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 29*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _baz 0000000000000310 => 0000000100001000 30*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_variable 31*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"baz" 32*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 33*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _foo 0000000000000020 => 0000000100000ed0 34*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_subprogram 35*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"foo" 36*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 37*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _inc 0000000000000070 => 0000000100000f20 38*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_subprogram 39*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"inc" 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard WorkerCHECK: DEBUG MAP OBJECT: {{.*}}basic3.macho.x86_64.o 42*9880d681SAndroid Build Coastguard WorkerCHECK: Input compilation unit: 43*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: TAG_compile_unit 44*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: TAG 45*9880d681SAndroid Build Coastguard WorkerCHECK: AT_name {{.*}}basic3.c 46*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 47*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _val ffffffffffffffff => 0000000100001004 48*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_variable 49*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"val" 50*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 51*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _bar 0000000000000020 => 0000000100000f40 52*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_subprogram 53*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"bar" 54*9880d681SAndroid Build Coastguard WorkerCHECK-NOT: Found valid debug map entry 55*9880d681SAndroid Build Coastguard WorkerCHECK: Found valid debug map entry: _inc 0000000000000070 => 0000000100000f90 56*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_TAG_subprogram 57*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: DW_AT_name {{.*}}"inc") 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker================================= LTO link ================================ 61*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: DEBUG MAP OBJECT: {{.*}}basic-lto.macho.x86_64.o 62*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Input compilation unit: 63*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: TAG_compile_unit 64*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: TAG 65*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: AT_name {{.*}}basic1.c 66*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Input compilation unit: 67*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: TAG_compile_unit 68*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: TAG 69*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: AT_name {{.*}}basic2.c 70*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Input compilation unit: 71*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: TAG_compile_unit 72*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: TAG 73*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: AT_name {{.*}}basic3.c 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: Found valid debug map entry 76*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Found valid debug map entry: _main 0000000000000000 => 0000000100000f40 77*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_TAG_subprogram 78*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_AT_name {{.*}}"main" 79*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: Found valid debug map entry 80*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Found valid debug map entry: _private_int 00000000000008e8 => 0000000100001008 81*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_TAG_variable 82*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_AT_name {{.*}}"private_int" 83*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: Found valid debug map entry 84*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Found valid debug map entry: _baz 0000000000000658 => 0000000100001000 85*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_TAG_variable 86*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_AT_name {{.*}} "baz" 87*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: Found valid debug map entry 88*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Found valid debug map entry: _foo 0000000000000010 => 0000000100000f50 89*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_TAG_subprogram 90*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_AT_name {{.*}}"foo" 91*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: Found valid debug map entry 92*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Found valid debug map entry: _val 00000000000008ec => 0000000100001004 93*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_TAG_variable 94*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_AT_name {{.*}}"val" 95*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NOT: Found valid debug map entry 96*9880d681SAndroid Build Coastguard WorkerCHECK-LTO: Found valid debug map entry: _bar 0000000000000050 => 0000000100000f90 97*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_TAG_subprogram 98*9880d681SAndroid Build Coastguard WorkerCHECK-LTO-NEXT: DW_AT_name {{.*}}"bar" 99*9880d681SAndroid Build Coastguard Worker 100*9880d681SAndroid Build Coastguard Worker 101*9880d681SAndroid Build Coastguard Worker================================= Archive link ================================ 102*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: DEBUG MAP OBJECT: {{.*}}basic1.macho.x86_64.o 103*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Input compilation unit: 104*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: TAG_compile_unit 105*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: TAG 106*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: AT_name {{.*}}basic1.c 107*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 108*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _main 0000000000000000 => 0000000100000ea0 109*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_subprogram 110*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name{{.*}}"main" 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: DEBUG MAP OBJECT: {{.*}}libbasic.a(basic2.macho.x86_64.o) 113*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Input compilation unit: 114*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: TAG_compile_unit 115*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: TAG 116*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: AT_name {{.*}}basic2.c 117*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 118*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _private_int 0000000000000560 => 0000000100001004 119*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_variable 120*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"private_int" 121*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 122*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _baz 0000000000000310 => 0000000100001000 123*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_variable 124*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"baz" 125*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 126*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _foo 0000000000000020 => 0000000100000ed0 127*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_subprogram 128*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"foo" 129*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 130*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _inc 0000000000000070 => 0000000100000f20 131*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_subprogram 132*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"inc" 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: DEBUG MAP OBJECT: {{.*}}libbasic.a(basic3.macho.x86_64.o) 135*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Input compilation unit: 136*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: TAG_compile_unit 137*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: TAG 138*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: AT_name {{.*}}basic3.c 139*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 140*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _val ffffffffffffffff => 0000000100001008 141*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_variable 142*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"val" 143*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 144*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _bar 0000000000000020 => 0000000100000f40 145*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_subprogram 146*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"bar" 147*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NOT: Found valid debug map entry 148*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE: Found valid debug map entry: _inc 0000000000000070 => 0000000100000f90 149*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_TAG_subprogram 150*9880d681SAndroid Build Coastguard WorkerCHECK-ARCHIVE-NEXT: DW_AT_name {{.*}}"inc") 151