2 * Definitions needed for accessing Irix ELF headers
5 uchar ident[16]; /* ident bytes */
6 ushort type; /* file type */
7 ushort machine; /* target machine */
8 int version; /* file version */
9 ulong elfentry; /* start address */
10 ulong phoff; /* phdr file offset */
11 ulong shoff; /* shdr file offset */
12 int flags; /* file flags */
13 ushort ehsize; /* sizeof ehdr */
14 ushort phentsize; /* sizeof phdr */
15 ushort phnum; /* number phdrs */
16 ushort shentsize; /* sizeof shdr */
17 ushort shnum; /* number shdrs */
18 ushort shstrndx; /* shdr string index */
22 int type; /* entry type */
23 ulong offset; /* file offset */
24 ulong vaddr; /* virtual address */
25 ulong paddr; /* physical address */
26 int filesz; /* file size */
27 ulong memsz; /* memory size */
28 int flags; /* entry flags */
29 int align; /* memory/file alignment */
33 ulong name; /* section name */
34 ulong type; /* SHT_... */
35 ulong flags; /* SHF_... */
36 ulong addr; /* virtual address */
37 ulong offset; /* file offset */
38 ulong size; /* section size */
39 ulong link; /* misc info */
40 ulong info; /* misc info */
41 ulong addralign; /* memory alignment */
42 ulong entsize; /* entry size if table */
47 MAG0 = 0, /* ident[] indexes */
55 ELFCLASSNONE = 0, /* ident[CLASS] */
60 ELFDATANONE = 0, /* ident[DATA] */
65 NOETYPE = 0, /* type */
71 NONE = 0, /* machine */
72 M32 = 1, /* AT&T WE 32100 */
73 SPARC = 2, /* Sun SPARC */
74 I386 = 3, /* Intel 80386 */
75 M68K = 4, /* Motorola 68000 */
76 M88K = 5, /* Motorola 88000 */
77 I486 = 6, /* Intel 80486 */
78 I860 = 7, /* Intel i860 */
79 MIPS = 8, /* Mips R2000 */
80 S370 = 9, /* Amdhal */
81 SPARC64 = 18, /* Sun SPARC v9 */
82 POWER = 20, /* PowerPC */
84 AMD64 = 62, /* Amd64 */
86 NO_VERSION = 0, /* version, ident[VERSION] */
90 NOPTYPE = 0, /* type */
103 Progbits = 1, /* section types */
107 Swrite = 1, /* section attributes */
112 #define ELF_MAG ((0x7f<<24) | ('E'<<16) | ('L'<<8) | 'F')