xref: /aosp_15_r20/external/llvm/test/MC/MachO/weakdef.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker	.section	__DATA,__datacoal_nt,coalesced
4*9880d681SAndroid Build Coastguard Worker	.section	__TEXT,__const_coal,coalesced
5*9880d681SAndroid Build Coastguard Worker	.globl	__ZTS3optIbE            ## @_ZTS3optIbE
6*9880d681SAndroid Build Coastguard Worker	.weak_definition	__ZTS3optIbE
7*9880d681SAndroid Build Coastguard Worker__ZTS3optIbE:
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker	.section	__DATA,__datacoal_nt,coalesced
11*9880d681SAndroid Build Coastguard Worker	.globl	__ZTI3optIbE            ## @_ZTI3optIbE
12*9880d681SAndroid Build Coastguard Worker	.weak_definition	__ZTI3optIbE
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker__ZTI3optIbE:
15*9880d681SAndroid Build Coastguard Worker	.long	__ZTS3optIbE
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker// CHECK: File: <stdin>
18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Format: Mach-O 32-bit i386
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Arch: i386
20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: AddressSize: 32bit
21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: MachHeader {
22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Magic: Magic (0xFEEDFACE)
23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   CpuType: X86 (0x7)
24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)
25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   FileType: Relocatable (0x1)
26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   NumOfLoadCommands: 4
27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   SizeOfLoadCommands: 380
28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Flags [ (0x0)
29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ]
30*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: }
31*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Sections [
32*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section {
33*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Index: 0
34*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
35*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Address: 0x0
37*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0x0
38*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Offset: 408
39*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Alignment: 0
40*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RelocationOffset: 0x0
41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RelocationCount: 0
42*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: 0x0
43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Attributes [ (0x800000)
44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PureInstructions (0x800000)
45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ]
46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Reserved1: 0x0
47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Reserved2: 0x0
48*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     SectionData (
49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     )
50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
51*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section {
52*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Index: 1
53*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: __datacoal_nt (5F 5F 64 61 74 61 63 6F 61 6C 5F 6E 74 00 00 00)
54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
55*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Address: 0x0
56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0x4
57*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Offset: 408
58*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Alignment: 0
59*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RelocationOffset: 0x19C
60*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RelocationCount: 1
61*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: 0xB
62*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Attributes [ (0x0)
63*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ]
64*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Reserved1: 0x0
65*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Reserved2: 0x0
66*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     SectionData (
67*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       0000: 00000000                             |....|
68*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     )
69*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
70*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section {
71*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Index: 2
72*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: __const_coal (5F 5F 63 6F 6E 73 74 5F 63 6F 61 6C 00 00 00 00)
73*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
74*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Address: 0x4
75*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0x0
76*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Offset: 412
77*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Alignment: 0
78*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RelocationOffset: 0x0
79*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RelocationCount: 0
80*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: 0xB
81*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Attributes [ (0x0)
82*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ]
83*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Reserved1: 0x0
84*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Reserved2: 0x0
85*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     SectionData (
86*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     )
87*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
88*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ]
89*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Relocations [
90*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section __datacoal_nt {
91*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0x0 0 2 1 GENERIC_RELOC_VANILLA 0 __ZTS3optIbE
92*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
93*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ]
94*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbols [
95*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
96*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: __ZTI3optIbE (14)
97*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Extern
98*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: Section (0xE)
99*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: __datacoal_nt (0x2)
100*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
101*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Flags [ (0x80)
102*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       WeakDef (0x80)
103*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ]
104*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
105*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
106*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
107*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: __ZTS3optIbE (1)
108*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Extern
109*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: Section (0xE)
110*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: __const_coal (0x3)
111*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
112*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Flags [ (0x80)
113*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       WeakDef (0x80)
114*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ]
115*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x4
116*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
117*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ]
118*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Indirect Symbols {
119*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Number: 0
120*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbols [
121*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ]
122*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: }
123*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Segment {
124*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Cmd: LC_SEGMENT
125*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Name:
126*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Size: 260
127*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   vmaddr: 0x0
128*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   vmsize: 0x4
129*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   fileoff: 408
130*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   filesize: 4
131*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   maxprot: rwx
132*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   initprot: rwx
133*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nsects: 3
134*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   flags: 0x0
135*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: }
136*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Dysymtab {
137*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ilocalsym: 0
138*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nlocalsym: 0
139*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   iextdefsym: 0
140*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nextdefsym: 2
141*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   iundefsym: 2
142*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nundefsym: 0
143*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   tocoff: 0
144*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ntoc: 0
145*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   modtaboff: 0
146*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nmodtab: 0
147*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   extrefsymoff: 0
148*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nextrefsyms: 0
149*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   indirectsymoff: 0
150*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nindirectsyms: 0
151*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   extreloff: 0
152*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nextrel: 0
153*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   locreloff: 0
154*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   nlocrel: 0
155*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: }
156