i386.h revision 60484
152284Sobrien/* ix86 ELF support for BFD.
252284Sobrien   Copyright (C) 1998 Free Software Foundation, Inc.
352284Sobrien
452284Sobrien   This file is part of BFD, the Binary File Descriptor library.
5132718Skan
652284Sobrien   This program is free software; you can redistribute it and/or modify
7132718Skan   it under the terms of the GNU General Public License as published by
852284Sobrien   the Free Software Foundation; either version 2 of the License, or
952284Sobrien   (at your option) any later version.
1052284Sobrien
1152284Sobrien   This program is distributed in the hope that it will be useful,
12132718Skan   but WITHOUT ANY WARRANTY; without even the implied warranty of
1352284Sobrien   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1452284Sobrien   GNU General Public License for more details.
1552284Sobrien
1652284Sobrien   You should have received a copy of the GNU General Public License
1752284Sobrien   along with this program; if not, write to the Free Software Foundation,
18132718Skan   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
19169689Skan
20169689Skan#ifndef _ELF_I386_H
2152284Sobrien#define _ELF_I386_H
2252284Sobrien
2352284Sobrien#include "elf/reloc-macros.h"
2452284Sobrien
2552284SobrienSTART_RELOC_NUMBERS (elf_i386_reloc_type)
2652284Sobrien     RELOC_NUMBER (R_386_NONE,      0)	/* No reloc */
2752284Sobrien     RELOC_NUMBER (R_386_32,        1)	/* Direct 32 bit  */
2852284Sobrien     RELOC_NUMBER (R_386_PC32,      2)	/* PC relative 32 bit */
2952284Sobrien     RELOC_NUMBER (R_386_GOT32,     3)	/* 32 bit GOT entry */
3090075Sobrien     RELOC_NUMBER (R_386_PLT32,	    4)	/* 32 bit PLT address */
3190075Sobrien     RELOC_NUMBER (R_386_COPY,	    5)	/* Copy symbol at runtime */
3252284Sobrien     RELOC_NUMBER (R_386_GLOB_DAT,  6)	/* Create GOT entry */
3352284Sobrien     RELOC_NUMBER (R_386_JUMP_SLOT, 7)	/* Create PLT entry */
34117395Skan     RELOC_NUMBER (R_386_RELATIVE,  8)	/* Adjust by program base */
35     RELOC_NUMBER (R_386_GOTOFF,    9)	/* 32 bit offset to GOT */
36     RELOC_NUMBER (R_386_GOTPC,    10)	/* 32 bit PC relative offset to GOT */
37     FAKE_RELOC   (FIRST_INVALID_RELOC, 11)
38     FAKE_RELOC   (LAST_INVALID_RELOC,  19)
39     RELOC_NUMBER (R_386_16,       20)
40     RELOC_NUMBER (R_386_PC16,     21)
41     RELOC_NUMBER (R_386_8,	   22)
42     RELOC_NUMBER (R_386_PC8,      23)
43     RELOC_NUMBER (R_386_max,	   24)
44     /* These are GNU extensions to enable C++ vtable garbage collection.  */
45     RELOC_NUMBER (R_386_GNU_VTINHERIT, 250)
46     RELOC_NUMBER (R_386_GNU_VTENTRY, 251)
47END_RELOC_NUMBERS
48
49#endif
50