 |
RTEMS 5.2
|
3#ifndef _MIPS_ELF_MACHDEP_H_
4#define _MIPS_ELF_MACHDEP_H_
13#define ELF32_MACHDEP_ID_CASES \
17#define ELF32_MACHDEP_ID EM_MIPS
19#elif ARCH_ELFSIZE == 64
20#define ELF64_MACHDEP_ID_CASES \
24#define ELF64_MACHDEP_ID EM_MIPS
35#define R_MIPS_REL R_MIPS_REL32
39#define R_MIPS_GPREL16 7
40#define R_MIPS_LITERAL 8
42#define R_MIPS_GOT R_MIPS_GOT16
44#define R_MIPS_CALL16 11
45#define R_MIPS_CALL R_MIPS_CALL16
46#define R_MIPS_GPREL32 12
49#define R_MIPS_UNUSED1 13
50#define R_MIPS_UNUSED2 14
51#define R_MIPS_UNUSED3 15
56#define R_MIPS_SHIFT5 16
57#define R_MIPS_SHIFT6 17
60#define R_MIPS_GOT_DISP 19
61#define R_MIPS_GOT_PAGE 20
62#define R_MIPS_GOT_OFST 21
63#define R_MIPS_GOT_HI16 22
64#define R_MIPS_GOT_LO16 23
66#define R_MIPS_INSERT_A 25
67#define R_MIPS_INSERT_B 26
68#define R_MIPS_DELETE 27
69#define R_MIPS_HIGHER 28
70#define R_MIPS_HIGHEST 29
71#define R_MIPS_CALL_HI16 30
72#define R_MIPS_CALL_LO16 31
73#define R_MIPS_SCN_DISP 32
74#define R_MIPS_REL16 33
75#define R_MIPS_ADD_IMMEDIATE 34
76#define R_MIPS_PJUMP 35
77#define R_MIPS_RELGOT 36
81#define R_MIPS_TLS_DTPMOD32 38
82#define R_MIPS_TLS_DTPREL32 39
83#define R_MIPS_TLS_DTPMOD64 40
84#define R_MIPS_TLS_DTPREL64 41
85#define R_MIPS_TLS_GD 42
86#define R_MIPS_TLS_LDM 43
87#define R_MIPS_TLS_DTPREL_HI16 44
88#define R_MIPS_TLS_DTPREL_LO16 45
89#define R_MIPS_TLS_GOTTPREL 46
90#define R_MIPS_TLS_TPREL32 47
91#define R_MIPS_TLS_TPREL64 48
92#define R_MIPS_TLS_TPREL_HI16 49
93#define R_MIPS_TLS_TPREL_LO16 50
97#define R_TYPE(name) __CONCAT(R_MIPS_,name)
99#define R_MIPS16_min 100
100#define R_MIPS16_26 100
101#define R_MIPS16_GPREL 101
102#define R_MIPS16_GOT16 102
103#define R_MIPS16_CALL16 103
104#define R_MIPS16_HI16 104
105#define R_MIPS16_LO16 105
106#define R_MIPS16_max 106
111#define DT_MIPS_RLD_VERSION 0x70000001
112#define DT_MIPS_TIME_STAMP 0x70000002
113#define DT_MIPS_ICHECKSUM 0x70000003
114#define DT_MIPS_IVERSION 0x70000004
115#define DT_MIPS_FLAGS 0x70000005
116#define DT_MIPS_BASE_ADDRESS 0x70000006
117#define DT_MIPS_CONFLICT 0x70000008
118#define DT_MIPS_LIBLIST 0x70000009
119#define DT_MIPS_CONFLICTNO 0x7000000b
120#define DT_MIPS_LOCAL_GOTNO 0x7000000a
121#define DT_MIPS_LIBLISTNO 0x70000010
122#define DT_MIPS_SYMTABNO 0x70000011
123#define DT_MIPS_UNREFEXTNO 0x70000012
124#define DT_MIPS_GOTSYM 0x70000013
125#define DT_MIPS_HIPAGENO 0x70000014
126#define DT_MIPS_RLD_MAP 0x70000016
131#define EF_MIPS_PIC 0x00000002
132#define EF_MIPS_CPIC 0x00000004
133#define EF_MIPS_ABI2 0x00000020
135#define EF_MIPS_ARCH_ASE 0x0f000000
136#define EF_MIPS_ARCH_MDMX 0x08000000
137#define EF_MIPS_ARCH_M16 0x04000000
139#define EF_MIPS_ARCH 0xf0000000
140#define EF_MIPS_ARCH_1 0x00000000
141#define EF_MIPS_ARCH_2 0x10000000
142#define EF_MIPS_ARCH_3 0x20000000
143#define EF_MIPS_ARCH_4 0x30000000
144#define EF_MIPS_ARCH_5 0x40000000
145#define EF_MIPS_ARCH_32 0x50000000
146#define EF_MIPS_ARCH_64 0x60000000
147#define EF_MIPS_ARCH_32R2 0x70000000
148#define EF_MIPS_ARCH_64R2 0x80000000
150#define EF_MIPS_ABI 0x0000f000
151#define EF_MIPS_ABI_O32 0x00001000
152#define EF_MIPS_ABI_O64 0x00002000
153#define EF_MIPS_ABI_EABI32 0x00003000
154#define EF_MIPS_ABI_EABI64 0x00004000
156#if defined(__MIPSEB__)
157#define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB
158#define ELF64_MACHDEP_ENDIANNESS ELFDATA2MSB
159#elif defined(__MIPSEL__)
160#define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB
161#define ELF64_MACHDEP_ENDIANNESS ELFDATA2LSB
162#elif !defined(HAVE_NBTOOL_CONFIG_H)
163#error neither __MIPSEL__ nor __MIPSEB__ are defined.
168#include "opt_compat_netbsd.h"
176#define ELF_INTERP_NON_RELOCATABLE
184#define ELF_MD_PROBE_FUNC ELFNAME2(mips_netbsd,probe)
185#define ELF_MD_COREDUMP_SETUP ELFNAME2(coredump,setup)
190int mips_netbsd_elf32_probe(
struct lwp *,
struct exec_package *,
void *,
char *,
192void coredump_elf32_setup(
struct lwp *,
void *);
194int mips_netbsd_elf64_probe(
struct lwp *,
struct exec_package *,
void *,
char *,
196void coredump_elf64_setup(
struct lwp *,
void *);