blob: 4f283c296a0f52c119f327681086d1e6667ef994 [file] [log] [blame]
Tony SIM1d7a8942010-01-28 17:04:55 +09001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef __ASM_SH_ELF_H
13#define __ASM_SH_ELF_H
14
15#include <linux/utsname.h>
16#include <asm/auxvec.h>
17#include <asm/ptrace.h>
18#include <asm/user.h>
19
20#define EF_SH_PIC 0x100
21#define EF_SH_FDPIC 0x8000
22
23#define R_SH_NONE 0
24#define R_SH_DIR32 1
25#define R_SH_REL32 2
26#define R_SH_DIR8WPN 3
27#define R_SH_IND12W 4
28#define R_SH_DIR8WPL 5
29#define R_SH_DIR8WPZ 6
30#define R_SH_DIR8BP 7
31#define R_SH_DIR8W 8
32#define R_SH_DIR8L 9
33#define R_SH_SWITCH16 25
34#define R_SH_SWITCH32 26
35#define R_SH_USES 27
36#define R_SH_COUNT 28
37#define R_SH_ALIGN 29
38#define R_SH_CODE 30
39#define R_SH_DATA 31
40#define R_SH_LABEL 32
41#define R_SH_SWITCH8 33
42#define R_SH_GNU_VTINHERIT 34
43#define R_SH_GNU_VTENTRY 35
44#define R_SH_TLS_GD_32 144
45#define R_SH_TLS_LD_32 145
46#define R_SH_TLS_LDO_32 146
47#define R_SH_TLS_IE_32 147
48#define R_SH_TLS_LE_32 148
49#define R_SH_TLS_DTPMOD32 149
50#define R_SH_TLS_DTPOFF32 150
51#define R_SH_TLS_TPOFF32 151
52#define R_SH_GOT32 160
53#define R_SH_PLT32 161
54#define R_SH_COPY 162
55#define R_SH_GLOB_DAT 163
56#define R_SH_JMP_SLOT 164
57#define R_SH_RELATIVE 165
58#define R_SH_GOTOFF 166
59#define R_SH_GOTPC 167
60
61#define R_SH_GOT20 70
62#define R_SH_GOTOFF20 71
63#define R_SH_GOTFUNCDESC 72
64#define R_SH_GOTFUNCDESC20 73
65#define R_SH_GOTOFFFUNCDESC 74
66#define R_SH_GOTOFFFUNCDESC20 75
67#define R_SH_FUNCDESC 76
68#define R_SH_FUNCDESC_VALUE 77
69
70#define R_SH_IMM_LOW16 246
71#define R_SH_IMM_LOW16_PCREL 247
72#define R_SH_IMM_MEDLOW16 248
73#define R_SH_IMM_MEDLOW16_PCREL 249
74
75#define R_SH_NUM 256
76
77typedef unsigned long elf_greg_t;
78
79#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
80typedef elf_greg_t elf_gregset_t[ELF_NGREG];
81
82typedef struct user_fpu_struct elf_fpregset_t;
83
84#define ELF_CLASS ELFCLASS32
85#ifdef __LITTLE_ENDIAN__
86#define ELF_DATA ELFDATA2LSB
87#else
88#define ELF_DATA ELFDATA2MSB
89#endif
90#define ELF_ARCH EM_SH
91
92#endif