Home | History | Annotate | Download | only in asm
      1 /****************************************************************************
      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 
     77 typedef unsigned long elf_greg_t;
     78 
     79 #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
     80 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
     81 
     82 typedef 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
     93