Back to index

cell-binutils  2.17cvs20070401
i386.h
Go to the documentation of this file.
00001 /* ix86 ELF support for BFD.
00002    Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006
00003    Free Software Foundation, Inc.
00004 
00005    This file is part of BFD, the Binary File Descriptor library.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 2 of the License, or
00010    (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program; if not, write to the Free Software Foundation,
00019    Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
00020 
00021 #ifndef _ELF_I386_H
00022 #define _ELF_I386_H
00023 
00024 #include "elf/reloc-macros.h"
00025 
00026 START_RELOC_NUMBERS (elf_i386_reloc_type)
00027      RELOC_NUMBER (R_386_NONE,      0)    /* No reloc */
00028      RELOC_NUMBER (R_386_32,        1)    /* Direct 32 bit  */
00029      RELOC_NUMBER (R_386_PC32,      2)    /* PC relative 32 bit */
00030      RELOC_NUMBER (R_386_GOT32,     3)    /* 32 bit GOT entry */
00031      RELOC_NUMBER (R_386_PLT32,        4) /* 32 bit PLT address */
00032      RELOC_NUMBER (R_386_COPY,         5) /* Copy symbol at runtime */
00033      RELOC_NUMBER (R_386_GLOB_DAT,  6)    /* Create GOT entry */
00034      RELOC_NUMBER (R_386_JUMP_SLOT, 7)    /* Create PLT entry */
00035      RELOC_NUMBER (R_386_RELATIVE,  8)    /* Adjust by program base */
00036      RELOC_NUMBER (R_386_GOTOFF,    9)    /* 32 bit offset to GOT */
00037      RELOC_NUMBER (R_386_GOTPC,    10)    /* 32 bit PC relative offset to GOT */
00038      RELOC_NUMBER (R_386_32PLT,    11)    /* Used by Sun */
00039      FAKE_RELOC   (FIRST_INVALID_RELOC, 12)
00040      FAKE_RELOC   (LAST_INVALID_RELOC,  13)
00041      RELOC_NUMBER (R_386_TLS_TPOFF,14)
00042      RELOC_NUMBER (R_386_TLS_IE,   15)
00043      RELOC_NUMBER (R_386_TLS_GOTIE,16)
00044      RELOC_NUMBER (R_386_TLS_LE,   17)
00045      RELOC_NUMBER (R_386_TLS_GD,   18)
00046      RELOC_NUMBER (R_386_TLS_LDM,  19)
00047      RELOC_NUMBER (R_386_16,       20)
00048      RELOC_NUMBER (R_386_PC16,     21)
00049      RELOC_NUMBER (R_386_8,    22)
00050      RELOC_NUMBER (R_386_PC8,      23)
00051      RELOC_NUMBER (R_386_TLS_GD_32,    24)
00052      RELOC_NUMBER (R_386_TLS_GD_PUSH,  25)
00053      RELOC_NUMBER (R_386_TLS_GD_CALL,  26)
00054      RELOC_NUMBER (R_386_TLS_GD_POP,   27)
00055      RELOC_NUMBER (R_386_TLS_LDM_32,   28)
00056      RELOC_NUMBER (R_386_TLS_LDM_PUSH, 29)
00057      RELOC_NUMBER (R_386_TLS_LDM_CALL, 30)
00058      RELOC_NUMBER (R_386_TLS_LDM_POP,  31)
00059      RELOC_NUMBER (R_386_TLS_LDO_32,   32)
00060      RELOC_NUMBER (R_386_TLS_IE_32,    33)
00061      RELOC_NUMBER (R_386_TLS_LE_32,    34)
00062      RELOC_NUMBER (R_386_TLS_DTPMOD32, 35)
00063      RELOC_NUMBER (R_386_TLS_DTPOFF32, 36)
00064      RELOC_NUMBER (R_386_TLS_TPOFF32,  37)
00065 /* 38 */
00066      RELOC_NUMBER (R_386_TLS_GOTDESC,  39)
00067      RELOC_NUMBER (R_386_TLS_DESC_CALL,40)
00068      RELOC_NUMBER (R_386_TLS_DESC,     41)
00069 
00070      /* Used by Intel.  */
00071      RELOC_NUMBER (R_386_USED_BY_INTEL_200, 200)
00072 
00073      /* These are GNU extensions to enable C++ vtable garbage collection.  */
00074      RELOC_NUMBER (R_386_GNU_VTINHERIT, 250)
00075      RELOC_NUMBER (R_386_GNU_VTENTRY, 251)
00076 END_RELOC_NUMBERS (R_386_max)
00077 
00078 #endif