1 // RUN
: llvm-mc
-triple x86_64-apple-darwin10
%s
-filetype
=obj
-o
- | llvm-readobj
--file-headers
-S
-r
--symbols
--macho-segment
--macho-dysymtab
--macho-indirect-symbols | FileCheck
%s
8 .set foo_set1, (_foo + 0xffff0000)
9 .set foo_set2, (_foo - _bar + 0xffff0000)
11 foo_equals
= (_foo
+ 0xffff0000)
12 foo_equals2
= (_foo
- _bar
+ 0xffff0000)
14 .globl foo_set1_global;
15 .set foo_set1_global, (_foo + 0xffff0000)
17 .globl foo_set2_global;
18 .set foo_set2_global, (_foo - _bar + 0xffff0000)
20 // CHECK
: File
: <stdin
>
21 // CHECK
: Format
: Mach-O
64-bit x86-
64
22 // CHECK
: Arch
: x86_64
23 // CHECK
: AddressSize
: 64bit
24 // CHECK
: MachHeader
{
25 // CHECK
: Magic
: Magic64
(0xFEEDFACF)
26 // CHECK
: CpuType
: X86-
64 (0x1000007)
27 // CHECK
: CpuSubType
: CPU_SUBTYPE_X86_64_ALL
(0x3)
28 // CHECK
: FileType
: Relocatable
(0x1)
29 // CHECK
: NumOfLoadCommands
: 4
30 // CHECK
: SizeOfLoadCommands
: 272
31 // CHECK
: Flags
[ (0x0)
33 // CHECK
: Reserved
: 0x0
38 // CHECK
: Name
: __text
(5F
5F
74 65 78 74 00 00 00 00 00 00 00 00 00 00)
39 // CHECK
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
40 // CHECK
: Address
: 0x0
43 // CHECK
: Alignment
: 0
44 // CHECK
: RelocationOffset
: 0x0
45 // CHECK
: RelocationCount
: 0
46 // CHECK
: Type
: Regular
(0x0)
47 // CHECK
: Attributes
[ (0x800004)
48 // CHECK
: PureInstructions
(0x800000)
49 // CHECK
: SomeInstructions
(0x4)
51 // CHECK
: Reserved1
: 0x0
52 // CHECK
: Reserved2
: 0x0
53 // CHECK
: Reserved3
: 0x0
56 // CHECK
: Relocations
[
60 // CHECK
: Name
: _bar
(12)
61 // CHECK
: Type
: Section
(0xE)
62 // CHECK
: Section
: __text
(0x1)
63 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
64 // CHECK
: Flags
[ (0x0)
69 // CHECK
: Name
: _foo
(17)
70 // CHECK
: Type
: Section
(0xE)
71 // CHECK
: Section
: __text
(0x1)
72 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
73 // CHECK
: Flags
[ (0x0)
78 // CHECK
: Name
: foo_set1
(75)
79 // CHECK
: Type
: Section
(0xE)
80 // CHECK
: Section
: __text
(0x1)
81 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
82 // CHECK
: Flags
[ (0x220)
83 // CHECK
: AltEntry
(0x200)
84 // CHECK
: NoDeadStrip
(0x20)
86 // CHECK
: Value
: 0xFFFF0001
89 // CHECK
: Name
: foo_set2
(54)
90 // CHECK
: Type
: Abs (0x2)
91 // CHECK
: Section
: (0x0)
92 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
93 // CHECK
: Flags
[ (0x20)
94 // CHECK
: NoDeadStrip
(0x20)
96 // CHECK
: Value
: 0xFFFF0001
99 // CHECK
: Name
: foo_equals
(1)
100 // CHECK
: Type
: Section
(0xE)
101 // CHECK
: Section
: __text
(0x1)
102 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
103 // CHECK
: Flags
[ (0x200)
104 // CHECK
: AltEntry
(0x200)
106 // CHECK
: Value
: 0xFFFF0001
109 // CHECK
: Name
: foo_equals2
(63)
110 // CHECK
: Type
: Abs (0x2)
111 // CHECK
: Section
: (0x0)
112 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
113 // CHECK
: Flags
[ (0x0)
115 // CHECK
: Value
: 0xFFFF0001
118 // CHECK
: Name
: foo_set1_global
(38)
120 // CHECK
: Type
: Section
(0xE)
121 // CHECK
: Section
: __text
(0x1)
122 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
123 // CHECK
: Flags
[ (0x220)
124 // CHECK
: AltEntry
(0x200)
125 // CHECK
: NoDeadStrip
(0x20)
127 // CHECK
: Value
: 0xFFFF0001
130 // CHECK
: Name
: foo_set2_global
(22)
132 // CHECK
: Type
: Abs (0x2)
133 // CHECK
: Section
: (0x0)
134 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
135 // CHECK
: Flags
[ (0x20)
136 // CHECK
: NoDeadStrip
(0x20)
138 // CHECK
: Value
: 0xFFFF0001
141 // CHECK
: Indirect Symbols
{
147 // CHECK
: Cmd
: LC_SEGMENT_64
150 // CHECK
: vmaddr
: 0x0
151 // CHECK
: vmsize
: 0x2
152 // CHECK
: fileoff
: 304
153 // CHECK
: filesize
: 2
154 // CHECK
: maxprot
: rwx
155 // CHECK
: initprot
: rwx
160 // CHECK
: ilocalsym
: 0
161 // CHECK
: nlocalsym
: 6
162 // CHECK
: iextdefsym
: 6
163 // CHECK
: nextdefsym
: 2
164 // CHECK
: iundefsym
: 8
165 // CHECK
: nundefsym
: 0
168 // CHECK
: modtaboff
: 0
170 // CHECK
: extrefsymoff
: 0
171 // CHECK
: nextrefsyms
: 0
172 // CHECK
: indirectsymoff
: 0
173 // CHECK
: nindirectsyms
: 0
174 // CHECK
: extreloff
: 0
176 // CHECK
: locreloff
: 0