i386.h revision 77298
160484Sobrien/* ix86 ELF support for BFD. 277298Sobrien Copyright (C) 1998, 99, 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 */ 3760484Sobrien FAKE_RELOC (FIRST_INVALID_RELOC, 11) 3860484Sobrien FAKE_RELOC (LAST_INVALID_RELOC, 19) 3960484Sobrien RELOC_NUMBER (R_386_16, 20) 4060484Sobrien RELOC_NUMBER (R_386_PC16, 21) 4160484Sobrien RELOC_NUMBER (R_386_8, 22) 4260484Sobrien RELOC_NUMBER (R_386_PC8, 23) 4360484Sobrien /* These are GNU extensions to enable C++ vtable garbage collection. */ 4460484Sobrien RELOC_NUMBER (R_386_GNU_VTINHERIT, 250) 4560484Sobrien RELOC_NUMBER (R_386_GNU_VTENTRY, 251) 4677298SobrienEND_RELOC_NUMBERS (R_386_max) 4760484Sobrien 4860484Sobrien#endif 49