xref: /llvm-project/llvm/test/tools/dsymutil/ARM/fat-dylib-update.test (revision f1fdfe6888f93b9f6dfb4689e1f3206de584ff5b)
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