i386.h revision 104835
1178476Sjb/* ix86 ELF support for BFD. 2178476Sjb Copyright 1998, 1999, 2000 Free Software Foundation, Inc. 3178476Sjb 4178476Sjb This file is part of BFD, the Binary File Descriptor library. 5178476Sjb 6178476Sjb This program is free software; you can redistribute it and/or modify 7178476Sjb it under the terms of the GNU General Public License as published by 8178476Sjb the Free Software Foundation; either version 2 of the License, or 9178476Sjb (at your option) any later version. 10178476Sjb 11178476Sjb This program is distributed in the hope that it will be useful, 12178476Sjb but WITHOUT ANY WARRANTY; without even the implied warranty of 13178476Sjb MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14178476Sjb GNU General Public License for more details. 15178476Sjb 16178476Sjb You should have received a copy of the GNU General Public License 17178476Sjb along with this program; if not, write to the Free Software Foundation, 18178476Sjb Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 19178476Sjb 20178476Sjb#ifndef _ELF_I386_H 21178476Sjb#define _ELF_I386_H 22178476Sjb 23178476Sjb#include "elf/reloc-macros.h" 24178476Sjb 25178476SjbSTART_RELOC_NUMBERS (elf_i386_reloc_type) 26178476Sjb RELOC_NUMBER (R_386_NONE, 0) /* No reloc */ 27178476Sjb RELOC_NUMBER (R_386_32, 1) /* Direct 32 bit */ 28178476Sjb RELOC_NUMBER (R_386_PC32, 2) /* PC relative 32 bit */ 29178476Sjb RELOC_NUMBER (R_386_GOT32, 3) /* 32 bit GOT entry */ 30178476Sjb RELOC_NUMBER (R_386_PLT32, 4) /* 32 bit PLT address */ 31178476Sjb RELOC_NUMBER (R_386_COPY, 5) /* Copy symbol at runtime */ 32178476Sjb RELOC_NUMBER (R_386_GLOB_DAT, 6) /* Create GOT entry */ 33178476Sjb RELOC_NUMBER (R_386_JUMP_SLOT, 7) /* Create PLT entry */ 34178476Sjb RELOC_NUMBER (R_386_RELATIVE, 8) /* Adjust by program base */ 35178476Sjb RELOC_NUMBER (R_386_GOTOFF, 9) /* 32 bit offset to GOT */ 36178476Sjb RELOC_NUMBER (R_386_GOTPC, 10) /* 32 bit PC relative offset to GOT */ 37178476Sjb RELOC_NUMBER (R_386_32PLT, 11) /* Used by Sun */ 38178476Sjb FAKE_RELOC (FIRST_INVALID_RELOC, 12) 39178476Sjb FAKE_RELOC (LAST_INVALID_RELOC, 13) 40178476Sjb RELOC_NUMBER (R_386_TLS_TPOFF,14) 41178476Sjb RELOC_NUMBER (R_386_TLS_IE, 15) 42178476Sjb RELOC_NUMBER (R_386_TLS_GOTIE,16) 43178476Sjb RELOC_NUMBER (R_386_TLS_LE, 17) 44178476Sjb RELOC_NUMBER (R_386_TLS_GD, 18) 45178476Sjb RELOC_NUMBER (R_386_TLS_LDM, 19) 46178476Sjb RELOC_NUMBER (R_386_16, 20) 47178476Sjb RELOC_NUMBER (R_386_PC16, 21) 48178476Sjb RELOC_NUMBER (R_386_8, 22) 49178476Sjb RELOC_NUMBER (R_386_PC8, 23) 50178476Sjb RELOC_NUMBER (R_386_TLS_GD_32, 24) 51 RELOC_NUMBER (R_386_TLS_GD_PUSH, 25) 52 RELOC_NUMBER (R_386_TLS_GD_CALL, 26) 53 RELOC_NUMBER (R_386_TLS_GD_POP, 27) 54 RELOC_NUMBER (R_386_TLS_LDM_32, 28) 55 RELOC_NUMBER (R_386_TLS_LDM_PUSH, 29) 56 RELOC_NUMBER (R_386_TLS_LDM_CALL, 30) 57 RELOC_NUMBER (R_386_TLS_LDM_POP, 31) 58 RELOC_NUMBER (R_386_TLS_LDO_32, 32) 59 RELOC_NUMBER (R_386_TLS_IE_32, 33) 60 RELOC_NUMBER (R_386_TLS_LE_32, 34) 61 RELOC_NUMBER (R_386_TLS_DTPMOD32, 35) 62 RELOC_NUMBER (R_386_TLS_DTPOFF32, 36) 63 RELOC_NUMBER (R_386_TLS_TPOFF32, 37) 64 65 /* These are GNU extensions to enable C++ vtable garbage collection. */ 66 RELOC_NUMBER (R_386_GNU_VTINHERIT, 250) 67 RELOC_NUMBER (R_386_GNU_VTENTRY, 251) 68END_RELOC_NUMBERS (R_386_max) 69 70#endif 71