#define ELFOSABI_OPENBSD 12 /* OpenBSD */
#define ELFOSABI_OPENVMS 13 /* OpenVMS */
#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
-#define ELFOSABI_AROS 15 /* Amiga Research OS */
+#define ELFOSABI_AROS 15 /* AROS */
#define ELFOSABI_ARM 97 /* ARM */
#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
#define EM_M16C 117 /* Renesas M16C series microprocessors */
#define EM_DSPIC30F 118 /* Microchip Technology dsPIC30F Digital Signal Controller */
#define EM_CE 119 /* Freescale Communication Engine RISC core */
-#define EM_M32C_NEW 120 /* Renesas M32C series microprocessors */
+#define EM_M32C 120 /* Renesas M32C series microprocessors */
#define EM_TSK3000 131 /* Altium TSK3000 core */
#define EM_RS08 132 /* Freescale RS08 embedded processor */
#define EM_ECOG2 134 /* Cyan Technology eCOG2 microprocessor */
-#define EM_SCORE 135 /* Sunplus Score */
+#define EM_SCORE 135 /* Sunplus Score */
#define EM_DSP24 136 /* New Japan Radio (NJR) 24-bit DSP Processor */
#define EM_VIDEOCORE3 137 /* Broadcom VideoCore III processor */
#define EM_LATTICEMICO32 138 /* RISC processor for Lattice FPGA architecture */
#define EM_METAG 174 /* Imagination Technologies META processor architecture */
#define EM_MCST_ELBRUS 175 /* MCST Elbrus general purpose hardware architecture */
#define EM_ECOG16 176 /* Cyan Technology eCOG16 family */
+#define EM_CR16 177 /* National Semiconductor CompactRISC 16-bit processor */
+#define EM_ETPU 178 /* Freescale Extended Time Processing Unit */
+#define EM_SLE9X 179 /* Infineon Technologies SLE9X core */
+#define EM_INTEL180 180 /* Reserved by Intel */
+#define EM_INTEL181 181 /* Reserved by Intel */
+#define EM_INTEL182 182 /* Reserved by Intel */
/* If it is necessary to assign new unofficial EM_* values, please pick large
random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
#define EM_PPC_OLD 17
/* picoJava */
-#define EM_PJ_OLD 99
+#define EM_PJ_OLD 99
-/* National Semiconductor CompactRISC - CR16 */
-#define EM_CR16 115
+/* Old, unofficial value for National Semiconductor CompactRISC - CR16 */
+#define EM_CR16_OLD 115
/* AVR magic number. Written in the absense of an ABI. */
#define EM_AVR_OLD 0x1057
#define EM_MSP430_OLD 0x1059
/* Morpho MT. Written in the absense of an ABI. */
-#define EM_MT 0x2530
+#define EM_MT 0x2530
/* FR30 magic number - no EABI available. */
#define EM_CYGNUS_FR30 0x3330
#define EM_CYGNUS_FRV 0x5441
/* Infineon Technologies 16-bit microcontroller with C166-V2 core. */
-#define EM_XC16X 0x4688
+#define EM_XC16X 0x4688
/* D10V backend magic number. Written in the absence of an ABI. */
#define EM_CYGNUS_D10V 0x7650
#define EM_OR32 0x8472
/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */
-#define EM_CYGNUS_POWERPC 0x9025
+#define EM_CYGNUS_POWERPC 0x9025
/* Alpha backend magic number. Written in the absence of an ABI. */
#define EM_ALPHA 0x9026
#define EM_CYGNUS_MN10200 0xdead
/* Renesas M32C and M16C. */
-#define EM_M32C 0xFEB0
+#define EM_M32C_OLD 0xFEB0
/* Vitesse IQ2000. */
#define EM_IQ2000 0xFEBA
#define EM_CYGNUS_MEP 0xF00D /* Toshiba MeP */
+#define EM_MOXIE 0xFEED /* Moxie */
+
+/* Old Sunplus S+core7 backend magic number. Written in the absence of an ABI. */
+#define EM_SCORE_OLD 95
+
/* See the above comment before you add a new EM_* value here. */
/* Values for e_version. */
#define SHT_LOOS 0x60000000 /* First of OS specific semantics */
#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */
+#define SHT_GNU_INCREMENTAL_INPUTS 0x6fff4700 /* incremental build data */
#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes */
#define SHT_GNU_HASH 0x6ffffff6 /* GNU style symbol hash table */
#define SHT_GNU_LIBLIST 0x6ffffff7 /* List of prelink dependencies */
/* note name must be "LINUX". */
#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */
/* note name must be "LINUX". */
+#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */
+ /* note name must be "LINUX". */
/* Note segments for core files on dir-style procfs systems. */
#define NT_NETBSDCORE_PROCINFO 1 /* Has a struct procinfo */
#define NT_NETBSDCORE_FIRSTMACH 32 /* start of machdep note types */
+
+/* Note segments for core files on OpenBSD systems. Note name is
+ "OpenBSD". */
+
+#define NT_OPENBSD_PROCINFO 10
+#define NT_OPENBSD_AUXV 11
+#define NT_OPENBSD_REGS 20
+#define NT_OPENBSD_FPREGS 21
+#define NT_OPENBSD_XFPREGS 22
+#define NT_OPENBSD_WCOOKIE 23
+
+
/* Note segments for core files on SPU systems. Note name
must start with "SPU/". */
#define STB_WEAK 2 /* Like globals, lower precedence */
#define STB_LOOS 10 /* OS-specific semantics */
#define STB_HIOS 12 /* OS-specific semantics */
-#define STB_LOPROC 13 /* Application-specific semantics */
-#define STB_HIPROC 15 /* Application-specific semantics */
+#define STB_LOPROC 13 /* Processor-specific semantics */
+#define STB_HIPROC 15 /* Processor-specific semantics */
#define STT_NOTYPE 0 /* Symbol type is unspecified */
#define STT_OBJECT 1 /* Symbol is a data object */
#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_RELC 8 /* Complex relocation expression */
-#define STT_SRELC 9 /* Signed Complex relocation expression */
+#define STT_RELC 8 /* Complex relocation expression */
+#define STT_SRELC 9 /* Signed Complex relocation expression */
#define STT_LOOS 10 /* OS-specific semantics */
+#define STT_GNU_IFUNC 10 /* Symbol is an indirect code object */
#define STT_HIOS 12 /* OS-specific semantics */
-#define STT_LOPROC 13 /* Application-specific semantics */
-#define STT_HIPROC 15 /* Application-specific semantics */
+#define STT_LOPROC 13 /* Processor-specific semantics */
+#define STT_HIPROC 15 /* Processor-specific semantics */
/* The following constants control how a symbol may be accessed once it has
become part of an executable or shared library. */
#define DT_LOPROC 0x70000000
#define DT_HIPROC 0x7fffffff
-/* The next four dynamic tags are used on Solaris. We support them
- everywhere. Note these values lie outside of the (new) range for
- OS specific values. This is a deliberate special case and we
- maintain it for backwards compatability. */
+/* The next 2 dynamic tag ranges, integer value range (DT_VALRNGLO to
+ DT_VALRNGHI) and virtual address range (DT_ADDRRNGLO to DT_ADDRRNGHI),
+ are used on Solaris. We support them everywhere. Note these values
+ lie outside of the (new) range for 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 AT_UCACHEBSIZE 21 /* Unified cache block size. */
#define AT_IGNOREPPC 22 /* Entry should be ignored */
#define AT_SECURE 23 /* Boolean, was exec setuid-like? */
+#define AT_BASE_PLATFORM 24 /* String identifying real platform,
+ may differ from AT_PLATFORM. */
+#define AT_RANDOM 25 /* Address of 16 random bytes. */
+#define AT_EXECFN 31 /* Filename of executable. */
/* Pointer to the global system page used for system calls and other
nice things. */
#define AT_SYSINFO 32