i386.h revision 60484
160484Sobrien/* ix86 ELF support for BFD.
260484Sobrien   Copyright (C) 1998 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     RELOC_NUMBER (R_386_max,	   24)
4460484Sobrien     /* These are GNU extensions to enable C++ vtable garbage collection.  */
4560484Sobrien     RELOC_NUMBER (R_386_GNU_VTINHERIT, 250)
4660484Sobrien     RELOC_NUMBER (R_386_GNU_VTENTRY, 251)
4760484SobrienEND_RELOC_NUMBERS
4860484Sobrien
4960484Sobrien#endif
50