xref: /illumos-gate/usr/src/lib/libdwarf/common/dwarf_reloc_386.h (revision 4d9fdb46b215739778ebc12079842c9905586999)
1*4d9fdb46SRobert Mustacchi /*
2*4d9fdb46SRobert Mustacchi   Copyright (C) 2007-2012 David Anderson. All Rights Reserved.
3*4d9fdb46SRobert Mustacchi   Portions Copyright (C) 2012 SN Systems Ltd. All rights reserved.
4*4d9fdb46SRobert Mustacchi 
5*4d9fdb46SRobert Mustacchi   This program is free software; you can redistribute it and/or modify it
6*4d9fdb46SRobert Mustacchi   under the terms of version 2.1 of the GNU Lesser General Public License
7*4d9fdb46SRobert Mustacchi   published by the Free Software Foundation.
8*4d9fdb46SRobert Mustacchi 
9*4d9fdb46SRobert Mustacchi   This program is distributed in the hope that it would be useful, but
10*4d9fdb46SRobert Mustacchi   WITHOUT ANY WARRANTY; without even the implied warranty of
11*4d9fdb46SRobert Mustacchi   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12*4d9fdb46SRobert Mustacchi 
13*4d9fdb46SRobert Mustacchi   Further, this software is distributed without any warranty that it is
14*4d9fdb46SRobert Mustacchi   free of the rightful claim of any third person regarding infringement
15*4d9fdb46SRobert Mustacchi   or the like.  Any license provided herein, whether implied or
16*4d9fdb46SRobert Mustacchi   otherwise, applies only to this software file.  Patent licenses, if
17*4d9fdb46SRobert Mustacchi   any, provided herein do not apply to combinations of this program with
18*4d9fdb46SRobert Mustacchi   other software, or any other product whatsoever.
19*4d9fdb46SRobert Mustacchi 
20*4d9fdb46SRobert Mustacchi   You should have received a copy of the GNU Lesser General Public License along
21*4d9fdb46SRobert Mustacchi   with this program; if not, write the Free Software Foundation, Inc., 51
22*4d9fdb46SRobert Mustacchi   Franklin Street - Fifth Floor, Boston MA 02110-1301, USA.
23*4d9fdb46SRobert Mustacchi */
24*4d9fdb46SRobert Mustacchi /* The address of the Free Software Foundation is
25*4d9fdb46SRobert Mustacchi    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
26*4d9fdb46SRobert Mustacchi    Boston, MA 02110-1301, USA.
27*4d9fdb46SRobert Mustacchi */
28*4d9fdb46SRobert Mustacchi 
29*4d9fdb46SRobert Mustacchi #ifndef DWARF_RELOC_386_H
30*4d9fdb46SRobert Mustacchi #define DWARF_RELOC_386_H
31*4d9fdb46SRobert Mustacchi 
32*4d9fdb46SRobert Mustacchi /* Include the definitions only in the case of Windows */
33*4d9fdb46SRobert Mustacchi #ifdef _WIN32
34*4d9fdb46SRobert Mustacchi /* Relocation types for i386 architecture */
35*4d9fdb46SRobert Mustacchi #define R_386_NONE         0
36*4d9fdb46SRobert Mustacchi #define R_386_32           1
37*4d9fdb46SRobert Mustacchi #define R_386_PC32         2
38*4d9fdb46SRobert Mustacchi #define R_386_GOT32        3
39*4d9fdb46SRobert Mustacchi #define R_386_PLT32        4
40*4d9fdb46SRobert Mustacchi #define R_386_COPY         5
41*4d9fdb46SRobert Mustacchi #define R_386_GLOB_DAT     6
42*4d9fdb46SRobert Mustacchi #define R_386_JMP_SLOT     7
43*4d9fdb46SRobert Mustacchi #define R_386_RELATIVE     8
44*4d9fdb46SRobert Mustacchi #define R_386_GOTOFF       9
45*4d9fdb46SRobert Mustacchi #define R_386_GOTPC        10
46*4d9fdb46SRobert Mustacchi #define R_386_32PLT        11
47*4d9fdb46SRobert Mustacchi #define R_386_TLS_TPOFF    14
48*4d9fdb46SRobert Mustacchi #define R_386_TLS_IE       15
49*4d9fdb46SRobert Mustacchi #define R_386_TLS_GOTIE    16
50*4d9fdb46SRobert Mustacchi #define R_386_TLS_LE       17
51*4d9fdb46SRobert Mustacchi #define R_386_TLS_LDM      19
52*4d9fdb46SRobert Mustacchi #define R_386_16           20
53*4d9fdb46SRobert Mustacchi #define R_386_PC16         21
54*4d9fdb46SRobert Mustacchi #define R_386_8            22
55*4d9fdb46SRobert Mustacchi #define R_386_PC8          23
56*4d9fdb46SRobert Mustacchi #define R_386_TLS_GD_32    24
57*4d9fdb46SRobert Mustacchi #define R_386_TLS_GD_PUSH  25
58*4d9fdb46SRobert Mustacchi #define R_386_TLS_GD_CALL  26
59*4d9fdb46SRobert Mustacchi #define R_386_TLS_GD_POP   27
60*4d9fdb46SRobert Mustacchi #define R_386_TLS_LDM_32   28
61*4d9fdb46SRobert Mustacchi #define R_386_TLS_LDM_PUSH 29
62*4d9fdb46SRobert Mustacchi #define R_386_TLS_LDM_CALL 30
63*4d9fdb46SRobert Mustacchi #define R_386_TLS_LDM_POP  31
64*4d9fdb46SRobert Mustacchi #define R_386_TLS_LDO_32   32
65*4d9fdb46SRobert Mustacchi #define R_386_TLS_IE_32    33
66*4d9fdb46SRobert Mustacchi #define R_386_TLS_LE_32    34
67*4d9fdb46SRobert Mustacchi #define R_386_TLS_DTPMOD32 35
68*4d9fdb46SRobert Mustacchi #define R_386_TLS_DTPOFF32 36
69*4d9fdb46SRobert Mustacchi #define R_386_TLS_TPOFF32  37
70*4d9fdb46SRobert Mustacchi #define R_386_SIZE32       38
71*4d9fdb46SRobert Mustacchi #define R_386_TLS_GOTDESC  39
72*4d9fdb46SRobert Mustacchi #define R_386_TLS_DESC_CALL 40
73*4d9fdb46SRobert Mustacchi #define R_386_TLS_DESC     41
74*4d9fdb46SRobert Mustacchi #define R_386_IRELATIVE    42
75*4d9fdb46SRobert Mustacchi #define R_386_NUM          43
76*4d9fdb46SRobert Mustacchi 
77*4d9fdb46SRobert Mustacchi 
78*4d9fdb46SRobert Mustacchi /*  Keep this the last entry.  */
79*4d9fdb46SRobert Mustacchi #define R_X86_64_NUM             39
80*4d9fdb46SRobert Mustacchi #endif /* _WIN32 */
81*4d9fdb46SRobert Mustacchi 
82*4d9fdb46SRobert Mustacchi /* Relocation types for X86_64 */
83*4d9fdb46SRobert Mustacchi static const char *reloc_type_names_386[] = {
84*4d9fdb46SRobert Mustacchi "R_386_NONE",
85*4d9fdb46SRobert Mustacchi "R_386_32",
86*4d9fdb46SRobert Mustacchi "R_386_PC32",
87*4d9fdb46SRobert Mustacchi "R_386_GOT32",
88*4d9fdb46SRobert Mustacchi "R_386_PLT32",
89*4d9fdb46SRobert Mustacchi "R_386_COPY",        /* 5 */
90*4d9fdb46SRobert Mustacchi "R_386_GLOB_DAT",
91*4d9fdb46SRobert Mustacchi "R_386_JMP_SLOT",
92*4d9fdb46SRobert Mustacchi "R_386_RELATIVE",
93*4d9fdb46SRobert Mustacchi "R_386_GOTOFF",
94*4d9fdb46SRobert Mustacchi "R_386_GOTPC",      /*  10 */
95*4d9fdb46SRobert Mustacchi "R_386_32PLT",
96*4d9fdb46SRobert Mustacchi "R_386_TLS_TPOFF",
97*4d9fdb46SRobert Mustacchi "R_386_TLS_IE",
98*4d9fdb46SRobert Mustacchi "R_386_TLS_GOTIE",
99*4d9fdb46SRobert Mustacchi "R_386_TLS_LE",
100*4d9fdb46SRobert Mustacchi "R_386_TLS_LDM",
101*4d9fdb46SRobert Mustacchi "R_386_16",         /*  20 */
102*4d9fdb46SRobert Mustacchi "R_386_PC16",
103*4d9fdb46SRobert Mustacchi "R_386_8",
104*4d9fdb46SRobert Mustacchi "R_386_PC8",
105*4d9fdb46SRobert Mustacchi "R_386_TLS_GD_32",
106*4d9fdb46SRobert Mustacchi "R_386_TLS_GD_PUSH", /* 25 */
107*4d9fdb46SRobert Mustacchi "R_386_TLS_GD_CALL",
108*4d9fdb46SRobert Mustacchi "R_386_TLS_GD_POP",
109*4d9fdb46SRobert Mustacchi "R_386_TLS_LDM_32",
110*4d9fdb46SRobert Mustacchi "R_386_TLS_LDM_PUSH",
111*4d9fdb46SRobert Mustacchi "R_386_TLS_LDM_CALL", /* 30 */
112*4d9fdb46SRobert Mustacchi "R_386_TLS_LDM_POP",
113*4d9fdb46SRobert Mustacchi "R_386_TLS_LDO_32",
114*4d9fdb46SRobert Mustacchi "R_386_TLS_IE_32",
115*4d9fdb46SRobert Mustacchi "R_386_TLS_LE_32",
116*4d9fdb46SRobert Mustacchi "R_386_TLS_DTPMOD32", /* 35 */
117*4d9fdb46SRobert Mustacchi "R_386_TLS_DTPOFF32",
118*4d9fdb46SRobert Mustacchi "R_386_TLS_TPOFF32",
119*4d9fdb46SRobert Mustacchi "R_386_SIZE32",
120*4d9fdb46SRobert Mustacchi "R_386_TLS_GOTDESC",
121*4d9fdb46SRobert Mustacchi "R_386_TLS_DESC_CALL", /* 40 */
122*4d9fdb46SRobert Mustacchi "R_386_TLS_DESC",
123*4d9fdb46SRobert Mustacchi "R_386_IRELATIVE",   /* 42 */
124*4d9fdb46SRobert Mustacchi };
125*4d9fdb46SRobert Mustacchi #endif /* DWARF_RELOC_386_H */
126