RTEMS  5.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
elf_machdep.h
1 /* $NetBSD: elf_machdep.h,v 1.7 2002/01/28 21:34:48 thorpej Exp $ */
2 
3 #define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB
4 #define ELF32_MACHDEP_ID_CASES \
5  case EM_ALTERA_NIOS2: \
6  break;
7 
8 #define ELF64_MACHDEP_ENDIANNESS XXX /* break compilation */
9 #define ELF64_MACHDEP_ID_CASES \
10  /* no 64-bit ELF machine types supported */
11 
12 #define ELF32_MACHDEP_ID EM_ALTERA_NIOS2
13 
14 /*
15  * Machine-dependent ELF flags. These are defined by the GNU tools.
16  */
17 #define EF_NIOS2 0x00810000
18 
19 #define ARCH_ELFSIZE 32 /* MD native binary size */
20 
21 /* NIOS2 relocation types */
22 #define R_NIOS2_NONE 0
23 #define R_NIOS2_32 1
24 #define R_NIOS2_16 2
25 #define R_NIOS2_8 3
26 #define R_NIOS2_PC32 4
27 #define R_NIOS2_PC16 5
28 #define R_NIOS2_PC8 6
29 #define R_NIOS2_GOT32 7
30 #define R_NIOS2_GOT16 8
31 #define R_NIOS2_GOT8 9
32 #define R_NIOS2_GOT32O 10
33 #define R_NIOS2_GOT16O 11
34 #define R_NIOS2_GOT8O 12
35 #define R_NIOS2_PLT32 13
36 #define R_NIOS2_PLT16 14
37 #define R_NIOS2_PLT8 15
38 #define R_NIOS2_PLT32O 16
39 #define R_NIOS2_PLT16O 17
40 #define R_NIOS2_PLT8O 18
41 #define R_NIOS2_COPY 19
42 #define R_NIOS2_GLOB_DAT 20
43 #define R_NIOS2_JMP_SLOT 21
44 #define R_NIOS2_RELATIVE 22
45 
46 #define R_TYPE(name) __CONCAT(R_NIOS2_,name)