RTEMS 5.2
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)