]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - include/elf/common.h
* readelf.c (get_dynamic_type): Handle DT_GNU_PRELINKED,
[thirdparty/binutils-gdb.git] / include / elf / common.h
index 1c25f9ff39a221874ea2b805496d2a511622c270..4e1b50276c0f55b532af0606d06976b058116105 100644 (file)
@@ -1,6 +1,6 @@
 /* ELF support for BFD.
    Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001
+   2001, 2002
    Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
@@ -92,7 +92,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define ET_HIPROC      0xFFFF  /* Processor-specific */
 
 /* Values for e_machine, which identifies the architecture.  These numbers
-   are officially assigned by registry@sco.com.  See below for a list of
+   are officially assigned by registry@caldera.com.  See below for a list of
    ad-hoc numbers used during initial development.  */
 
 #define EM_NONE                0       /* No machine */
@@ -145,6 +145,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define EM_TINYJ       61      /* Advanced Logic Corp. TinyJ embedded processor */
 #define EM_X86_64      62       /* Advanced Micro Devices X86-64 processor */
 
+#define EM_PDP10       64      /* Digital Equipment Corp. PDP-10 */
+#define EM_PDP11       65      /* Digital Equipment Corp. PDP-11 */
 #define EM_FX66               66       /* Siemens FX66 microcontroller */
 #define EM_ST9PLUS     67      /* STMicroelectronics ST9+ 8/16 bit microcontroller */
 #define EM_ST7        68       /* STMicroelectronics ST7 8-bit microcontroller */
@@ -184,7 +186,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    will have a collision.  Instead, pick a random number.
 
    Normally, each entity or maintainer responsible for a machine with an
-   unofficial e_machine number should eventually ask registry@sco.com for
+   unofficial e_machine number should eventually ask registry@caldera.com for
    an officially blessed number to be added to the list above.  */
 
 #define EM_PJ_OLD      99       /* picoJava */
@@ -199,6 +201,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 /* Old version of PowerPC, this should be removed shortly. */
 #define EM_PPC_OLD     17
 
+/* (Depreciated) Temporary number for the OpenRISC processor.  */
+#define EM_OR32               0x8472
+
 /* Cygnus M32R ELF backend.  Written in the absence of an ABI.  */
 #define EM_CYGNUS_M32R 0x9041
 
@@ -233,8 +238,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    Written in the absense of an ABI.  */
 #define EM_OPENRISC_OLD                0x3426
 
+/* DLX magic number
+   Written in the absense of an ABI.  */
+#define EM_DLX                 0x5aa5
+
 #define EM_XSTORMY16           0xad45
 
+/* FRV magic number - no EABI available??.  */
+#define EM_CYGNUS_FRV          0x5441
 /* See the above comment before you add a new EM_* value here.  */
 
 /* Values for e_version.  */
@@ -251,11 +262,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define PT_NOTE                4               /* Auxiliary information */
 #define PT_SHLIB       5               /* Reserved, unspecified semantics */
 #define PT_PHDR                6               /* Entry for header table itself */
+#define PT_TLS         7               /* Thread local storage segment */
 #define PT_LOOS         0x60000000     /* OS-specific */
 #define PT_HIOS         0x6fffffff     /* OS-specific */
 #define PT_LOPROC      0x70000000      /* Processor-specific */
 #define PT_HIPROC      0x7FFFFFFF      /* Processor-specific */
 
+#define PT_GNU_EH_FRAME        (PT_LOOS + 0x474e550)
+
 /* Program segment permissions, in program header p_flags field.  */
 
 #define PF_X           (1 << 0)        /* Segment is executable */
@@ -289,6 +303,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define SHT_LOOS        0x60000000      /* First of OS specific semantics */
 #define SHT_HIOS        0x6fffffff      /* Last of OS specific semantics */
 
+#define SHT_GNU_LIBLIST        0x6ffffff7      /* List of prelink dependencies */
+
 /* The next three section types are defined by Solaris, and are named
    SHT_SUNW*.  We use them in GNU code, so we also define SHT_GNU*
    versions.  */
@@ -317,6 +333,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define SHF_LINK_ORDER  (1 << 7)       /* Preserve section ordering when linking */
 #define SHF_OS_NONCONFORMING (1 << 8)  /* OS specific processing required */
 #define SHF_GROUP      (1 << 9)        /* Member of a section group */
