blob: 5324ebcf375aec9ae33c20bc11b4bb193fd6bd16 [file] [log] [blame]
Elliott Hughesa6a3ac52013-01-29 15:02:50 -08001/* $NetBSD: elf_machdep.h,v 1.10 2009/05/30 05:56:52 skrll Exp $ */
2
Elliott Hughes901601b2017-04-17 16:25:09 -07003#ifndef _X86_ELF_MACHDEP_H_
4#define _X86_ELF_MACHDEP_H_
Elliott Hughesa6a3ac52013-01-29 15:02:50 -08005
6/* i386 relocations */
7#define R_386_NONE 0
8#define R_386_32 1
9#define R_386_PC32 2
10#define R_386_GOT32 3
11#define R_386_PLT32 4
12#define R_386_COPY 5
13#define R_386_GLOB_DAT 6
14#define R_386_JMP_SLOT 7
15#define R_386_RELATIVE 8
16#define R_386_GOTOFF 9
17#define R_386_GOTPC 10
18
19/* TLS relocations */
20#define R_386_TLS_TPOFF 14
21#define R_386_TLS_IE 15
22#define R_386_TLS_GOTIE 16
23#define R_386_TLS_LE 17
24#define R_386_TLS_GD 18
25#define R_386_TLS_LDM 19
26
27/* The following relocations are GNU extensions. */
28#define R_386_16 20
29#define R_386_PC16 21
30#define R_386_8 22
31#define R_386_PC8 23
32
33/* More TLS relocations */
34#define R_386_TLS_GD_32 24
35#define R_386_TLS_GD_PUSH 25
36#define R_386_TLS_GD_CALL 26
37#define R_386_TLS_GD_POP 27
38#define R_386_TLS_LDM_32 28
39#define R_386_TLS_LDM_PUSH 29
40#define R_386_TLS_LDM_CALL 30
41#define R_386_TLS_LDM_POP 31
42#define R_386_TLS_LDO_32 32
43#define R_386_TLS_IE_32 33
44#define R_386_TLS_LE_32 34
45#define R_386_TLS_DTPMOD32 35
46#define R_386_TLS_DTPOFF32 36
47#define R_386_TLS_TPOFF32 37
48#define R_386_TLS_GOTDESC 39
49#define R_386_TLS_DESC_CALL 40
50#define R_386_TLS_DESC 41
Dmitriy Ivanov9aea1642014-09-11 15:16:03 -070051#define R_386_IRELATIVE 42
Elliott Hughesa6a3ac52013-01-29 15:02:50 -080052
53#define R_TYPE(name) __CONCAT(R_386_,name)
Elliott Hughes901601b2017-04-17 16:25:09 -070054
55#endif