1 // RUN
: llvm-mc
-triple i386-apple-darwin9
%s
-filetype
=obj
-o
- | llvm-readobj
--file-headers
-S
--sd
-r
--symbols
--macho-segment
--macho-dysymtab
--macho-indirect-symbols | FileCheck
%s
8 .section __IMPORT,__jump_table,symbol_stubs,pure_instructions+self_modifying_code,5
10 .ascii "\364\364\364\364\364"
12 .ascii "\364\364\364\364\364"
14 .ascii "\364\364\364\364\364"
15 .section __IMPORT,__pointers,non_lazy_symbol_pointers
23 // CHECK
: File
: <stdin
>
24 // CHECK
: Format
: Mach-O
32-bit i386
26 // CHECK
: AddressSize
: 32bit
27 // CHECK
: MachHeader
{
28 // CHECK
: Magic
: Magic
(0xFEEDFACE)
29 // CHECK
: CpuType
: X86
(0x7)
30 // CHECK
: CpuSubType
: CPU_SUBTYPE_I386_ALL
(0x3)
31 // CHECK
: FileType
: Relocatable
(0x1)
32 // CHECK
: NumOfLoadCommands
: 4
33 // CHECK
: SizeOfLoadCommands
: 380
34 // CHECK
: Flags
[ (0x0)
40 // CHECK
: Name
: __text
(5F
5F
74 65 78 74 00 00 00 00 00 00 00 00 00 00)
41 // CHECK
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
42 // CHECK
: Address
: 0x0
45 // CHECK
: Alignment
: 0
46 // CHECK
: RelocationOffset
: 0x0
47 // CHECK
: RelocationCount
: 0
48 // CHECK
: Type
: Regular
(0x0)
49 // CHECK
: Attributes
[ (0x800000)
50 // CHECK
: PureInstructions
(0x800000)
52 // CHECK
: Reserved1
: 0x0
53 // CHECK
: Reserved2
: 0x0
54 // CHECK
: SectionData
(
59 // CHECK
: Name
: __jump_table
(5F
5F
6A 75 6D
70 5F
74 61 62 6C
65 00 00 00 00)
60 // CHECK
: Segment
: __IMPORT
(5F
5F
49 4D
50 4F
52 54 00 00 00 00 00 00 00 00)
61 // CHECK
: Address
: 0x0
64 // CHECK
: Alignment
: 0
65 // CHECK
: RelocationOffset
: 0x0
66 // CHECK
: RelocationCount
: 0
67 // CHECK
: Type
: SymbolStubs
(0x8)
68 // CHECK
: Attributes
[ (0x840000)
69 // CHECK
: PureInstructions
(0x800000)
70 // CHECK
: SelfModifyingCode
(0x40000)
72 // CHECK
: Reserved1
: 0x0
73 // CHECK
: Reserved2
: 0x5
74 // CHECK
: SectionData
(
75 // CHECK
: 0000: F4F4F4F4 F4F4F4F4 F4F4F4F4 F4F4F4 |
...............|
80 // CHECK
: Name
: __pointers
(5F
5F
70 6F
69 6E
74 65 72 73 00 00 00 00 00 00)
81 // CHECK
: Segment
: __IMPORT
(5F
5F
49 4D
50 4F
52 54 00 00 00 00 00 00 00 00)
82 // CHECK
: Address
: 0xF
85 // CHECK
: Alignment
: 0
86 // CHECK
: RelocationOffset
: 0x0
87 // CHECK
: RelocationCount
: 0
88 // CHECK
: Type
: NonLazySymbolPointers
(0x6)
89 // CHECK
: Attributes
[ (0x0)
91 // CHECK
: Reserved1
: 0x3
92 // CHECK
: Reserved2
: 0x0
93 // CHECK
: SectionData
(
94 // CHECK
: 0000: 00000000 00000000 00000000 |
............|
98 // CHECK
: Relocations
[
102 // CHECK
: Name
: _b
(13)
103 // CHECK
: Type
: Section
(0xE)
104 // CHECK
: Section
: __text
(0x1)
105 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
106 // CHECK
: Flags
[ (0x0)
111 // CHECK
: Name
: _c
(10)
112 // CHECK
: Type
: Abs (0x2)
113 // CHECK
: Section
: (0x0)
114 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
115 // CHECK
: Flags
[ (0x0)
120 // CHECK
: Name
: _e
(4)
121 // CHECK
: Type
: Section
(0xE)
122 // CHECK
: Section
: __text
(0x1)
123 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
124 // CHECK
: Flags
[ (0x0)
129 // CHECK
: Name
: _f
(1)
130 // CHECK
: Type
: Abs (0x2)
131 // CHECK
: Section
: (0x0)
132 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
133 // CHECK
: Flags
[ (0x0)
138 // CHECK
: Name
: _a
(16)
140 // CHECK
: Type
: Undef
(0x0)
141 // CHECK
: Section
: (0x0)
142 // CHECK
: RefType
: ReferenceFlagUndefinedLazy
(0x1)
143 // CHECK
: Flags
[ (0x0)
148 // CHECK
: Name
: _d
(7)
150 // CHECK
: Type
: Undef
(0x0)
151 // CHECK
: Section
: (0x0)
152 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
153 // CHECK
: Flags
[ (0x0)
158 // CHECK
: Indirect Symbols
{
162 // CHECK
: Entry Index
: 0
163 // CHECK
: Symbol Index
: 0x4
166 // CHECK
: Entry Index
: 1
167 // CHECK
: Symbol Index
: 0x0
170 // CHECK
: Entry Index
: 2
171 // CHECK
: Symbol Index
: 0x1
174 // CHECK
: Entry Index
: 3
175 // CHECK
: Symbol Index
: 0x5
178 // CHECK
: Entry Index
: 4
179 // CHECK
: Symbol Index
: 0x80000000
182 // CHECK
: Entry Index
: 5
183 // CHECK
: Symbol Index
: 0xC0000000
188 // CHECK
: Cmd
: LC_SEGMENT
191 // CHECK
: vmaddr
: 0x0
192 // CHECK
: vmsize
: 0x1B
193 // CHECK
: fileoff
: 408
194 // CHECK
: filesize
: 27
195 // CHECK
: maxprot
: rwx
196 // CHECK
: initprot
: rwx
201 // CHECK
: ilocalsym
: 0
202 // CHECK
: nlocalsym
: 4
203 // CHECK
: iextdefsym
: 4
204 // CHECK
: nextdefsym
: 0
205 // CHECK
: iundefsym
: 4
206 // CHECK
: nundefsym
: 2
209 // CHECK
: modtaboff
: 0
211 // CHECK
: extrefsymoff
: 0
212 // CHECK
: nextrefsyms
: 0
213 // CHECK
: indirectsymoff
: 436
214 // CHECK
: nindirectsyms
: 6
215 // CHECK
: extreloff
: 0
217 // CHECK
: locreloff
: 0