[memprof] Remove an unused using directive (#117004)
[llvm-project.git] / lld / test / ELF / emulation-mips.s
blobf6b04ca90abdc7b3e6c6fb55fabe7be5f93de527
1 # REQUIRES: mips
2 # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %tmips
3 # RUN: ld.lld -m elf32btsmip -e _start %tmips -o %t2mips
4 # RUN: llvm-readobj --file-headers %t2mips \
5 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS %s
6 # RUN: ld.lld -m elf32btsmip_fbsd -e _start %tmips -o %t2mips
7 # RUN: llvm-readobj --file-headers %t2mips \
8 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPS %s
9 # RUN: ld.lld %tmips -e _start -o %t3mips
10 # RUN: llvm-readobj --file-headers %t3mips \
11 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS %s
12 # RUN: echo 'OUTPUT_FORMAT(elf32-tradbigmips)' > %tmips.script
13 # RUN: ld.lld %tmips.script -e _start %tmips -o %t4mips
14 # RUN: llvm-readobj --file-headers %t4mips \
15 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS %s
16 # RUN: echo 'OUTPUT_FORMAT(elf32-tradbigmips-freebsd)' > %tmips.script
17 # RUN: ld.lld %tmips.script -e _start %tmips -o %t4mips
18 # RUN: llvm-readobj --file-headers %t4mips \
19 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPS %s
20 # RUN: echo 'OUTPUT_FORMAT(elf32-bigmips)' > %tmips2.script
21 # RUN: ld.lld %tmips2.script -e _start %tmips -o %t5mips
22 # RUN: llvm-readobj --file-headers %t5mips \
23 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS %s
24 # MIPS: ElfHeader {
25 # MIPS-NEXT: Ident {
26 # MIPS-NEXT: Magic: (7F 45 4C 46)
27 # MIPS-NEXT: Class: 32-bit (0x1)
28 # MIPS-NEXT: DataEncoding: BigEndian (0x2)
29 # MIPS-NEXT: FileVersion: 1
30 # MIPS-NEXT: OS/ABI: [[OSABI]]
31 # MIPS-NEXT: ABIVersion: 1
32 # MIPS-NEXT: Unused: (00 00 00 00 00 00 00)
33 # MIPS-NEXT: }
34 # MIPS-NEXT: Type: Executable (0x2)
35 # MIPS-NEXT: Machine: EM_MIPS (0x8)
36 # MIPS-NEXT: Version: 1
37 # MIPS-NEXT: Entry:
38 # MIPS-NEXT: ProgramHeaderOffset: 0x34
39 # MIPS-NEXT: SectionHeaderOffset:
40 # MIPS-NEXT: Flags [
41 # MIPS-NEXT: EF_MIPS_ABI_O32
42 # MIPS-NEXT: EF_MIPS_ARCH_32
43 # MIPS-NEXT: EF_MIPS_CPIC
44 # MIPS-NEXT: ]
46 # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %tmipsel
47 # RUN: ld.lld -m elf32ltsmip -e _start %tmipsel -o %t2mipsel
48 # RUN: llvm-readobj --file-headers %t2mipsel \
49 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSEL %s
50 # RUN: ld.lld -m elf32ltsmip_fbsd -e _start %tmipsel -o %t2mipsel
51 # RUN: llvm-readobj --file-headers %t2mipsel \
52 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPSEL %s
53 # RUN: ld.lld -melf32ltsmip -e _start %tmipsel -o %t2mipsel
54 # RUN: llvm-readobj --file-headers %t2mipsel \
55 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSEL %s
56 # RUN: ld.lld %tmipsel -e _start -o %t3mipsel
57 # RUN: llvm-readobj --file-headers %t3mipsel \
58 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSEL %s
59 # RUN: echo 'OUTPUT_FORMAT(elf32-tradlittlemips)' > %tmipsel.script
60 # RUN: ld.lld %tmipsel.script -e _start %tmipsel -o %t4mipsel
61 # RUN: llvm-readobj --file-headers %t4mipsel \
62 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSEL %s
63 # RUN: echo 'OUTPUT_FORMAT(elf32-tradlittlemips-freebsd)' > %tmipsel.script
64 # RUN: ld.lld %tmipsel.script -e _start %tmipsel -o %t4mipsel
65 # RUN: llvm-readobj --file-headers %t4mipsel \
66 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPSEL %s
67 # MIPSEL: ElfHeader {
68 # MIPSEL-NEXT: Ident {
69 # MIPSEL-NEXT: Magic: (7F 45 4C 46)
70 # MIPSEL-NEXT: Class: 32-bit (0x1)
71 # MIPSEL-NEXT: DataEncoding: LittleEndian (0x1)
72 # MIPSEL-NEXT: FileVersion: 1
73 # MIPSEL-NEXT: OS/ABI: [[OSABI]]
74 # MIPSEL-NEXT: ABIVersion: 1
75 # MIPSEL-NEXT: Unused: (00 00 00 00 00 00 00)
76 # MIPSEL-NEXT: }
77 # MIPSEL-NEXT: Type: Executable (0x2)
78 # MIPSEL-NEXT: Machine: EM_MIPS (0x8)
79 # MIPSEL-NEXT: Version: 1
80 # MIPSEL-NEXT: Entry:
81 # MIPSEL-NEXT: ProgramHeaderOffset: 0x34
82 # MIPSEL-NEXT: SectionHeaderOffset:
83 # MIPSEL-NEXT: Flags [
84 # MIPSEL-NEXT: EF_MIPS_ABI_O32
85 # MIPSEL-NEXT: EF_MIPS_ARCH_32
86 # MIPSEL-NEXT: EF_MIPS_CPIC
87 # MIPSEL-NEXT: ]
89 # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux-gnuabin32 %s -o %tmipsn32
90 # RUN: ld.lld -m elf32btsmipn32 -e _start %tmipsn32 -o %t2mipsn32
91 # RUN: llvm-readobj --file-headers %t2mipsn32 \
92 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32 %s
93 # RUN: ld.lld -m elf32btsmipn32_fbsd -e _start %tmipsn32 -o %t2mipsn32
94 # RUN: llvm-readobj --file-headers %t2mipsn32 \
95 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPSN32 %s
96 # RUN: ld.lld %tmipsn32 -e _start -o %t3mipsn32
97 # RUN: llvm-readobj --file-headers %t3mipsn32 \
98 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32 %s
99 # RUN: echo 'OUTPUT_FORMAT(elf32-ntradbigmips)' > %tmipsn32.script
100 # RUN: ld.lld %tmipsn32.script -e _start %tmipsn32 -o %t4mipsn32
101 # RUN: llvm-readobj --file-headers %t4mipsn32 \
102 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32 %s
103 # RUN: echo 'OUTPUT_FORMAT(elf32-ntradbigmips-freebsd)' > %tmipsn32.script
104 # RUN: ld.lld %tmipsn32.script -e _start %tmipsn32 -o %t4mipsn32
105 # RUN: llvm-readobj --file-headers %t4mipsn32 \
106 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPSN32 %s
107 # MIPSN32: ElfHeader {
108 # MIPSN32-NEXT: Ident {
109 # MIPSN32-NEXT: Magic: (7F 45 4C 46)
110 # MIPSN32-NEXT: Class: 32-bit (0x1)
111 # MIPSN32-NEXT: DataEncoding: BigEndian (0x2)
112 # MIPSN32-NEXT: FileVersion: 1
113 # MIPSN32-NEXT: OS/ABI: [[OSABI]]
114 # MIPSN32-NEXT: ABIVersion: 1
115 # MIPSN32-NEXT: Unused: (00 00 00 00 00 00 00)
116 # MIPSN32-NEXT: }
117 # MIPSN32-NEXT: Type: Executable (0x2)
118 # MIPSN32-NEXT: Machine: EM_MIPS (0x8)
119 # MIPSN32-NEXT: Version: 1
120 # MIPSN32-NEXT: Entry:
121 # MIPSN32-NEXT: ProgramHeaderOffset: 0x34
122 # MIPSN32-NEXT: SectionHeaderOffset:
123 # MIPSN32-NEXT: Flags [
124 # MIPSN32-NEXT: EF_MIPS_ABI2
125 # MIPSN32-NEXT: EF_MIPS_ARCH_64
126 # MIPSN32-NEXT: EF_MIPS_CPIC
127 # MIPSN32-NEXT: ]
129 # RUN: llvm-mc -filetype=obj -triple=mips64el-unknown-linux-gnuabin32 %s -o %tmipsn32el
130 # RUN: ld.lld -m elf32ltsmipn32 -e _start %tmipsn32el -o %t2mipsn32el
131 # RUN: llvm-readobj --file-headers %t2mipsn32el \
132 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32EL %s
133 # RUN: ld.lld -m elf32ltsmipn32_fbsd -e _start %tmipsn32el -o %t2mipsn32el
134 # RUN: llvm-readobj --file-headers %t2mipsn32el \
135 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPSN32EL %s
136 # RUN: ld.lld -melf32ltsmipn32 -e _start %tmipsn32el -o %t2mipsn32el
137 # RUN: llvm-readobj --file-headers %t2mipsn32el \
138 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32EL %s
139 # RUN: ld.lld %tmipsn32el -e _start -o %t3mipsn32el
140 # RUN: llvm-readobj --file-headers %t3mipsn32el \
141 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32EL %s
142 # RUN: echo 'OUTPUT_FORMAT(elf32-ntradlittlemips)' > %tmipsn32el.script
143 # RUN: ld.lld %tmipsn32el.script -e _start %tmipsn32el -o %t4mipsn32el
144 # RUN: llvm-readobj --file-headers %t4mipsn32el \
145 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPSN32EL %s
146 # RUN: echo 'OUTPUT_FORMAT(elf32-ntradlittlemips-freebsd)' > %tmipsn32el.script
147 # RUN: ld.lld %tmipsn32el.script -e _start %tmipsn32el -o %t4mipsn32el
148 # RUN: llvm-readobj --file-headers %t4mipsn32el \
149 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPSN32EL %s
150 # MIPSN32EL: ElfHeader {
151 # MIPSN32EL-NEXT: Ident {
152 # MIPSN32EL-NEXT: Magic: (7F 45 4C 46)
153 # MIPSN32EL-NEXT: Class: 32-bit (0x1)
154 # MIPSN32EL-NEXT: DataEncoding: LittleEndian (0x1)
155 # MIPSN32EL-NEXT: FileVersion: 1
156 # MIPSN32EL-NEXT: OS/ABI: [[OSABI]]
157 # MIPSN32EL-NEXT: ABIVersion: 1
158 # MIPSN32EL-NEXT: Unused: (00 00 00 00 00 00 00)
159 # MIPSN32EL-NEXT: }
160 # MIPSN32EL-NEXT: Type: Executable (0x2)
161 # MIPSN32EL-NEXT: Machine: EM_MIPS (0x8)
162 # MIPSN32EL-NEXT: Version: 1
163 # MIPSN32EL-NEXT: Entry:
164 # MIPSN32EL-NEXT: ProgramHeaderOffset: 0x34
165 # MIPSN32EL-NEXT: SectionHeaderOffset:
166 # MIPSN32EL-NEXT: Flags [
167 # MIPSN32EL-NEXT: EF_MIPS_ABI2
168 # MIPSN32EL-NEXT: EF_MIPS_ARCH_64
169 # MIPSN32EL-NEXT: EF_MIPS_CPIC
170 # MIPSN32EL-NEXT: ]
172 # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux -position-independent \
173 # RUN: %s -o %tmips64
174 # RUN: ld.lld -m elf64btsmip -e _start %tmips64 -o %t2mips64
175 # RUN: llvm-readobj --file-headers %t2mips64 \
176 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS64 %s
177 # RUN: ld.lld -m elf64btsmip_fbsd -e _start %tmips64 -o %t2mips64
178 # RUN: llvm-readobj --file-headers %t2mips64 \
179 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPS64 %s
180 # RUN: ld.lld %tmips64 -e _start -o %t3mips64
181 # RUN: llvm-readobj --file-headers %t3mips64 \
182 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS64 %s
183 # RUN: echo 'OUTPUT_FORMAT(elf64-tradbigmips)' > %tmips64.script
184 # RUN: ld.lld %tmips64.script -e _start %tmips64 -o %t4mips64
185 # RUN: llvm-readobj --file-headers %t4mips64 \
186 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS64 %s
187 # RUN: echo 'OUTPUT_FORMAT(elf64-tradbigmips-freebsd)' > %tmips64.script
188 # RUN: ld.lld %tmips64.script -e _start %tmips64 -o %t4mips64
189 # RUN: llvm-readobj --file-headers %t4mips64 \
190 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPS64 %s
191 # MIPS64: ElfHeader {
192 # MIPS64-NEXT: Ident {
193 # MIPS64-NEXT: Magic: (7F 45 4C 46)
194 # MIPS64-NEXT: Class: 64-bit (0x2)
195 # MIPS64-NEXT: DataEncoding: BigEndian (0x2)
196 # MIPS64-NEXT: FileVersion: 1
197 # MIPS64-NEXT: OS/ABI: [[OSABI]]
198 # MIPS64-NEXT: ABIVersion: 0
199 # MIPS64-NEXT: Unused: (00 00 00 00 00 00 00)
200 # MIPS64-NEXT: }
201 # MIPS64-NEXT: Type: Executable (0x2)
202 # MIPS64-NEXT: Machine: EM_MIPS (0x8)
203 # MIPS64-NEXT: Version: 1
204 # MIPS64-NEXT: Entry:
205 # MIPS64-NEXT: ProgramHeaderOffset: 0x40
206 # MIPS64-NEXT: SectionHeaderOffset:
207 # MIPS64-NEXT: Flags [
208 # MIPS64-NEXT: EF_MIPS_ARCH_64
209 # MIPS64-NEXT: EF_MIPS_CPIC
210 # MIPS64-NEXT: EF_MIPS_PIC
211 # MIPS64-NEXT: ]
213 # RUN: llvm-mc -filetype=obj -triple=mips64el-unknown-linux \
214 # RUN: -position-independent %s -o %tmips64el
215 # RUN: ld.lld -m elf64ltsmip -e _start %tmips64el -o %t2mips64el
216 # RUN: llvm-readobj --file-headers %t2mips64el \
217 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS64EL %s
218 # RUN: ld.lld -m elf64ltsmip_fbsd -e _start %tmips64el -o %t2mips64el
219 # RUN: llvm-readobj --file-headers %t2mips64el \
220 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPS64EL %s
221 # RUN: ld.lld %tmips64el -e _start -o %t3mips64el
222 # RUN: llvm-readobj --file-headers %t3mips64el \
223 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS64EL %s
224 # RUN: echo 'OUTPUT_FORMAT(elf64-tradlittlemips)' > %tmips64el.script
225 # RUN: ld.lld %tmips64el.script -e _start %tmips64el -o %t4mips64el
226 # RUN: llvm-readobj --file-headers %t4mips64el \
227 # RUN: | FileCheck -DOSABI=SystemV --check-prefix=MIPS64EL %s
228 # RUN: echo 'OUTPUT_FORMAT(elf64-tradlittlemips-freebsd)' > %tmips64el.script
229 # RUN: ld.lld %tmips64el.script -e _start %tmips64el -o %t4mips64el
230 # RUN: llvm-readobj --file-headers %t4mips64el \
231 # RUN: | FileCheck -DOSABI=FreeBSD --check-prefix=MIPS64EL %s
232 # MIPS64EL: ElfHeader {
233 # MIPS64EL-NEXT: Ident {
234 # MIPS64EL-NEXT: Magic: (7F 45 4C 46)
235 # MIPS64EL-NEXT: Class: 64-bit (0x2)
236 # MIPS64EL-NEXT: DataEncoding: LittleEndian (0x1)
237 # MIPS64EL-NEXT: FileVersion: 1
238 # MIPS64EL-NEXT: OS/ABI: [[OSABI]]
239 # MIPS64EL-NEXT: ABIVersion: 0
240 # MIPS64EL-NEXT: Unused: (00 00 00 00 00 00 00)
241 # MIPS64EL-NEXT: }
242 # MIPS64EL-NEXT: Type: Executable (0x2)
243 # MIPS64EL-NEXT: Machine: EM_MIPS (0x8)
244 # MIPS64EL-NEXT: Version: 1
245 # MIPS64EL-NEXT: Entry:
246 # MIPS64EL-NEXT: ProgramHeaderOffset: 0x40
247 # MIPS64EL-NEXT: SectionHeaderOffset:
248 # MIPS64EL-NEXT: Flags [
249 # MIPS64EL-NEXT: EF_MIPS_ARCH_64
250 # MIPS64EL-NEXT: EF_MIPS_CPIC
251 # MIPS64EL-NEXT: EF_MIPS_PIC
252 # MIPS64EL-NEXT: ]
254 .globl _start
255 _start: