i386.h revision 104834
160484Sobrien/* ix86 ELF support for BFD. 278828Sobrien Copyright 1998, 1999, 2000 Free Software Foundation, Inc. 360484Sobrien 460484Sobrien This file is part of BFD, the Binary File Descriptor library. 560484Sobrien 660484Sobrien This program is free software; you can redistribute it and/or modify 760484Sobrien it under the terms of the GNU General Public License as published by 860484Sobrien the Free Software Foundation; either version 2 of the License, or 960484Sobrien (at your option) any later version. 1060484Sobrien 1160484Sobrien This program is distributed in the hope that it will be useful, 1260484Sobrien but WITHOUT ANY WARRANTY; without even the implied warranty of 1360484Sobrien MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1460484Sobrien GNU General Public License for more details. 1560484Sobrien 1660484Sobrien You should have received a copy of the GNU General Public License 1760484Sobrien along with this program; if not, write to the Free Software Foundation, 1860484Sobrien Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 1960484Sobrien 2060484Sobrien#ifndef _ELF_I386_H 2160484Sobrien#define _ELF_I386_H 2260484Sobrien 2360484Sobrien#include "elf/reloc-macros.h" 2460484Sobrien 2560484SobrienSTART_RELOC_NUMBERS (elf_i386_reloc_type) 2660484Sobrien RELOC_NUMBER (R_386_NONE, 0) /* No reloc */ 2760484Sobrien RELOC_NUMBER (R_386_32, 1) /* Direct 32 bit */ 2860484Sobrien RELOC_NUMBER (R_386_PC32, 2) /* PC relative 32 bit */ 2960484Sobrien RELOC_NUMBER (R_386_GOT32, 3) /* 32 bit GOT entry */ 3060484Sobrien RELOC_NUMBER (R_386_PLT32, 4) /* 32 bit PLT address */ 3160484Sobrien RELOC_NUMBER (R_386_COPY, 5) /* Copy symbol at runtime */ 3260484Sobrien RELOC_NUMBER (R_386_GLOB_DAT, 6) /* Create GOT entry */ 3360484Sobrien RELOC_NUMBER (R_386_JUMP_SLOT, 7) /* Create PLT entry */ 3460484Sobrien RELOC_NUMBER (R_386_RELATIVE, 8) /* Adjust by program base */ 3560484Sobrien RELOC_NUMBER (R_386_GOTOFF, 9) /* 32 bit offset to GOT */ 3660484Sobrien RELOC_NUMBER (R_386_GOTPC, 10) /* 32 bit PC relative offset to GOT */ 37104834Sobrien RELOC_NUMBER (R_386_32PLT, 11) /* Used by Sun */ 38104834Sobrien FAKE_RELOC (FIRST_INVALID_RELOC, 12) 39104834Sobrien FAKE_RELOC (LAST_INVALID_RELOC, 13) 40104834Sobrien RELOC_NUMBER (R_386_TLS_TPOFF,14) 41104834Sobrien RELOC_NUMBER (R_386_TLS_IE, 15) 42104834Sobrien RELOC_NUMBER (R_386_TLS_GOTIE,16) 43104834Sobrien RELOC_NUMBER (R_386_TLS_LE, 17) 44104834Sobrien RELOC_NUMBER (R_386_TLS_GD, 18) 45104834Sobrien RELOC_NUMBER (R_386_TLS_LDM, 19) 4660484Sobrien RELOC_NUMBER (R_386_16, 20) 4760484Sobrien RELOC_NUMBER (R_386_PC16, 21) 4860484Sobrien RELOC_NUMBER (R_386_8, 22) 4960484Sobrien RELOC_NUMBER (R_386_PC8, 23) 50104834Sobrien RELOC_NUMBER (R_386_TLS_GD_32, 24) 51104834Sobrien RELOC_NUMBER (R_386_TLS_GD_PUSH, 25) 52104834Sobrien RELOC_NUMBER (R_386_TLS_GD_CALL, 26) 53104834Sobrien RELOC_NUMBER (R_386_TLS_GD_POP, 27) 54104834Sobrien RELOC_NUMBER (R_386_TLS_LDM_32, 28) 55104834Sobrien RELOC_NUMBER (R_386_TLS_LDM_PUSH, 29) 56104834Sobrien RELOC_NUMBER (R_386_TLS_LDM_CALL, 30) 57104834Sobrien RELOC_NUMBER (R_386_TLS_LDM_POP, 31) 58104834Sobrien RELOC_NUMBER (R_386_TLS_LDO_32, 32) 59104834Sobrien RELOC_NUMBER (R_386_TLS_IE_32, 33) 60104834Sobrien RELOC_NUMBER (R_386_TLS_LE_32, 34) 61104834Sobrien RELOC_NUMBER (R_386_TLS_DTPMOD32, 35) 62104834Sobrien RELOC_NUMBER (R_386_TLS_DTPOFF32, 36) 63104834Sobrien RELOC_NUMBER (R_386_TLS_TPOFF32, 37) 64104834Sobrien 6560484Sobrien /* These are GNU extensions to enable C++ vtable garbage collection. */ 6660484Sobrien RELOC_NUMBER (R_386_GNU_VTINHERIT, 250) 6760484Sobrien RELOC_NUMBER (R_386_GNU_VTENTRY, 251) 6877298SobrienEND_RELOC_NUMBERS (R_386_max) 6960484Sobrien 7060484Sobrien#endif 71