]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - usr.sbin/pkg/elf_tables.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / usr.sbin / pkg / elf_tables.h
1 /*-
2  * Copyright (c) 2012 Olivier Houchard <cognet@FreeBSD.org>
3  * Copyright (c) 2012 Baptiste Daroussin <bapt@FreeBSD.org>
4  * All rights reserved.
5  * 
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  *
27  * $FreeBSD$
28  */
29
30 #ifndef ELF_TABLES_H_
31 #define ELF_TABLES_H_
32 struct _elf_corres {
33         int elf_nb;
34         const char *string;
35 };
36
37 struct _elf_corres mach_corres[] = {
38         { EM_386, "x86" },
39         { EM_AMD64, "x86" },
40         { EM_ARM, "arm" },
41         { EM_MIPS, "mips" },
42         { EM_PPC, "powerpc" },
43         { EM_PPC64, "powerpc" },
44         { EM_SPARCV9, "sparc64" },
45         { EM_IA_64, "ia64" },
46         { -1, NULL },
47 };
48
49 struct _elf_corres wordsize_corres[] = {
50         { ELFCLASS32, "32" },
51         { ELFCLASS64, "64" },
52         { -1, NULL},
53 };
54
55 struct _elf_corres endian_corres[] = {
56         { ELFDATA2MSB, "eb" },
57         { ELFDATA2LSB, "el" },
58         { -1, NULL}
59 };
60
61 struct _elf_corres os_corres[] = {
62         { ELFOSABI_FREEBSD, "freebsd" },
63         { -1, NULL }
64 };
65
66 #define EF_MIPS_ABI     0x0000F000
67 #define E_MIPS_ABI_O32  0x00001000
68 #define E_MIPS_ABI_N32  0x00000020
69
70 #define EF_ARM_NEW_ABI  0x80
71 #define EF_ARM_OLD_ABI  0x100
72
73 #define EF_ARM_SOFT_FLOAT       0x200
74 #define EF_ARM_VFP_FLOAT        0x400
75
76 #define NT_VERSION      1
77 #define NT_ARCH 2
78
79 #endif /* ELF_TABLES_H_ */