blob: dfbaba050889452c934ec8d4a59c4c452e8e8527 [file] [log] [blame]
Elliott Hughes5109bb42017-04-19 13:25:27 -07001/* $NetBSD: elf_machdep.h,v 1.12 2016/02/02 20:16:59 christos Exp $ */
Elliott Hughesa6a3ac52013-01-29 15:02:50 -08002
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
Elliott Hughes5109bb42017-04-19 13:25:27 -070018#define R_386_32PLT 11
Elliott Hughesa6a3ac52013-01-29 15:02:50 -080019
20/* TLS relocations */
21#define R_386_TLS_TPOFF 14
22#define R_386_TLS_IE 15
23#define R_386_TLS_GOTIE 16
24#define R_386_TLS_LE 17
25#define R_386_TLS_GD 18
26#define R_386_TLS_LDM 19
27
28/* The following relocations are GNU extensions. */
29#define R_386_16 20
30#define R_386_PC16 21
31#define R_386_8 22
32#define R_386_PC8 23
33
34/* More TLS relocations */
35#define R_386_TLS_GD_32 24
36#define R_386_TLS_GD_PUSH 25
37#define R_386_TLS_GD_CALL 26
38#define R_386_TLS_GD_POP 27
39#define R_386_TLS_LDM_32 28
40#define R_386_TLS_LDM_PUSH 29
41#define R_386_TLS_LDM_CALL 30
42#define R_386_TLS_LDM_POP 31
43#define R_386_TLS_LDO_32 32
44#define R_386_TLS_IE_32 33
45#define R_386_TLS_LE_32 34
46#define R_386_TLS_DTPMOD32 35
47#define R_386_TLS_DTPOFF32 36
48#define R_386_TLS_TPOFF32 37
Elliott Hughes5109bb42017-04-19 13:25:27 -070049
50#define R_386_SIZE32 38
51
52/* More TLS relocations */
Elliott Hughesa6a3ac52013-01-29 15:02:50 -080053#define R_386_TLS_GOTDESC 39
54#define R_386_TLS_DESC_CALL 40
55#define R_386_TLS_DESC 41
Elliott Hughesa6a3ac52013-01-29 15:02:50 -080056
Elliott Hughes5109bb42017-04-19 13:25:27 -070057#define R_386_IRELATIVE 42
58#define R_386_GOT32X 43
Elliott Hughes901601b2017-04-17 16:25:09 -070059
60#endif