xref: /openbsd/sys/arch/alpha/include/reloc.h (revision 2fa72412)
1 /*	$OpenBSD: reloc.h,v 1.3 2011/03/23 16:54:34 pirofti Exp $	*/
2 
3 #ifndef	_MACHINE_RELOC_H_
4 #define	_MACHINE_RELOC_H_
5 
6 #define RELOC_NONE            0       /* No reloc */
7 #define RELOC_REFLONG         1       /* Direct 32 bit */
8 #define RELOC_REFQUAD         2       /* Direct 64 bit */
9 #define RELOC_GPREL32         3       /* GP relative 32 bit */
10 #define RELOC_LITERAL         4       /* GP relative 16 bit w/optimization */
11 #define RELOC_LITUSE          5       /* Optimization hint for LITERAL */
12 #define RELOC_GPDISP          6       /* Add displacement to GP */
13 #define RELOC_BRADDR          7       /* PC+4 relative 23 bit shifted */
14 #define RELOC_HINT            8       /* PC+4 relative 16 bit shifted */
15 #define RELOC_SREL16          9       /* PC relative 16 bit */
16 #define RELOC_SREL32          10      /* PC relative 32 bit */
17 #define RELOC_SREL64          11      /* PC relative 64 bit */
18 #define RELOC_OP_PUSH         12      /* OP stack push */
19 #define RELOC_OP_STORE        13      /* OP stack pop and store */
20 #define RELOC_OP_PSUB         14      /* OP stack subtract */
21 #define RELOC_OP_PRSHIFT      15      /* OP stack right shift */
22 #define RELOC_GPVALUE         16
23 #define RELOC_GPRELHIGH       17
24 #define RELOC_GPRELLOW        18
25 #define RELOC_IMMED_GP_16     19
26 #define RELOC_IMMED_GP_HI32   20
27 #define RELOC_IMMED_SCN_HI32  21
28 #define RELOC_IMMED_BRELOC_HI32   22
29 #define RELOC_IMMED_LO32      23
30 #define RELOC_COPY            24      /* Copy symbol at runtime */
31 #define RELOC_GLOB_DAT        25      /* Create GOT entry */
32 #define RELOC_JMP_SLOT        26      /* Create PLT entry */
33 #define RELOC_RELATIVE        27      /* Adjust by program base */
34 
35 #define R_TYPE(X)	__CONCAT(RELOC_,X)
36 
37 #endif	/* _MACHINE_RELOC_H_ */
38