summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/include/reloc.h
blob: 694e84ac65f1581ab3e98fb9df668b043499a465 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*	$OpenBSD: reloc.h,v 1.2 2001/07/04 08:41:18 niklas Exp $	*/

#ifndef	_MACH_RELOC_H_
#define	_MACH_RELOC_H_

#define RELOC_NONE            0       /* No reloc */
#define RELOC_REFLONG         1       /* Direct 32 bit */
#define RELOC_REFQUAD         2       /* Direct 64 bit */
#define RELOC_GPREL32         3       /* GP relative 32 bit */
#define RELOC_LITERAL         4       /* GP relative 16 bit w/optimization */
#define RELOC_LITUSE          5       /* Optimization hint for LITERAL */
#define RELOC_GPDISP          6       /* Add displacement to GP */
#define RELOC_BRADDR          7       /* PC+4 relative 23 bit shifted */
#define RELOC_HINT            8       /* PC+4 relative 16 bit shifted */
#define RELOC_SREL16          9       /* PC relative 16 bit */
#define RELOC_SREL32          10      /* PC relative 32 bit */
#define RELOC_SREL64          11      /* PC relative 64 bit */
#define RELOC_OP_PUSH         12      /* OP stack push */
#define RELOC_OP_STORE        13      /* OP stack pop and store */
#define RELOC_OP_PSUB         14      /* OP stack subtract */
#define RELOC_OP_PRSHIFT      15      /* OP stack right shift */
#define RELOC_GPVALUE         16
#define RELOC_GPRELHIGH       17
#define RELOC_GPRELLOW        18
#define RELOC_IMMED_GP_16     19
#define RELOC_IMMED_GP_HI32   20
#define RELOC_IMMED_SCN_HI32  21
#define RELOC_IMMED_BRELOC_HI32   22
#define RELOC_IMMED_LO32      23
#define RELOC_COPY            24      /* Copy symbol at runtime */
#define RELOC_GLOB_DAT        25      /* Create GOT entry */
#define RELOC_JMP_SLOT        26      /* Create PLT entry */
#define RELOC_RELATIVE        27      /* Adjust by program base */

#define R_TYPE(X)	__CONCAT(RELOC_,X)

#endif	/* _MACH_RELOC_H_ */