NetBSD/sys/arch/sh5/include/elf_machdep.h

83 lines
1.9 KiB
C
Raw Normal View History

/* $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)