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_ */
|