83 lines
1.9 KiB
C
83 lines
1.9 KiB
C
|
/* $NetBSD: elf_machdep.h,v 1.1 2002/07/05 13:31:57 scw Exp $ */
|
||
|
|
||
|
#ifndef _BYTE_ORDER
|
||
|
#error Define _BYTE_ORDER!
|
||
|
#endif
|
||
|
|
||
|
#if _BYTE_ORDER == _LITTLE_ENDIAN
|
||
|
#define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB
|
||
|
#define ELF64_MACHDEP_ENDIANNESS ELFDATA2LSB
|
||
|
#else
|
||
|
#define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB
|
||
|
#define ELF64_MACHDEP_ENDIANNESS ELFDATA2MSB
|
||
|
#endif
|
||
|
#define ELF32_MACHDEP_ID_CASES \
|
||
|
case EM_SH: \
|
||
|
break;
|
||
|
|
||
|
#define ELF64_MACHDEP_ID_CASES \
|
||
|
case EM_SH64: /* XXX: Check this */ \
|
||
|
break;
|
||
|
|
||
|
#define ELF32_MACHDEP_ID EM_SH
|
||
|
#define ELF64_MACHDEP_ID EM_SH64 /* XXX: Check this */
|
||
|
|
||
|
#ifndef _LP64
|
||
|
#define ARCH_ELFSIZE 32 /* MD native binary size */
|
||
|
#else
|
||
|
#define ARCH_ELFSIZE 64 /* MD native binary size */
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* SuperH ELF header flags.
|
||
|
*/
|
||
|
#define EF_SH_MACH_MASK 0x1f
|
||
|
|
||
|
#define EF_SH_UNKNOWN 0x00
|
||
|
#define EF_SH_SH1 0x01
|
||
|
#define EF_SH_SH2 0x02
|
||
|
#define EF_SH_SH3 0x03
|
||
|
#define EF_SH_DSP 0x04
|
||
|
#define EF_SH_SH3_DSP 0x05
|
||
|
#define EF_SH_SH3E 0x08
|
||
|
#define EF_SH_SH4 0x09
|
||
|
#define EF_SH_SH5 0x0a /* XXX: Check this */
|
||
|
|
||
|
#define EF_SH_HAS_DSP(x) (XXXX)
|
||
|
#define EF_SH_HAS_FP(x) (XXXX)
|
||
|
|
||
|
|
||
|
#define R_SH_NONE 0
|
||
|
#define R_SH_DIR32 1
|
||
|
#define R_SH_REL32 2
|
||
|
#define R_SH_DIR8WPN 3
|
||
|
#define R_SH_IND12W 4
|
||
|
#define R_SH_DIR8WPL 5
|
||
|
#define R_SH_DIR8WPZ 6
|
||
|
#define R_SH_DIR8BP 7
|
||
|
#define R_SH_DIR8W 8
|
||
|
#define R_SH_DIR8L 9
|
||
|
#define R_SH_SWITCH16 25
|
||
|
#define R_SH_SWITCH32 26
|
||
|
#define R_SH_USES 27
|
||
|
#define R_SH_COUNT 28
|
||
|
#define R_SH_ALIGN 29
|
||
|
#define R_SH_CODE 30
|
||
|
#define R_SH_DATA 31
|
||
|
#define R_SH_LABEL 32
|
||
|
#define R_SH_SWITCH8 33
|
||
|
#define R_SH_GNU_VTINHERIT 34
|
||
|
#define R_SH_GNU_VTENTRY 35
|
||
|
#define R_SH_LOOP_START 36
|
||
|
#define R_SH_LOOP_END 37
|
||
|
#define R_SH_GOT32 160
|
||
|
#define R_SH_PLT32 161
|
||
|
#define R_SH_COPY 162
|
||
|
#define R_SH_GLOB_DAT 163
|
||
|
#define R_SH_JMP_SLOT 164
|
||
|
#define R_SH_RELATIVE 165
|
||
|
#define R_SH_GOTOFF 166
|
||
|
#define R_SH_GOTPC 167
|
||
|
|
||
|
#define R_TYPE(name) __CONCAT(R_SH_,name)
|