xref: /freebsd-src/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c (revision aac74b708b3dc49466b0fb5365bc2923b7727a1c)
1a85fe12eSEd Maste /*-
2a85fe12eSEd Maste  * Copyright (c) 2008,2009 Kai Wang
3a85fe12eSEd Maste  * All rights reserved.
4a85fe12eSEd Maste  *
5a85fe12eSEd Maste  * Redistribution and use in source and binary forms, with or without
6a85fe12eSEd Maste  * modification, are permitted provided that the following conditions
7a85fe12eSEd Maste  * are met:
8a85fe12eSEd Maste  * 1. Redistributions of source code must retain the above copyright
9a85fe12eSEd Maste  *    notice, this list of conditions and the following disclaimer
10a85fe12eSEd Maste  *    in this position and unchanged.
11a85fe12eSEd Maste  * 2. Redistributions in binary form must reproduce the above copyright
12a85fe12eSEd Maste  *    notice, this list of conditions and the following disclaimer in the
13a85fe12eSEd Maste  *    documentation and/or other materials provided with the distribution.
14a85fe12eSEd Maste  *
15a85fe12eSEd Maste  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
16a85fe12eSEd Maste  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17a85fe12eSEd Maste  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18a85fe12eSEd Maste  * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
19a85fe12eSEd Maste  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20a85fe12eSEd Maste  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21a85fe12eSEd Maste  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22a85fe12eSEd Maste  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23a85fe12eSEd Maste  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24a85fe12eSEd Maste  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25a85fe12eSEd Maste  */
26a85fe12eSEd Maste 
27a85fe12eSEd Maste #include <sys/param.h>
28a85fe12eSEd Maste #include <libelf.h>
29a85fe12eSEd Maste #include <libelftc.h>
30a85fe12eSEd Maste 
31a85fe12eSEd Maste #include "_libelftc.h"
32a85fe12eSEd Maste 
33d003e0d7SEd Maste ELFTC_VCSID("$Id: libelftc_bfdtarget.c 3752 2019-06-28 01:12:53Z emaste $");
34a85fe12eSEd Maste 
35a85fe12eSEd Maste struct _Elftc_Bfd_Target _libelftc_targets[] = {
36a85fe12eSEd Maste 
37a85fe12eSEd Maste 	{
38a85fe12eSEd Maste 		.bt_name = "binary",
39a85fe12eSEd Maste 		.bt_type = ETF_BINARY,
40a85fe12eSEd Maste 	},
41a85fe12eSEd Maste 
42a85fe12eSEd Maste 	{
43a85fe12eSEd Maste 		.bt_name      = "elf32-avr",
44a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
45a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
46a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
47a85fe12eSEd Maste 		.bt_machine   = EM_AVR,
48a85fe12eSEd Maste 	},
49a85fe12eSEd Maste 
50a85fe12eSEd Maste 	{
51a85fe12eSEd Maste 		.bt_name      = "elf32-big",
52a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
53a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
54a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
55a85fe12eSEd Maste 	},
56a85fe12eSEd Maste 
57a85fe12eSEd Maste 	{
58a85fe12eSEd Maste 		.bt_name      = "elf32-bigarm",
59a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
60a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
61a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
62a85fe12eSEd Maste 		.bt_machine   = EM_ARM,
63a85fe12eSEd Maste 	},
64a85fe12eSEd Maste 
65a85fe12eSEd Maste 	{
66a85fe12eSEd Maste 		.bt_name      = "elf32-bigmips",
67a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
68a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
69a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
70a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
71a85fe12eSEd Maste 	},
72a85fe12eSEd Maste 
73a85fe12eSEd Maste 	{
74a85fe12eSEd Maste 		.bt_name      = "elf32-i386",
75a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
76a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
77a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
78a85fe12eSEd Maste 		.bt_machine   = EM_386,
79a85fe12eSEd Maste 	},
80a85fe12eSEd Maste 
81a85fe12eSEd Maste 	{
82a85fe12eSEd Maste 		.bt_name      = "elf32-i386-freebsd",
83a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
84a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
85a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
86a85fe12eSEd Maste 		.bt_machine   = EM_386,
87a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD,
88a85fe12eSEd Maste 	},
89a85fe12eSEd Maste 
90a85fe12eSEd Maste 	{
91a85fe12eSEd Maste 		.bt_name      = "elf32-ia64-big",
92a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
93a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
94a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
95a85fe12eSEd Maste 		.bt_machine   = EM_IA_64,
96a85fe12eSEd Maste 	},
97a85fe12eSEd Maste 
98a85fe12eSEd Maste 	{
99a85fe12eSEd Maste 		.bt_name      = "elf32-little",
100a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
101a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
102a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
103a85fe12eSEd Maste 	},
104a85fe12eSEd Maste 
105a85fe12eSEd Maste 	{
106a85fe12eSEd Maste 		.bt_name      = "elf32-littlearm",
107a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
108a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
109a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
110a85fe12eSEd Maste 		.bt_machine   = EM_ARM,
111a85fe12eSEd Maste 	},
112a85fe12eSEd Maste 
113a85fe12eSEd Maste 	{
114a85fe12eSEd Maste 		.bt_name      = "elf32-littlemips",
115a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
116a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
117a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
118a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
119a85fe12eSEd Maste 	},
120a85fe12eSEd Maste 
121a85fe12eSEd Maste 	{
122a85fe12eSEd Maste 		.bt_name      = "elf32-powerpc",
123a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
124a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
125a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
126a85fe12eSEd Maste 		.bt_machine   = EM_PPC,
127a85fe12eSEd Maste 	},
128a85fe12eSEd Maste 
129a85fe12eSEd Maste 	{
1309569e13dSJustin Hibbits 		.bt_name      = "elf32-powerpc-freebsd",
1319569e13dSJustin Hibbits 		.bt_type      = ETF_ELF,
1329569e13dSJustin Hibbits 		.bt_byteorder = ELFDATA2MSB,
1339569e13dSJustin Hibbits 		.bt_elfclass  = ELFCLASS32,
1349569e13dSJustin Hibbits 		.bt_machine   = EM_PPC,
1359569e13dSJustin Hibbits 		.bt_osabi     = ELFOSABI_FREEBSD,
1369569e13dSJustin Hibbits 	},
1379569e13dSJustin Hibbits 
1389569e13dSJustin Hibbits 	{
139a85fe12eSEd Maste 		.bt_name      = "elf32-powerpcle",
140a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
141a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
142a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
143a85fe12eSEd Maste 		.bt_machine   = EM_PPC,
144a85fe12eSEd Maste 	},
145a85fe12eSEd Maste 
146a85fe12eSEd Maste 	{
147a85fe12eSEd Maste 		.bt_name      = "elf32-sh",
148a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
149a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
150a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
151a85fe12eSEd Maste 		.bt_machine   = EM_SH,
152a85fe12eSEd Maste 	},
153a85fe12eSEd Maste 
154a85fe12eSEd Maste 	{
155a85fe12eSEd Maste 		.bt_name      = "elf32-shl",
156a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
157a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
158a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
159a85fe12eSEd Maste 		.bt_machine   = EM_SH,
160a85fe12eSEd Maste 	},
161a85fe12eSEd Maste 
162a85fe12eSEd Maste 	{
163a85fe12eSEd Maste 		.bt_name      = "elf32-sh-nbsd",
164a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
165a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
166a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
167a85fe12eSEd Maste 		.bt_machine   = EM_SH,
168a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
169a85fe12eSEd Maste 	},
170a85fe12eSEd Maste 
171a85fe12eSEd Maste 	{
172a85fe12eSEd Maste 		.bt_name      = "elf32-shl-nbsd",
173a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
174a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
175a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
176a85fe12eSEd Maste 		.bt_machine   = EM_SH,
177a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
178a85fe12eSEd Maste 	},
179a85fe12eSEd Maste 
180a85fe12eSEd Maste 	{
181a85fe12eSEd Maste 		.bt_name      = "elf32-shbig-linux",
182a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
183a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
184a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
185a85fe12eSEd Maste 		.bt_machine   = EM_SH,
186a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
187a85fe12eSEd Maste 	},
188a85fe12eSEd Maste 
189a85fe12eSEd Maste 	{
190a85fe12eSEd Maste 		.bt_name      = "elf32-sh-linux",
191a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
192a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
193a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
194a85fe12eSEd Maste 		.bt_machine   = EM_SH,
195a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
196a85fe12eSEd Maste 	},
197a85fe12eSEd Maste 
198a85fe12eSEd Maste 	{
199a85fe12eSEd Maste 		.bt_name      = "elf32-sparc",
200a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
201a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
202a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
203a85fe12eSEd Maste 		.bt_machine   = EM_SPARC,
204a85fe12eSEd Maste 	},
205a85fe12eSEd Maste 
206a85fe12eSEd Maste 	{
207adb25d1eSEd Maste 		.bt_name      = "elf32-tradbigmips",
208adb25d1eSEd Maste 		.bt_type      = ETF_ELF,
209adb25d1eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
210adb25d1eSEd Maste 		.bt_elfclass  = ELFCLASS32,
211adb25d1eSEd Maste 		.bt_machine   = EM_MIPS,
212adb25d1eSEd Maste 	},
213adb25d1eSEd Maste 
214adb25d1eSEd Maste 	{
2153ca2845dSEd Maste 		.bt_name      = "elf32-tradlittlemips",
2163ca2845dSEd Maste 		.bt_type      = ETF_ELF,
2173ca2845dSEd Maste 		.bt_byteorder = ELFDATA2LSB,
2183ca2845dSEd Maste 		.bt_elfclass  = ELFCLASS32,
2193ca2845dSEd Maste 		.bt_machine   = EM_MIPS,
2203ca2845dSEd Maste 	},
2213ca2845dSEd Maste 
2223ca2845dSEd Maste 	{
223a85fe12eSEd Maste 		.bt_name      = "elf64-alpha",
224a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
225a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
226a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
227a85fe12eSEd Maste 		.bt_machine   = EM_ALPHA,
228a85fe12eSEd Maste 	},
229a85fe12eSEd Maste 
230a85fe12eSEd Maste 	{
231a85fe12eSEd Maste 		.bt_name      = "elf64-alpha-freebsd",
232a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
233a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
234a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
235a85fe12eSEd Maste 		.bt_machine   = EM_ALPHA,
236a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD
237a85fe12eSEd Maste 	},
238a85fe12eSEd Maste 
239a85fe12eSEd Maste 	{
240a85fe12eSEd Maste 		.bt_name      = "elf64-big",
241a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
242a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
243a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
244a85fe12eSEd Maste 	},
245a85fe12eSEd Maste 
246a85fe12eSEd Maste 	{
247a85fe12eSEd Maste 		.bt_name      = "elf64-bigmips",
248a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
249a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
250a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
251a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
252a85fe12eSEd Maste 	},
253a85fe12eSEd Maste 
254a85fe12eSEd Maste 	{
255a85fe12eSEd Maste 		.bt_name      = "elf64-ia64-big",
256a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
257a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
258a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
259a85fe12eSEd Maste 		.bt_machine   = EM_IA_64,
260a85fe12eSEd Maste 	},
261a85fe12eSEd Maste 
262a85fe12eSEd Maste 	{
263a85fe12eSEd Maste 		.bt_name      = "elf64-ia64-little",
264a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
265a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
266a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
267a85fe12eSEd Maste 		.bt_machine   = EM_IA_64,
268a85fe12eSEd Maste 	},
269a85fe12eSEd Maste 
270a85fe12eSEd Maste 	{
271a85fe12eSEd Maste 		.bt_name      = "elf64-little",
272a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
273a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
274a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
275a85fe12eSEd Maste 	},
276a85fe12eSEd Maste 
277a85fe12eSEd Maste 	{
278e85c2b0bSEd Maste 		.bt_name      = "elf64-littleaarch64",
279e85c2b0bSEd Maste 		.bt_type      = ETF_ELF,
280e85c2b0bSEd Maste 		.bt_byteorder = ELFDATA2LSB,
281e85c2b0bSEd Maste 		.bt_elfclass  = ELFCLASS64,
282e85c2b0bSEd Maste 		.bt_machine   = EM_AARCH64,
283e85c2b0bSEd Maste 	},
284e85c2b0bSEd Maste 
285e85c2b0bSEd Maste 	{
286a85fe12eSEd Maste 		.bt_name      = "elf64-littlemips",
287a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
288a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
289a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
290a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
291a85fe12eSEd Maste 	},
292a85fe12eSEd Maste 
293a85fe12eSEd Maste 	{
294a85fe12eSEd Maste 		.bt_name      = "elf64-powerpc",
295a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
296a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
297a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
298a85fe12eSEd Maste 		.bt_machine   = EM_PPC64,
299a85fe12eSEd Maste 	},
300a85fe12eSEd Maste 
301a85fe12eSEd Maste 	{
3029569e13dSJustin Hibbits 		.bt_name      = "elf64-powerpc-freebsd",
3039569e13dSJustin Hibbits 		.bt_type      = ETF_ELF,
3049569e13dSJustin Hibbits 		.bt_byteorder = ELFDATA2MSB,
3059569e13dSJustin Hibbits 		.bt_elfclass  = ELFCLASS64,
3069569e13dSJustin Hibbits 		.bt_machine   = EM_PPC64,
3079569e13dSJustin Hibbits 		.bt_osabi     = ELFOSABI_FREEBSD,
3089569e13dSJustin Hibbits 	},
3099569e13dSJustin Hibbits 
3109569e13dSJustin Hibbits 	{
311a85fe12eSEd Maste 		.bt_name      = "elf64-powerpcle",
312a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
313a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
314a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
315a85fe12eSEd Maste 		.bt_machine   = EM_PPC64,
316a85fe12eSEd Maste 	},
317a85fe12eSEd Maste 
318a85fe12eSEd Maste 	{
319e16ea340SMitchell Horne 		.bt_name      = "elf32-riscv",
320e16ea340SMitchell Horne 		.bt_type      = ETF_ELF,
321e16ea340SMitchell Horne 		.bt_byteorder = ELFDATA2LSB,
322e16ea340SMitchell Horne 		.bt_elfclass  = ELFCLASS32,
323e16ea340SMitchell Horne 		.bt_machine   = EM_RISCV,
324e16ea340SMitchell Horne 	},
325e16ea340SMitchell Horne 
326e16ea340SMitchell Horne 	{
327e16ea340SMitchell Horne 		.bt_name      = "elf64-riscv",
328e16ea340SMitchell Horne 		.bt_type      = ETF_ELF,
329e16ea340SMitchell Horne 		.bt_byteorder = ELFDATA2LSB,
330e16ea340SMitchell Horne 		.bt_elfclass  = ELFCLASS64,
331e16ea340SMitchell Horne 		.bt_machine   = EM_RISCV,
332e16ea340SMitchell Horne 	},
333e16ea340SMitchell Horne 
334e16ea340SMitchell Horne 	{
335e16ea340SMitchell Horne 		.bt_name      = "elf64-riscv-freebsd",
336e16ea340SMitchell Horne 		.bt_type      = ETF_ELF,
337*aac74b70SJoseph Koshy 		.bt_byteorder = ELFDATA2LSB,
338e16ea340SMitchell Horne 		.bt_elfclass  = ELFCLASS64,
339e16ea340SMitchell Horne 		.bt_machine   = EM_RISCV,
340e16ea340SMitchell Horne 		.bt_osabi     = ELFOSABI_FREEBSD,
341e16ea340SMitchell Horne 	},
342e16ea340SMitchell Horne 
343e16ea340SMitchell Horne 	{
344a85fe12eSEd Maste 		.bt_name      = "elf64-sh64",
345a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
346a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
347a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
348a85fe12eSEd Maste 		.bt_machine   = EM_SH,
349a85fe12eSEd Maste 	},
350a85fe12eSEd Maste 
351a85fe12eSEd Maste 	{
352a85fe12eSEd Maste 		.bt_name      = "elf64-sh64l",
353a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
354a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
355a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
356a85fe12eSEd Maste 		.bt_machine   = EM_SH,
357a85fe12eSEd Maste 	},
358a85fe12eSEd Maste 
359a85fe12eSEd Maste 	{
360a85fe12eSEd Maste 		.bt_name      = "elf64-sh64-nbsd",
361a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
362a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
363a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
364a85fe12eSEd Maste 		.bt_machine   = EM_SH,
365a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
366a85fe12eSEd Maste 	},
367a85fe12eSEd Maste 
368a85fe12eSEd Maste 	{
369a85fe12eSEd Maste 		.bt_name      = "elf64-sh64l-nbsd",
370a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
371a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
372a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
373a85fe12eSEd Maste 		.bt_machine   = EM_SH,
374a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
375a85fe12eSEd Maste 	},
376a85fe12eSEd Maste 
377a85fe12eSEd Maste 	{
378a85fe12eSEd Maste 		.bt_name      = "elf64-sh64big-linux",
379a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
380a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
381a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
382a85fe12eSEd Maste 		.bt_machine   = EM_SH,
383a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
384a85fe12eSEd Maste 	},
385a85fe12eSEd Maste 
386a85fe12eSEd Maste 	{
387a85fe12eSEd Maste 		.bt_name      = "elf64-sh64-linux",
388a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
389a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
390a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
391a85fe12eSEd Maste 		.bt_machine   = EM_SH,
392a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
393a85fe12eSEd Maste 	},
394a85fe12eSEd Maste 
395a85fe12eSEd Maste 	{
396a85fe12eSEd Maste 		.bt_name      = "elf64-sparc",
397a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
398a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
399a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
400a85fe12eSEd Maste 		.bt_machine   = EM_SPARCV9,
401a85fe12eSEd Maste 	},
402a85fe12eSEd Maste 
403a85fe12eSEd Maste 	{
404a85fe12eSEd Maste 		.bt_name      = "elf64-sparc-freebsd",
405a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
406a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
407a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
408a85fe12eSEd Maste 		.bt_machine   = EM_SPARCV9,
409a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD
410a85fe12eSEd Maste 	},
411a85fe12eSEd Maste 
412a85fe12eSEd Maste 	{
413adb25d1eSEd Maste 		.bt_name      = "elf64-tradbigmips",
414adb25d1eSEd Maste 		.bt_type      = ETF_ELF,
415adb25d1eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
416adb25d1eSEd Maste 		.bt_elfclass  = ELFCLASS64,
417adb25d1eSEd Maste 		.bt_machine   = EM_MIPS,
418adb25d1eSEd Maste 	},
419adb25d1eSEd Maste 
420adb25d1eSEd Maste 	{
4213ca2845dSEd Maste 		.bt_name      = "elf64-tradlittlemips",
4223ca2845dSEd Maste 		.bt_type      = ETF_ELF,
4233ca2845dSEd Maste 		.bt_byteorder = ELFDATA2LSB,
4243ca2845dSEd Maste 		.bt_elfclass  = ELFCLASS64,
4253ca2845dSEd Maste 		.bt_machine   = EM_MIPS,
4263ca2845dSEd Maste 	},
4273ca2845dSEd Maste 
4283ca2845dSEd Maste 	{
429a85fe12eSEd Maste 		.bt_name      = "elf64-x86-64",
430a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
431a85fe12eSEd Maste 		.bt_byteorder =	ELFDATA2LSB,
432a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
433a85fe12eSEd Maste 		.bt_machine   = EM_X86_64,
434a85fe12eSEd Maste 	},
435a85fe12eSEd Maste 
436a85fe12eSEd Maste 	{
437a85fe12eSEd Maste 		.bt_name      = "elf64-x86-64-freebsd",
438a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
439a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
440a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
441a85fe12eSEd Maste 		.bt_machine   = EM_X86_64,
442a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD
443a85fe12eSEd Maste 	},
444a85fe12eSEd Maste 
445a85fe12eSEd Maste 	{
446a85fe12eSEd Maste 		.bt_name = "ihex",
447a85fe12eSEd Maste 		.bt_type = ETF_IHEX,
448a85fe12eSEd Maste 	},
449a85fe12eSEd Maste 
450a85fe12eSEd Maste 	{
451a85fe12eSEd Maste 		.bt_name = "srec",
452a85fe12eSEd Maste 		.bt_type = ETF_SREC,
453a85fe12eSEd Maste 	},
454a85fe12eSEd Maste 
455a85fe12eSEd Maste 	{
456a85fe12eSEd Maste 		.bt_name = "symbolsrec",
457a85fe12eSEd Maste 		.bt_type = ETF_SREC,
458a85fe12eSEd Maste 	},
459a85fe12eSEd Maste 
460a85fe12eSEd Maste 	{
461839529caSEd Maste 		.bt_name    = "efi-app-ia32",
462839529caSEd Maste 		.bt_type    = ETF_EFI,
463839529caSEd Maste 		.bt_machine = EM_386,
464839529caSEd Maste 	},
465839529caSEd Maste 
466839529caSEd Maste 	{
467839529caSEd Maste 		.bt_name    = "efi-app-x86_64",
468839529caSEd Maste 		.bt_type    = ETF_EFI,
469839529caSEd Maste 		.bt_machine = EM_X86_64,
470839529caSEd Maste 	},
471839529caSEd Maste 
472839529caSEd Maste 	{
473839529caSEd Maste 		.bt_name    = "pei-i386",
474839529caSEd Maste 		.bt_type    = ETF_PE,
475839529caSEd Maste 		.bt_machine = EM_386,
476839529caSEd Maste 	},
477839529caSEd Maste 
478839529caSEd Maste 	{
479839529caSEd Maste 		.bt_name    = "pei-x86-64",
480839529caSEd Maste 		.bt_type    = ETF_PE,
481839529caSEd Maste 		.bt_machine = EM_X86_64,
482839529caSEd Maste 	},
483839529caSEd Maste 
484839529caSEd Maste 	{
485a85fe12eSEd Maste 		.bt_name = NULL,
486a85fe12eSEd Maste 		.bt_type = ETF_NONE,
487a85fe12eSEd Maste 	},
488a85fe12eSEd Maste };
489