x86: also test alternative VMGEXIT encoding
[deliverable/binutils-gdb.git] / include / elf / i386.h
index 95eaea88d44c12eb47636fc857f901dd4efe4529..714c3ba4486ec9973cbef84b84076f6fe8f022aa 100644 (file)
@@ -1,11 +1,11 @@
 /* ix86 ELF support for BFD.
 /* ix86 ELF support for BFD.
-   Copyright (C) 1998 Free Software Foundation, Inc.
+   Copyright (C) 1998-2020 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of BFD, the Binary File Descriptor library.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #ifndef _ELF_I386_H
 #define _ELF_I386_H
 
 
 #ifndef _ELF_I386_H
 #define _ELF_I386_H
 
-#define R_386_NONE     0               /* No reloc */
-#define R_386_32       1               /* Direct 32 bit  */
-#define R_386_PC32     2               /* PC relative 32 bit */
-#define R_386_GOT32    3               /* 32 bit GOT entry */
-#define R_386_PLT32    4               /* 32 bit PLT address */
-#define R_386_COPY     5               /* Copy symbol at runtime */
-#define R_386_GLOB_DAT 6               /* Create GOT entry */
-#define R_386_JMP_SLOT 7               /* Create PLT entry */
-#define R_386_RELATIVE 8               /* Adjust by program base */
-#define R_386_GOTOFF   9               /* 32 bit offset to GOT */
-#define R_386_GOTPC    10              /* 32 bit PC relative offset to GOT */
-#define R_386_16       20
-#define R_386_PC16     21
-#define R_386_PC8      22
+#include "elf/reloc-macros.h"
+
+START_RELOC_NUMBERS (elf_i386_reloc_type)
+     RELOC_NUMBER (R_386_NONE,      0) /* No reloc */
+     RELOC_NUMBER (R_386_32,        1) /* Direct 32 bit  */
+     RELOC_NUMBER (R_386_PC32,      2) /* PC relative 32 bit */
+     RELOC_NUMBER (R_386_GOT32,     3) /* 32 bit GOT entry */
+     RELOC_NUMBER (R_386_PLT32,            4)  /* 32 bit PLT address */
+     RELOC_NUMBER (R_386_COPY,     5)  /* Copy symbol at runtime */
+     RELOC_NUMBER (R_386_GLOB_DAT,  6) /* Create GOT entry */
+     RELOC_NUMBER (R_386_JUMP_SLOT, 7) /* Create PLT entry */
+     RELOC_NUMBER (R_386_RELATIVE,  8) /* Adjust by program base */
+     RELOC_NUMBER (R_386_GOTOFF,    9) /* 32 bit offset to GOT */
+     RELOC_NUMBER (R_386_GOTPC,    10) /* 32 bit PC relative offset to GOT */
+     RELOC_NUMBER (R_386_32PLT,    11) /* Used by Sun */
+     FAKE_RELOC   (FIRST_INVALID_RELOC, 12)
+     FAKE_RELOC   (LAST_INVALID_RELOC,  13)
+     RELOC_NUMBER (R_386_TLS_TPOFF,14)
+     RELOC_NUMBER (R_386_TLS_IE,   15)
+     RELOC_NUMBER (R_386_TLS_GOTIE,16)
+     RELOC_NUMBER (R_386_TLS_LE,   17)
+     RELOC_NUMBER (R_386_TLS_GD,   18)
+     RELOC_NUMBER (R_386_TLS_LDM,  19)
+     RELOC_NUMBER (R_386_16,       20)
+     RELOC_NUMBER (R_386_PC16,     21)
+     RELOC_NUMBER (R_386_8,       22)
+     RELOC_NUMBER (R_386_PC8,      23)
+     RELOC_NUMBER (R_386_TLS_GD_32,    24)
+     RELOC_NUMBER (R_386_TLS_GD_PUSH,  25)
+     RELOC_NUMBER (R_386_TLS_GD_CALL,  26)
+     RELOC_NUMBER (R_386_TLS_GD_POP,   27)
+     RELOC_NUMBER (R_386_TLS_LDM_32,   28)
+     RELOC_NUMBER (R_386_TLS_LDM_PUSH, 29)
+     RELOC_NUMBER (R_386_TLS_LDM_CALL, 30)
+     RELOC_NUMBER (R_386_TLS_LDM_POP,  31)
+     RELOC_NUMBER (R_386_TLS_LDO_32,   32)
+     RELOC_NUMBER (R_386_TLS_IE_32,    33)
+     RELOC_NUMBER (R_386_TLS_LE_32,    34)
+     RELOC_NUMBER (R_386_TLS_DTPMOD32, 35)
+     RELOC_NUMBER (R_386_TLS_DTPOFF32, 36)
+     RELOC_NUMBER (R_386_TLS_TPOFF32,  37)
+     RELOC_NUMBER (R_386_SIZE32,       38) /* 32-bit symbol size */
+     RELOC_NUMBER (R_386_TLS_GOTDESC,  39)
+     RELOC_NUMBER (R_386_TLS_DESC_CALL,40)
+     RELOC_NUMBER (R_386_TLS_DESC,     41)
+     RELOC_NUMBER (R_386_IRELATIVE,    42) /* Adjust indirectly by program base */
+     /* Load from 32 bit GOT entry, relaxable.  */
+     RELOC_NUMBER (R_386_GOT32X,       43)
+
+     /* Used by Intel.  */
+     RELOC_NUMBER (R_386_USED_BY_INTEL_200, 200)
+
+     /* These are GNU extensions to enable C++ vtable garbage collection.  */
+     RELOC_NUMBER (R_386_GNU_VTINHERIT, 250)
+     RELOC_NUMBER (R_386_GNU_VTENTRY, 251)
+END_RELOC_NUMBERS (R_386_max)
 
 #endif
 
 #endif
This page took 0.024209 seconds and 4 git commands to generate.