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