xref: /freebsd/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c (revision a85fe12e361c14018a24f0f7714663b490206c7f)
1*a85fe12eSEd Maste /*-
2*a85fe12eSEd Maste  * Copyright (c) 2008,2009 Kai Wang
3*a85fe12eSEd Maste  * All rights reserved.
4*a85fe12eSEd Maste  *
5*a85fe12eSEd Maste  * Redistribution and use in source and binary forms, with or without
6*a85fe12eSEd Maste  * modification, are permitted provided that the following conditions
7*a85fe12eSEd Maste  * are met:
8*a85fe12eSEd Maste  * 1. Redistributions of source code must retain the above copyright
9*a85fe12eSEd Maste  *    notice, this list of conditions and the following disclaimer
10*a85fe12eSEd Maste  *    in this position and unchanged.
11*a85fe12eSEd Maste  * 2. Redistributions in binary form must reproduce the above copyright
12*a85fe12eSEd Maste  *    notice, this list of conditions and the following disclaimer in the
13*a85fe12eSEd Maste  *    documentation and/or other materials provided with the distribution.
14*a85fe12eSEd Maste  *
15*a85fe12eSEd Maste  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
16*a85fe12eSEd Maste  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17*a85fe12eSEd Maste  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18*a85fe12eSEd Maste  * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
19*a85fe12eSEd Maste  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20*a85fe12eSEd Maste  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21*a85fe12eSEd Maste  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22*a85fe12eSEd Maste  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23*a85fe12eSEd Maste  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24*a85fe12eSEd Maste  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*a85fe12eSEd Maste  */
26*a85fe12eSEd Maste 
27*a85fe12eSEd Maste #include <sys/cdefs.h>
28*a85fe12eSEd Maste 
29*a85fe12eSEd Maste #include <sys/param.h>
30*a85fe12eSEd Maste #include <libelf.h>
31*a85fe12eSEd Maste #include <libelftc.h>
32*a85fe12eSEd Maste 
33*a85fe12eSEd Maste #include "_libelftc.h"
34*a85fe12eSEd Maste 
35*a85fe12eSEd Maste ELFTC_VCSID("$Id: libelftc_bfdtarget.c 2251 2011-11-30 16:50:06Z jkoshy $");
36*a85fe12eSEd Maste 
37*a85fe12eSEd Maste struct _Elftc_Bfd_Target _libelftc_targets[] = {
38*a85fe12eSEd Maste 
39*a85fe12eSEd Maste 	{
40*a85fe12eSEd Maste 		.bt_name = "binary",
41*a85fe12eSEd Maste 		.bt_type = ETF_BINARY,
42*a85fe12eSEd Maste 	},
43*a85fe12eSEd Maste 
44*a85fe12eSEd Maste 	{
45*a85fe12eSEd Maste 		.bt_name      = "elf32-avr",
46*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
47*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
48*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
49*a85fe12eSEd Maste 		.bt_machine   = EM_AVR,
50*a85fe12eSEd Maste 	},
51*a85fe12eSEd Maste 
52*a85fe12eSEd Maste 	{
53*a85fe12eSEd Maste 		.bt_name      = "elf32-big",
54*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
55*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
56*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
57*a85fe12eSEd Maste 	},
58*a85fe12eSEd Maste 
59*a85fe12eSEd Maste 	{
60*a85fe12eSEd Maste 		.bt_name      = "elf32-bigarm",
61*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
62*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
63*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
64*a85fe12eSEd Maste 		.bt_machine   = EM_ARM,
65*a85fe12eSEd Maste 	},
66*a85fe12eSEd Maste 
67*a85fe12eSEd Maste 	{
68*a85fe12eSEd Maste 		.bt_name      = "elf32-bigmips",
69*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
70*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
71*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
72*a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
73*a85fe12eSEd Maste 	},
74*a85fe12eSEd Maste 
75*a85fe12eSEd Maste 	{
76*a85fe12eSEd Maste 		.bt_name      = "elf32-i386",
77*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
78*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
79*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
80*a85fe12eSEd Maste 		.bt_machine   = EM_386,
81*a85fe12eSEd Maste 	},
82*a85fe12eSEd Maste 
83*a85fe12eSEd Maste 	{
84*a85fe12eSEd Maste 		.bt_name      = "elf32-i386-freebsd",
85*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
86*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
87*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
88*a85fe12eSEd Maste 		.bt_machine   = EM_386,
89*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD,
90*a85fe12eSEd Maste 	},
91*a85fe12eSEd Maste 
92*a85fe12eSEd Maste 	{
93*a85fe12eSEd Maste 		.bt_name      = "elf32-ia64-big",
94*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
95*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
96*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
97*a85fe12eSEd Maste 		.bt_machine   = EM_IA_64,
98*a85fe12eSEd Maste 	},
99*a85fe12eSEd Maste 
100*a85fe12eSEd Maste 	{
101*a85fe12eSEd Maste 		.bt_name      = "elf32-little",
102*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
103*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
104*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
105*a85fe12eSEd Maste 	},
106*a85fe12eSEd Maste 
107*a85fe12eSEd Maste 	{
108*a85fe12eSEd Maste 		.bt_name      = "elf32-littlearm",
109*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
110*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
111*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
112*a85fe12eSEd Maste 		.bt_machine   = EM_ARM,
113*a85fe12eSEd Maste 	},
114*a85fe12eSEd Maste 
115*a85fe12eSEd Maste 	{
116*a85fe12eSEd Maste 		.bt_name      = "elf32-littlemips",
117*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
118*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
119*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
120*a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
121*a85fe12eSEd Maste 	},
122*a85fe12eSEd Maste 
123*a85fe12eSEd Maste 	{
124*a85fe12eSEd Maste 		.bt_name      = "elf32-powerpc",
125*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
126*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
127*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
128*a85fe12eSEd Maste 		.bt_machine   = EM_PPC,
129*a85fe12eSEd Maste 	},
130*a85fe12eSEd Maste 
131*a85fe12eSEd Maste 	{
132*a85fe12eSEd Maste 		.bt_name      = "elf32-powerpcle",
133*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
134*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
135*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
136*a85fe12eSEd Maste 		.bt_machine   = EM_PPC,
137*a85fe12eSEd Maste 	},
138*a85fe12eSEd Maste 
139*a85fe12eSEd Maste 	{
140*a85fe12eSEd Maste 		.bt_name      = "elf32-sh",
141*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
142*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
143*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
144*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
145*a85fe12eSEd Maste 	},
146*a85fe12eSEd Maste 
147*a85fe12eSEd Maste 	{
148*a85fe12eSEd Maste 		.bt_name      = "elf32-shl",
149*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
150*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
151*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
152*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
153*a85fe12eSEd Maste 	},
154*a85fe12eSEd Maste 
155*a85fe12eSEd Maste 	{
156*a85fe12eSEd Maste 		.bt_name      = "elf32-sh-nbsd",
157*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
158*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
159*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
160*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
161*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
162*a85fe12eSEd Maste 	},
163*a85fe12eSEd Maste 
164*a85fe12eSEd Maste 	{
165*a85fe12eSEd Maste 		.bt_name      = "elf32-shl-nbsd",
166*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
167*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
168*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
169*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
170*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
171*a85fe12eSEd Maste 	},
172*a85fe12eSEd Maste 
173*a85fe12eSEd Maste 	{
174*a85fe12eSEd Maste 		.bt_name      = "elf32-shbig-linux",
175*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
176*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
177*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
178*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
179*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
180*a85fe12eSEd Maste 	},
181*a85fe12eSEd Maste 
182*a85fe12eSEd Maste 	{
183*a85fe12eSEd Maste 		.bt_name      = "elf32-sh-linux",
184*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
185*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
186*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
187*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
188*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
189*a85fe12eSEd Maste 	},
190*a85fe12eSEd Maste 
191*a85fe12eSEd Maste 	{
192*a85fe12eSEd Maste 		.bt_name      = "elf32-sparc",
193*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
194*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
195*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS32,
196*a85fe12eSEd Maste 		.bt_machine   = EM_SPARC,
197*a85fe12eSEd Maste 	},
198*a85fe12eSEd Maste 
199*a85fe12eSEd Maste 	{
200*a85fe12eSEd Maste 		.bt_name      = "elf64-alpha",
201*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
202*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
203*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
204*a85fe12eSEd Maste 		.bt_machine   = EM_ALPHA,
205*a85fe12eSEd Maste 	},
206*a85fe12eSEd Maste 
207*a85fe12eSEd Maste 	{
208*a85fe12eSEd Maste 		.bt_name      = "elf64-alpha-freebsd",
209*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
210*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
211*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
212*a85fe12eSEd Maste 		.bt_machine   = EM_ALPHA,
213*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD
214*a85fe12eSEd Maste 	},
215*a85fe12eSEd Maste 
216*a85fe12eSEd Maste 	{
217*a85fe12eSEd Maste 		.bt_name      = "elf64-big",
218*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
219*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
220*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
221*a85fe12eSEd Maste 	},
222*a85fe12eSEd Maste 
223*a85fe12eSEd Maste 	{
224*a85fe12eSEd Maste 		.bt_name      = "elf64-bigmips",
225*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
226*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
227*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
228*a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
229*a85fe12eSEd Maste 	},
230*a85fe12eSEd Maste 
231*a85fe12eSEd Maste 	{
232*a85fe12eSEd Maste 		.bt_name      = "elf64-ia64-big",
233*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
234*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
235*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
236*a85fe12eSEd Maste 		.bt_machine   = EM_IA_64,
237*a85fe12eSEd Maste 	},
238*a85fe12eSEd Maste 
239*a85fe12eSEd Maste 	{
240*a85fe12eSEd Maste 		.bt_name      = "elf64-ia64-little",
241*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
242*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
243*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
244*a85fe12eSEd Maste 		.bt_machine   = EM_IA_64,
245*a85fe12eSEd Maste 	},
246*a85fe12eSEd Maste 
247*a85fe12eSEd Maste 	{
248*a85fe12eSEd Maste 		.bt_name      = "elf64-little",
249*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
250*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
251*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
252*a85fe12eSEd Maste 	},
253*a85fe12eSEd Maste 
254*a85fe12eSEd Maste 	{
255*a85fe12eSEd Maste 		.bt_name      = "elf64-littlemips",
256*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
257*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
258*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
259*a85fe12eSEd Maste 		.bt_machine   = EM_MIPS,
260*a85fe12eSEd Maste 	},
261*a85fe12eSEd Maste 
262*a85fe12eSEd Maste 	{
263*a85fe12eSEd Maste 		.bt_name      = "elf64-powerpc",
264*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
265*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
266*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
267*a85fe12eSEd Maste 		.bt_machine   = EM_PPC64,
268*a85fe12eSEd Maste 	},
269*a85fe12eSEd Maste 
270*a85fe12eSEd Maste 	{
271*a85fe12eSEd Maste 		.bt_name      = "elf64-powerpcle",
272*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
273*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
274*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
275*a85fe12eSEd Maste 		.bt_machine   = EM_PPC64,
276*a85fe12eSEd Maste 	},
277*a85fe12eSEd Maste 
278*a85fe12eSEd Maste 	{
279*a85fe12eSEd Maste 		.bt_name      = "elf64-sh64",
280*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
281*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
282*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
283*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
284*a85fe12eSEd Maste 	},
285*a85fe12eSEd Maste 
286*a85fe12eSEd Maste 	{
287*a85fe12eSEd Maste 		.bt_name      = "elf64-sh64l",
288*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
289*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
290*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
291*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
292*a85fe12eSEd Maste 	},
293*a85fe12eSEd Maste 
294*a85fe12eSEd Maste 	{
295*a85fe12eSEd Maste 		.bt_name      = "elf64-sh64-nbsd",
296*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
297*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
298*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
299*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
300*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
301*a85fe12eSEd Maste 	},
302*a85fe12eSEd Maste 
303*a85fe12eSEd Maste 	{
304*a85fe12eSEd Maste 		.bt_name      = "elf64-sh64l-nbsd",
305*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
306*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
307*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
308*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
309*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_NETBSD,
310*a85fe12eSEd Maste 	},
311*a85fe12eSEd Maste 
312*a85fe12eSEd Maste 	{
313*a85fe12eSEd Maste 		.bt_name      = "elf64-sh64big-linux",
314*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
315*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
316*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
317*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
318*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
319*a85fe12eSEd Maste 	},
320*a85fe12eSEd Maste 
321*a85fe12eSEd Maste 	{
322*a85fe12eSEd Maste 		.bt_name      = "elf64-sh64-linux",
323*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
324*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
325*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
326*a85fe12eSEd Maste 		.bt_machine   = EM_SH,
327*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_LINUX,
328*a85fe12eSEd Maste 	},
329*a85fe12eSEd Maste 
330*a85fe12eSEd Maste 	{
331*a85fe12eSEd Maste 		.bt_name      = "elf64-sparc",
332*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
333*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
334*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
335*a85fe12eSEd Maste 		.bt_machine   = EM_SPARCV9,
336*a85fe12eSEd Maste 	},
337*a85fe12eSEd Maste 
338*a85fe12eSEd Maste 	{
339*a85fe12eSEd Maste 		.bt_name      = "elf64-sparc-freebsd",
340*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
341*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2MSB,
342*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
343*a85fe12eSEd Maste 		.bt_machine   = EM_SPARCV9,
344*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD
345*a85fe12eSEd Maste 	},
346*a85fe12eSEd Maste 
347*a85fe12eSEd Maste 	{
348*a85fe12eSEd Maste 		.bt_name      = "elf64-x86-64",
349*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
350*a85fe12eSEd Maste 		.bt_byteorder =	ELFDATA2LSB,
351*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
352*a85fe12eSEd Maste 		.bt_machine   = EM_X86_64,
353*a85fe12eSEd Maste 	},
354*a85fe12eSEd Maste 
355*a85fe12eSEd Maste 	{
356*a85fe12eSEd Maste 		.bt_name      = "elf64-x86-64-freebsd",
357*a85fe12eSEd Maste 		.bt_type      = ETF_ELF,
358*a85fe12eSEd Maste 		.bt_byteorder = ELFDATA2LSB,
359*a85fe12eSEd Maste 		.bt_elfclass  = ELFCLASS64,
360*a85fe12eSEd Maste 		.bt_machine   = EM_X86_64,
361*a85fe12eSEd Maste 		.bt_osabi     = ELFOSABI_FREEBSD
362*a85fe12eSEd Maste 	},
363*a85fe12eSEd Maste 
364*a85fe12eSEd Maste 	{
365*a85fe12eSEd Maste 		.bt_name = "ihex",
366*a85fe12eSEd Maste 		.bt_type = ETF_IHEX,
367*a85fe12eSEd Maste 	},
368*a85fe12eSEd Maste 
369*a85fe12eSEd Maste 	{
370*a85fe12eSEd Maste 		.bt_name = "srec",
371*a85fe12eSEd Maste 		.bt_type = ETF_SREC,
372*a85fe12eSEd Maste 	},
373*a85fe12eSEd Maste 
374*a85fe12eSEd Maste 	{
375*a85fe12eSEd Maste 		.bt_name = "symbolsrec",
376*a85fe12eSEd Maste 		.bt_type = ETF_SREC,
377*a85fe12eSEd Maste 	},
378*a85fe12eSEd Maste 
379*a85fe12eSEd Maste 	{
380*a85fe12eSEd Maste 		.bt_name = NULL,
381*a85fe12eSEd Maste 		.bt_type = ETF_NONE,
382*a85fe12eSEd Maste 	},
383*a85fe12eSEd Maste };
384