]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - include/elf/common.h
include/elf/ChangeLog:
[thirdparty/binutils-gdb.git] / include / elf / common.h
index 3635bbb6419238780ff1c17989583713a240c0b4..350d63b64d8661aabd084c56f2cdd3f301bd570c 100644 (file)
@@ -1,6 +1,6 @@
 /* ELF support for BFD.
    Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001, 2002, 2003
+   2001, 2002, 2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
@@ -21,7 +21,7 @@
 
    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.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 
 /* This file is part of ELF support for BFD, and contains the portions
 #define EM_ARC_A5       93     /* ARC Cores Tangent-A5 */
 #define EM_XTENSA       94     /* Tensilica Xtensa Architecture */
 #define EM_IP2K                101     /* Ubicom IP2022 micro controller */
+#define EM_CR          103     /* National Semiconductor CompactRISC */
 #define EM_MSP430      105     /* TI msp430 micro controller */
+#define EM_BLACKFIN    106     /* ADI Blackfin */
+#define EM_ALTERA_NIOS2        113     /* Altera Nios II soft-core processor */
+#define EM_CRX         114     /* National Semiconductor CRX */
 
 /* If it is necessary to assign new unofficial EM_* values, please pick large
    random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
 /* (Deprecated) Temporary number for the OpenRISC processor.  */
 #define EM_OR32                0x8472
 
+/* Renesas M32C and M16C.  */
+#define EM_M32C                        0xFEB0
+
 /* Cygnus M32R ELF backend.  Written in the absence of an ABI.  */
 #define EM_CYGNUS_M32R 0x9041
 
 /* Ubicom IP2xxx; no ABI */
 #define EM_IP2K_OLD            0x8217
 
+#define EM_MT                   0x2530  /* Morpho MT; no ABI */
+
 /* MSP430 magic number
       Written in the absense everything.  */
 #define EM_MSP430_OLD          0x1059
 
+/* Old, unofficial value for Xtensa.  */
+#define EM_XTENSA_OLD          0xabc7
+
 /* Vitesse IQ2000.  */
 #define EM_IQ2000              0xFEBA
 
-/* Old, unofficial value for Xtensa.  */
-#define EM_XTENSA_OLD          0xabc7
+/* NIOS magic number - no EABI available.  */
+#define EM_NIOS32              0xFEBB
 
 /* See the above comment before you add a new EM_* value here.  */
 
 #define PT_LOPROC      0x70000000      /* Processor-specific */
 #define PT_HIPROC      0x7FFFFFFF      /* Processor-specific */
 
-#define PT_GNU_EH_FRAME        (PT_LOOS + 0x474e550)
-#define PT_GNU_STACK   (PT_LOOS + 0x474e551)
+#define PT_GNU_EH_FRAME        (PT_LOOS + 0x474e550) /* Frame unwind information */
+#define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME      /* Solaris uses the same value */
+#define PT_GNU_STACK   (PT_LOOS + 0x474e551) /* Stack flags */
+#define PT_GNU_RELRO   (PT_LOOS + 0x474e552) /* Read-only after relocation */
 
 /* Program segment permissions, in program header p_flags field.  */
 
 #define GNU_ABI_TAG_LINUX      0
 #define GNU_ABI_TAG_HURD       1
 #define GNU_ABI_TAG_SOLARIS    2
+#define GNU_ABI_TAG_FREEBSD    3
+#define GNU_ABI_TAG_NETBSD     4
 
 /* Values for NetBSD .note.netbsd.ident notes.  Note name is "NetBSD".  */
 
 #define NT_NETBSD_IDENT                1
 
+/* Values for OpenBSD .note.openbsd.ident notes.  Note name is "OpenBSD".  */
+
+#define NT_OPENBSD_IDENT       1
+
 /* Values for FreeBSD .note.ABI-tag notes.  Note name is "FreeBSD".  */
 
 #define NT_FREEBSD_ABI_TAG     1
 
 #define ELF64_R_SYM(i)         ((i) >> 32)
 #define ELF64_R_TYPE(i)                ((i) & 0xffffffff)
-#define ELF64_R_INFO(s,t)      (((bfd_vma) (s) << 32) + (bfd_vma) (t))
+#define ELF64_R_INFO(s,t)      (((bfd_vma) (s) << 31 << 1) + (bfd_vma) (t))
 
 /* Dynamic section tags.  */
 
    values outside of the new range (see below).         */
 #define OLD_DT_LOOS    0x60000000
 #define DT_LOOS                0x6000000d
-#define DT_HIOS                0x6fff0000
+#define DT_HIOS                0x6ffff000
 #define OLD_DT_HIOS    0x6fffffff
 
 #define DT_LOPROC      0x70000000
 #define DT_VALRNGHI    0x6ffffdff
 
 #define DT_ADDRRNGLO   0x6ffffe00
+#define DT_TLSDESC_PLT 0x6ffffef6
+#define DT_TLSDESC_GOT 0x6ffffef7
 #define DT_GNU_CONFLICT        0x6ffffef8
 #define DT_GNU_LIBLIST 0x6ffffef9
 #define DT_CONFIG      0x6ffffefa
 #define AT_ICACHEBSIZE 20              /* Instruction cache block size.  */
 #define AT_UCACHEBSIZE 21              /* Unified cache block size.  */
 #define AT_IGNOREPPC   22              /* Entry should be ignored */
+#define        AT_SECURE       23              /* Boolean, was exec setuid-like?  */
 /* Pointer to the global system page used for system calls and other
    nice things.  */
 #define AT_SYSINFO     32
-#define AT_SYSINFO_EHDR        33
+#define AT_SYSINFO_EHDR        33 /* Pointer to ELF header of system-supplied DSO.  */
+
+#define AT_SUN_UID      2000    /* Effective user ID.  */
+#define AT_SUN_RUID     2001    /* Real user ID.  */
+#define AT_SUN_GID      2002    /* Effective group ID.  */
+#define AT_SUN_RGID     2003    /* Real group ID.  */
+#define AT_SUN_LDELF    2004    /* Dynamic linker's ELF header.  */
+#define AT_SUN_LDSHDR   2005    /* Dynamic linker's section headers.  */
+#define AT_SUN_LDNAME   2006    /* String giving name of dynamic linker.  */
+#define AT_SUN_LPAGESZ  2007    /* Large pagesize.   */
+#define AT_SUN_PLATFORM 2008    /* Platform name string.  */
+#define AT_SUN_HWCAP    2009   /* Machine dependent hints about
+                                  processor capabilities.  */
+#define AT_SUN_IFLUSH   2010    /* Should flush icache? */
+#define AT_SUN_CPU      2011    /* CPU name string.  */
+#define AT_SUN_EMUL_ENTRY 2012 /* COFF entry point address.  */
+#define AT_SUN_EMUL_EXECFD 2013        /* COFF executable file descriptor.  */
+#define AT_SUN_EXECNAME 2014    /* Canonicalized file name given to execve.  */
+#define AT_SUN_MMU      2015    /* String for name of MMU module.   */
+#define AT_SUN_LDDATA   2016    /* Dynamic linker's data segment address.  */
+
 
 #endif /* _ELF_COMMON_H */