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