xref: /netbsd-src/sys/arch/alpha/include/elf_machdep.h (revision 17dd36da8292193180754d5047c0926dbb56818c)
1 /* $NetBSD: elf_machdep.h,v 1.6 2000/04/02 15:35:49 minoura Exp $ */
2 
3 #define	ELF32_MACHDEP_ENDIANNESS	XXX	/* break compilation */
4 #define	ELF32_MACHDEP_ID_CASES						\
5 		/* no 32-bit ELF machine types supported */
6 
7 #define	ELF64_MACHDEP_ENDIANNESS	ELFDATA2LSB
8 #define	ELF64_MACHDEP_ID_CASES						\
9 		case EM_ALPHA:						\
10 		case EM_ALPHA_EXP:					\
11 			break;
12 
13 #define ARCH_ELFSIZE		64	/* MD native binary size */
14 
15 /*
16  * Alpha Relocation Types
17  */
18 #define	R_ALPHA_NONE		0	/* No reloc */
19 #define	R_ALPHA_REFLONG		1	/* Direct 32 bit */
20 #define	R_ALPHA_REFQUAD		2	/* Direct 64 bit */
21 #define	R_ALPHA_GPREL32		3	/* GP relative 32 bit */
22 #define	R_ALPHA_LITERAL		4	/* GP relative 16 bit w/optimization */
23 #define	R_ALPHA_LITUSE		5	/* Optimization hint for LITERAL */
24 #define	R_ALPHA_GPDISP		6	/* Add displacement to GP */
25 #define	R_ALPHA_BRADDR		7	/* PC+4 relative 23 bit shifted */
26 #define	R_ALPHA_HINT		8	/* PC+4 relative 16 bit shifted */
27 #define	R_ALPHA_SREL16		9	/* PC relative 16 bit */
28 #define	R_ALPHA_SREL32		10	/* PC relative 32 bit */
29 #define	R_ALPHA_SREL64		11	/* PC relative 64 bit */
30 #define	R_ALPHA_OP_PUSH		12	/* OP stack push */
31 #define	R_ALPHA_OP_STORE	13	/* OP stack pop and store */
32 #define	R_ALPHA_OP_PSUB		14	/* OP stack subtract */
33 #define	R_ALPHA_OP_PRSHIFT	15	/* OP stack right shift */
34 #define	R_ALPHA_GPVALUE		16
35 #define	R_ALPHA_GPRELHIGH	17
36 #define	R_ALPHA_GPRELLOW	18
37 #define	R_ALPHA_IMMED_GP_16	19
38 #define	R_ALPHA_IMMED_GP_HI32	20
39 #define	R_ALPHA_IMMED_SCN_HI32	21
40 #define	R_ALPHA_IMMED_BR_HI32	22
41 #define	R_ALPHA_IMMED_LO32	23
42 #define	R_ALPHA_COPY		24	/* Copy symbol at runtime */
43 #define	R_ALPHA_GLOB_DAT	25	/* Create GOT entry */
44 #define	R_ALPHA_JMP_SLOT	26	/* Create PLT entry */
45 #define	R_ALPHA_RELATIVE	27	/* Adjust by program base */
46 
47 #define	R_TYPE(name)		__CONCAT(R_ALPHA_,name)
48