1# REQUIRES: object-emission,system-darwin 2# RUN: dsymutil -oso-prepend-path %p/.. %p/../Inputs/fat-test.arm.dylib -o %t.dSYM 3# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s 4# RUN: dsymutil -u %t.dSYM 5# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s 6# RUN: dsymutil -u %t.dSYM -o %t1.dSYM 7# RUN: llvm-dwarfdump -a -v %t1.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s 8# 9# RUN: dsymutil --linker parallel -oso-prepend-path %p/.. %p/../Inputs/fat-test.arm.dylib -o %t.dSYM 10# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s 11# RUN: dsymutil --linker parallel -u %t.dSYM 12# RUN: llvm-dwarfdump -a -v %t.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s 13# RUN: dsymutil --linker parallel -u %t.dSYM -o %t1.dSYM 14# RUN: llvm-dwarfdump -a -v %t1.dSYM/Contents/Resources/DWARF/fat-test.arm.dylib | FileCheck %s 15 16CHECK: /Contents/Resources/DWARF/fat-test.arm.dylib(armv7): file format Mach-O arm 17 18CHECK: .debug_info contents: 19CHECK: Compile Unit: length = 0x00000034, format = DWARF32, version = 0x0002, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000038) 20CHECK: DW_TAG_compile_unit [1] * 21CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "clang version 3.8.0 (trunk 243776)") 22CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99) 23CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000024] = "fat-test.c") 24CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000000) 25CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000002f] = "/Inputs") 26CHECK: DW_TAG_variable [2] 27CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000037] = "armv7_var") 28CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0030 => {0x00000030} 29CHECK: DW_AT_external [DW_FORM_flag] (0x01) 30CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs/fat-test.c") 31CHECK: DW_AT_decl_line [DW_FORM_data1] (23) 32CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x1000) 33CHECK: DW_TAG_base_type [3] 34CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000041] = "int") 35CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed) 36CHECK: DW_AT_byte_size [DW_FORM_data1] (0x04) 37CHECK: NULL 38 39 40CHECK: .debug_line contents: 41CHECK: Line table prologue: 42CHECK: total_length: 0x0000002a 43CHECK: version: 2 44CHECK: prologue_length: 0x00000021 45CHECK: min_inst_length: 1 46CHECK: default_is_stmt: 1 47CHECK: line_base: -5 48CHECK: line_range: 14 49CHECK: opcode_base: 13 50 51CHECK: .apple_names contents: 52CHECK: String: 0x00000037 "armv7_var" 53CHECK-NEXT: Data 0 [ 54CHECK-NEXT: Atom[0]: 0x0000001e 55CHECK-NEXT: ] 56 57CHECK: .apple_types contents: 58CHECK: String: 0x00000041 "int" 59CHECK-NEXT: Data 0 [ 60CHECK-NEXT: Atom[0]: 0x00000030 61CHECK-NEXT: Atom[1]: 0x0024 62CHECK-NEXT: Atom[2]: 0x00 63CHECK-NEXT: Atom[3]: 0x0c3a28a4 64CHECK-NEXT: ] 65 66CHECK: /Contents/Resources/DWARF/fat-test.arm.dylib(armv7s): file format Mach-O arm 67 68CHECK: .debug_info contents: 69CHECK: Compile Unit: length = 0x00000034, format = DWARF32, version = 0x0002, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000038) 70CHECK: DW_TAG_compile_unit [1] * 71CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "clang version 3.8.0 (trunk 243776)") 72CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99) 73CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000024] = "fat-test.c") 74CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000000) 75CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000002f] = "/Inputs") 76CHECK: DW_TAG_variable [2] 77CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000037] = "armv7s_var") 78CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0030 => {0x00000030} 79CHECK: DW_AT_external [DW_FORM_flag] (0x01) 80CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs/fat-test.c") 81CHECK: DW_AT_decl_line [DW_FORM_data1] (21) 82CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x1000) 83CHECK: DW_TAG_base_type [3] 84CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000042] = "int") 85CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed) 86CHECK: DW_AT_byte_size [DW_FORM_data1] (0x04) 87CHECK: NULL 88 89CHECK: .debug_line contents: 90CHECK: Line table prologue: 91CHECK: total_length: 0x0000002a 92CHECK: version: 2 93CHECK: prologue_length: 0x00000021 94CHECK: min_inst_length: 1 95CHECK: default_is_stmt: 1 96CHECK: line_base: -5 97CHECK: line_range: 14 98CHECK: opcode_base: 13 99 100CHECK: .apple_names contents: 101CHECK: String: 0x00000037 "armv7s_var" 102CHECK-NEXT: Data 0 [ 103CHECK-NEXT: Atom[0]: 0x0000001e 104CHECK-NEXT: ] 105 106CHECK: .apple_types contents: 107CHECK: String: 0x00000042 "int" 108CHECK-NEXT: Data 0 [ 109CHECK-NEXT: Atom[0]: 0x00000030 110CHECK-NEXT: Atom[1]: 0x0024 111CHECK-NEXT: Atom[2]: 0x00 112CHECK-NEXT: Atom[3]: 0x0c3a28a4 113CHECK-NEXT: ] 114 115CHECK: /Contents/Resources/DWARF/fat-test.arm.dylib(arm64): file format Mach-O arm64 116 117CHECK: .debug_info contents: 118CHECK: Compile Unit: length = 0x00000038, format = DWARF32, version = 0x0002, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x0000003c) 119CHECK: DW_TAG_compile_unit [1] * 120CHECK: DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] = "clang version 3.8.0 (trunk 243776)") 121CHECK: DW_AT_language [DW_FORM_data2] (DW_LANG_C99) 122CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000024] = "fat-test.c") 123CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000000) 124CHECK: DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x0000002f] = "/Inputs") 125CHECK: DW_TAG_variable [2] 126CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000037] = "arm64_var") 127CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x0034 => {0x00000034} 128CHECK: DW_AT_external [DW_FORM_flag] (0x01) 129CHECK: DW_AT_decl_file [DW_FORM_data1] ("/Inputs/fat-test.c") 130CHECK: DW_AT_decl_line [DW_FORM_data1] (25) 131CHECK: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x4000) 132CHECK: DW_TAG_base_type [3] 133CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000041] = "int") 134CHECK: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed) 135CHECK: DW_AT_byte_size [DW_FORM_data1] (0x04) 136CHECK: NULL 137 138CHECK: .debug_line contents: 139CHECK: Line table prologue: 140CHECK: total_length: 0x0000002a 141CHECK: version: 2 142CHECK: prologue_length: 0x00000021 143CHECK: min_inst_length: 1 144CHECK: default_is_stmt: 1 145CHECK: line_base: -5 146CHECK: line_range: 14 147CHECK: opcode_base: 13 148 149CHECK: .apple_names contents: 150CHECK: String: 0x00000037 "arm64_var" 151CHECK-NEXT: Data 0 [ 152CHECK-NEXT: Atom[0]: 0x0000001e 153CHECK-NEXT: ] 154 155CHECK: .apple_types contents: 156CHECK: String: 0x00000041 "int" 157CHECK-NEXT: Data 0 [ 158CHECK-NEXT: Atom[0]: 0x00000034 159CHECK-NEXT: Atom[1]: 0x0024 160CHECK-NEXT: Atom[2]: 0x00 161CHECK-NEXT: Atom[3]: 0x0c3a28a4 162CHECK-NEXT: ] 163