xref: /aosp_15_r20/external/llvm/test/MC/MachO/ARM/darwin-ARM-reloc.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.obj
2*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols < %t.obj > %t.dump
3*9880d681SAndroid Build Coastguard Worker@ RUN: FileCheck < %t.dump %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker	.syntax unified
6*9880d681SAndroid Build Coastguard Worker        .text
7*9880d681SAndroid Build Coastguard Worker_f0:
8*9880d681SAndroid Build Coastguard Worker        bl _printf
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker_f1:
11*9880d681SAndroid Build Coastguard Worker        bl _f0
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker        .data
14*9880d681SAndroid Build Coastguard Worker_d0:
15*9880d681SAndroid Build Coastguard WorkerLd0_0:
16*9880d681SAndroid Build Coastguard Worker        .long Lsc0_0 - Ld0_0
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker	.section	__TEXT,__cstring,cstring_literals
19*9880d681SAndroid Build Coastguard WorkerLsc0_0:
20*9880d681SAndroid Build Coastguard Worker        .long 0
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker        .subsections_via_symbols
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker@ CHECK: File: <stdin>
25*9880d681SAndroid Build Coastguard Worker@ CHECK: Format: Mach-O arm
26*9880d681SAndroid Build Coastguard Worker@ CHECK: Arch: arm
27*9880d681SAndroid Build Coastguard Worker@ CHECK: AddressSize: 32bit
28*9880d681SAndroid Build Coastguard Worker@ CHECK: MachHeader {
29*9880d681SAndroid Build Coastguard Worker@ CHECK:   Magic: Magic (0xFEEDFACE)
30*9880d681SAndroid Build Coastguard Worker@ CHECK:   CpuType: Arm (0xC)
31*9880d681SAndroid Build Coastguard Worker@ CHECK:   CpuSubType: CPU_SUBTYPE_ARM_V7 (0x9)
32*9880d681SAndroid Build Coastguard Worker@ CHECK:   FileType: Relocatable (0x1)
33*9880d681SAndroid Build Coastguard Worker@ CHECK:   NumOfLoadCommands: 4
34*9880d681SAndroid Build Coastguard Worker@ CHECK:   SizeOfLoadCommands: 380
35*9880d681SAndroid Build Coastguard Worker@ CHECK:   Flags [ (0x2000)
36*9880d681SAndroid Build Coastguard Worker@ CHECK:     MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)
37*9880d681SAndroid Build Coastguard Worker@ CHECK:   ]
38*9880d681SAndroid Build Coastguard Worker@ CHECK: }
39*9880d681SAndroid Build Coastguard Worker@ CHECK: Sections [
40*9880d681SAndroid Build Coastguard Worker@ CHECK:   Section {
41*9880d681SAndroid Build Coastguard Worker@ CHECK:     Index: 0
42*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
43*9880d681SAndroid Build Coastguard Worker@ CHECK:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
44*9880d681SAndroid Build Coastguard Worker@ CHECK:     Address: 0x0
45*9880d681SAndroid Build Coastguard Worker@ CHECK:     Size: 0x8
46*9880d681SAndroid Build Coastguard Worker@ CHECK:     Offset: 408
47*9880d681SAndroid Build Coastguard Worker@ CHECK:     Alignment: 0
48*9880d681SAndroid Build Coastguard Worker@ CHECK:     RelocationOffset: 0x1A8
49*9880d681SAndroid Build Coastguard Worker@ CHECK:     RelocationCount: 2
50*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: 0x0
51*9880d681SAndroid Build Coastguard Worker@ CHECK:     Attributes [ (0x800004)
52*9880d681SAndroid Build Coastguard Worker@ CHECK:       PureInstructions (0x800000)
53*9880d681SAndroid Build Coastguard Worker@ CHECK:       SomeInstructions (0x4)
54*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
55*9880d681SAndroid Build Coastguard Worker@ CHECK:     Reserved1: 0x0
56*9880d681SAndroid Build Coastguard Worker@ CHECK:     Reserved2: 0x0
57*9880d681SAndroid Build Coastguard Worker@ CHECK:     SectionData (
58*9880d681SAndroid Build Coastguard Worker@ CHECK:       0000: FEFFFFEB FDFFFFEB                    |........|
59*9880d681SAndroid Build Coastguard Worker@ CHECK:     )
60*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
61*9880d681SAndroid Build Coastguard Worker@ CHECK:   Section {
62*9880d681SAndroid Build Coastguard Worker@ CHECK:     Index: 1
63*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)
64*9880d681SAndroid Build Coastguard Worker@ CHECK:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
65*9880d681SAndroid Build Coastguard Worker@ CHECK:     Address: 0x8
66*9880d681SAndroid Build Coastguard Worker@ CHECK:     Size: 0x4
67*9880d681SAndroid Build Coastguard Worker@ CHECK:     Offset: 416
68*9880d681SAndroid Build Coastguard Worker@ CHECK:     Alignment: 0
69*9880d681SAndroid Build Coastguard Worker@ CHECK:     RelocationOffset: 0x1B8
70*9880d681SAndroid Build Coastguard Worker@ CHECK:     RelocationCount: 2
71*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: 0x0
72*9880d681SAndroid Build Coastguard Worker@ CHECK:     Attributes [ (0x0)
73*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
74*9880d681SAndroid Build Coastguard Worker@ CHECK:     Reserved1: 0x0
75*9880d681SAndroid Build Coastguard Worker@ CHECK:     Reserved2: 0x0
76*9880d681SAndroid Build Coastguard Worker@ CHECK:     SectionData (
77*9880d681SAndroid Build Coastguard Worker@ CHECK:       0000: 04000000                             |....|
78*9880d681SAndroid Build Coastguard Worker@ CHECK:     )
79*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
80*9880d681SAndroid Build Coastguard Worker@ CHECK:   Section {
81*9880d681SAndroid Build Coastguard Worker@ CHECK:     Index: 2
82*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00)
83*9880d681SAndroid Build Coastguard Worker@ CHECK:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
84*9880d681SAndroid Build Coastguard Worker@ CHECK:     Address: 0xC
85*9880d681SAndroid Build Coastguard Worker@ CHECK:     Size: 0x4
86*9880d681SAndroid Build Coastguard Worker@ CHECK:     Offset: 420
87*9880d681SAndroid Build Coastguard Worker@ CHECK:     Alignment: 0
88*9880d681SAndroid Build Coastguard Worker@ CHECK:     RelocationOffset: 0x0
89*9880d681SAndroid Build Coastguard Worker@ CHECK:     RelocationCount: 0
90*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: ExtReloc (0x2)
91*9880d681SAndroid Build Coastguard Worker@ CHECK:     Attributes [ (0x0)
92*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
93*9880d681SAndroid Build Coastguard Worker@ CHECK:     Reserved1: 0x0
94*9880d681SAndroid Build Coastguard Worker@ CHECK:     Reserved2: 0x0
95*9880d681SAndroid Build Coastguard Worker@ CHECK:     SectionData (
96*9880d681SAndroid Build Coastguard Worker@ CHECK:       0000: 00000000                             |....|
97*9880d681SAndroid Build Coastguard Worker@ CHECK:     )
98*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
99*9880d681SAndroid Build Coastguard Worker@ CHECK: ]
100*9880d681SAndroid Build Coastguard Worker@ CHECK: Relocations [
101*9880d681SAndroid Build Coastguard Worker@ CHECK:   Section __text {
102*9880d681SAndroid Build Coastguard Worker@ CHECK:     0x4 1 2 0 ARM_RELOC_BR24 0 __text
103*9880d681SAndroid Build Coastguard Worker@ CHECK:     0x0 1 2 1 ARM_RELOC_BR24 0 _printf
104*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
105*9880d681SAndroid Build Coastguard Worker@ CHECK:   Section __data {
106*9880d681SAndroid Build Coastguard Worker@ CHECK:     0x0 0 2 n/a ARM_RELOC_SECTDIFF 1 0xC
107*9880d681SAndroid Build Coastguard Worker@ CHECK:     0x0 0 2 n/a ARM_RELOC_PAIR 1 0x8
108*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
109*9880d681SAndroid Build Coastguard Worker@ CHECK: ]
110*9880d681SAndroid Build Coastguard Worker@ CHECK: Symbols [
111*9880d681SAndroid Build Coastguard Worker@ CHECK:   Symbol {
112*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: _f0 (13)
113*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: Section (0xE)
114*9880d681SAndroid Build Coastguard Worker@ CHECK:     Section: __text (0x1)
115*9880d681SAndroid Build Coastguard Worker@ CHECK:     RefType: UndefinedNonLazy (0x0)
116*9880d681SAndroid Build Coastguard Worker@ CHECK:     Flags [ (0x0)
117*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
118*9880d681SAndroid Build Coastguard Worker@ CHECK:     Value: 0x0
119*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
120*9880d681SAndroid Build Coastguard Worker@ CHECK:   Symbol {
121*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: _f1 (9)
122*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: Section (0xE)
123*9880d681SAndroid Build Coastguard Worker@ CHECK:     Section: __text (0x1)
124*9880d681SAndroid Build Coastguard Worker@ CHECK:     RefType: UndefinedNonLazy (0x0)
125*9880d681SAndroid Build Coastguard Worker@ CHECK:     Flags [ (0x0)
126*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
127*9880d681SAndroid Build Coastguard Worker@ CHECK:     Value: 0x4
128*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
129*9880d681SAndroid Build Coastguard Worker@ CHECK:   Symbol {
130*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: _d0 (17)
131*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: Section (0xE)
132*9880d681SAndroid Build Coastguard Worker@ CHECK:     Section: __data (0x2)
133*9880d681SAndroid Build Coastguard Worker@ CHECK:     RefType: UndefinedNonLazy (0x0)
134*9880d681SAndroid Build Coastguard Worker@ CHECK:     Flags [ (0x0)
135*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
136*9880d681SAndroid Build Coastguard Worker@ CHECK:     Value: 0x8
137*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
138*9880d681SAndroid Build Coastguard Worker@ CHECK:   Symbol {
139*9880d681SAndroid Build Coastguard Worker@ CHECK:     Name: _printf (1)
140*9880d681SAndroid Build Coastguard Worker@ CHECK:     Extern
141*9880d681SAndroid Build Coastguard Worker@ CHECK:     Type: Undef (0x0)
142*9880d681SAndroid Build Coastguard Worker@ CHECK:     Section:  (0x0)
143*9880d681SAndroid Build Coastguard Worker@ CHECK:     RefType: UndefinedNonLazy (0x0)
144*9880d681SAndroid Build Coastguard Worker@ CHECK:     Flags [ (0x0)
145*9880d681SAndroid Build Coastguard Worker@ CHECK:     ]
146*9880d681SAndroid Build Coastguard Worker@ CHECK:     Value: 0x0
147*9880d681SAndroid Build Coastguard Worker@ CHECK:   }
148*9880d681SAndroid Build Coastguard Worker@ CHECK: ]
149*9880d681SAndroid Build Coastguard Worker@ CHECK: Indirect Symbols {
150*9880d681SAndroid Build Coastguard Worker@ CHECK:   Number: 0
151*9880d681SAndroid Build Coastguard Worker@ CHECK:   Symbols [
152*9880d681SAndroid Build Coastguard Worker@ CHECK:   ]
153*9880d681SAndroid Build Coastguard Worker@ CHECK: }
154*9880d681SAndroid Build Coastguard Worker@ CHECK: Segment {
155*9880d681SAndroid Build Coastguard Worker@ CHECK:   Cmd: LC_SEGMENT
156*9880d681SAndroid Build Coastguard Worker@ CHECK:   Name:
157*9880d681SAndroid Build Coastguard Worker@ CHECK:   Size: 260
158*9880d681SAndroid Build Coastguard Worker@ CHECK:   vmaddr: 0x0
159*9880d681SAndroid Build Coastguard Worker@ CHECK:   vmsize: 0x10
160*9880d681SAndroid Build Coastguard Worker@ CHECK:   fileoff: 408
161*9880d681SAndroid Build Coastguard Worker@ CHECK:   filesize: 16
162*9880d681SAndroid Build Coastguard Worker@ CHECK:   maxprot: rwx
163*9880d681SAndroid Build Coastguard Worker@ CHECK:   initprot: rwx
164*9880d681SAndroid Build Coastguard Worker@ CHECK:   nsects: 3
165*9880d681SAndroid Build Coastguard Worker@ CHECK:   flags: 0x0
166*9880d681SAndroid Build Coastguard Worker@ CHECK: }
167*9880d681SAndroid Build Coastguard Worker@ CHECK: Dysymtab {
168*9880d681SAndroid Build Coastguard Worker@ CHECK:   ilocalsym: 0
169*9880d681SAndroid Build Coastguard Worker@ CHECK:   nlocalsym: 3
170*9880d681SAndroid Build Coastguard Worker@ CHECK:   iextdefsym: 3
171*9880d681SAndroid Build Coastguard Worker@ CHECK:   nextdefsym: 0
172*9880d681SAndroid Build Coastguard Worker@ CHECK:   iundefsym: 3
173*9880d681SAndroid Build Coastguard Worker@ CHECK:   nundefsym: 1
174*9880d681SAndroid Build Coastguard Worker@ CHECK:   tocoff: 0
175*9880d681SAndroid Build Coastguard Worker@ CHECK:   ntoc: 0
176*9880d681SAndroid Build Coastguard Worker@ CHECK:   modtaboff: 0
177*9880d681SAndroid Build Coastguard Worker@ CHECK:   nmodtab: 0
178*9880d681SAndroid Build Coastguard Worker@ CHECK:   extrefsymoff: 0
179*9880d681SAndroid Build Coastguard Worker@ CHECK:   nextrefsyms: 0
180*9880d681SAndroid Build Coastguard Worker@ CHECK:   indirectsymoff: 0
181*9880d681SAndroid Build Coastguard Worker@ CHECK:   nindirectsyms: 0
182*9880d681SAndroid Build Coastguard Worker@ CHECK:   extreloff: 0
183*9880d681SAndroid Build Coastguard Worker@ CHECK:   nextrel: 0
184*9880d681SAndroid Build Coastguard Worker@ CHECK:   locreloff: 0
185*9880d681SAndroid Build Coastguard Worker@ CHECK:   nlocrel: 0
186*9880d681SAndroid Build Coastguard Worker@ CHECK: }
187