+#define SHF_TLS                (1 << 10)       /* Thread local storage section */
 
 /* #define SHF_MASKOS  0x0F000000    *//* OS-specific semantics */
 #define SHF_MASKOS     0x0FF00000      /* New value, Oct 4, 1999 Draft */
@@ -340,11 +357,34 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define NT_LWPSINFO    17              /* Has a struct lwpsinfo_t */
 #define NT_WIN32PSTATUS        18              /* Has a struct win32_pstatus */
 
+
+/* Note segments for core files on NetBSD systems.  Note name
+   must start with "NetBSD-CORE".  */
+
+#define NT_NETBSDCORE_PROCINFO 1       /* Has a struct procinfo */
+#define NT_NETBSDCORE_FIRSTMACH        32      /* start of machdep note types */
+
+
 /* Values of note segment descriptor types for object files.  */
 
 #define NT_VERSION     1               /* Contains a version string.  */
 #define NT_ARCH                2               /* Contains an architecture string.  */
 
+/* Values for GNU .note.ABI-tag notes.  Note name is "GNU".  */
+
+#define NT_GNU_ABI_TAG         1
+#define GNU_ABI_TAG_LINUX      0
+#define GNU_ABI_TAG_HURD       1
+#define GNU_ABI_TAG_SOLARIS    2
+
+/* Values for NetBSD .note.netbsd.ident notes.  Note name is "NetBSD".  */
+
+#define NT_NETBSD_IDENT                1
+
+/* Values for FreeBSD .note.ABI-tag notes.  Note name is "FreeBSD".  */
+
+#define NT_FREEBSD_ABI_TAG     1
+
 /* These three macros disassemble and assemble a symbol table st_info field,
    which contains the symbol binding and symbol type.  The STB_ and STT_
    defines identify the binding and type.  */
@@ -389,6 +429,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define STT_SECTION    3               /* Symbol associated with a section */
 #define STT_FILE       4               /* Symbol gives a file name */
 #define STT_COMMON     5               /* An uninitialised common block */
+#define STT_TLS                6               /* Thread local data object */
 #define STT_LOOS        10             /* OS-specific semantics */
 #define STT_HIOS        12             /* OS-specific semantics */
 #define STT_LOPROC     13              /* Application-specific semantics */
@@ -407,6 +448,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define SHN_COMMON      0xFFF2         /* Associated symbol is in common */
 #define SHN_XINDEX      0xFFFF         /* Section index is held elsewhere */
 #define SHN_HIRESERVE   0xFFFF         /* End range of reserved indices */
+#define SHN_BAD                ((unsigned) -1) /* Used internally by bfd */
 
 /* The following constants control how a symbol may be accessed once it has
    become part of an executable or shared library.  */
@@ -480,6 +522,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    OS specific values.  This is a deliberate special case and we
    maintain it for backwards compatability.  */
 #define DT_VALRNGLO    0x6ffffd00
+#define DT_GNU_PRELINKED 0x6ffffdf5
+#define DT_GNU_CONFLICTSZ 0x6ffffdf6
+#define DT_GNU_LIBLISTSZ 0x6ffffdf7
 #define DT_CHECKSUM    0x6ffffdf8
 #define DT_PLTPADSZ    0x6ffffdf9
 #define DT_MOVEENT     0x6ffffdfa
@@ -491,6 +536,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define DT_VALRNGHI    0x6ffffdff
 
 #define DT_ADDRRNGLO   0x6ffffe00
+#define DT_GNU_CONFLICT        0x6ffffef8
+#define DT_GNU_LIBLIST 0x6ffffef9
 #define DT_CONFIG      0x6ffffefa
 #define DT_DEPAUDIT    0x6ffffefb
 #define DT_AUDIT       0x6ffffefc
@@ -556,6 +603,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define DF_SYMBOLIC    (1 << 1)
 #define DF_TEXTREL     (1 << 2)
 #define DF_BIND_NOW    (1 << 3)
+#define DF_STATIC_TLS  (1 << 4)
 
 /* These constants are used for the version number of a Elf32_Verdef
    structure.  */