summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/elf.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ia64/include/elf.h')
-rw-r--r--sys/ia64/include/elf.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/ia64/include/elf.h b/sys/ia64/include/elf.h
index 1160293..7da0700 100644
--- a/sys/ia64/include/elf.h
+++ b/sys/ia64/include/elf.h
@@ -33,9 +33,13 @@
* ELF definitions for the IA-64 architecture.
*/
+#ifndef __ELF_WORD_SIZE
+#define __ELF_WORD_SIZE 64
+#endif
+
#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */
+#include <sys/elf32.h> /* Definitions common to all 32 bit architectures. */
-#define __ELF_WORD_SIZE 64 /* Used by <sys/elf_generic.h> */
#include <sys/elf_generic.h>
#define ELF_ARCH EM_IA_64
@@ -52,6 +56,13 @@
typedef struct { /* Auxiliary vector entry on initial stack */
int a_type; /* Entry type. */
union {
+ int a_val; /* Integer value. */
+ } a_un;
+} Elf32_Auxinfo;
+
+typedef struct { /* Auxiliary vector entry on initial stack */
+ int a_type; /* Entry type. */
+ union {
long a_val; /* Integer value. */
void *a_ptr; /* Address. */
void (*a_fcn)(void); /* Function pointer (not used). */
@@ -194,7 +205,11 @@ __ElfType(Auxinfo);
#define R_IA64_LDXMOV 0x87 /* immediate22 special */
/* Define "machine" characteristics */
+#if __ELF_WORD_SIZE == 32
+#define ELF_TARG_CLASS ELFCLASS32
+#else
#define ELF_TARG_CLASS ELFCLASS64
+#endif
#define ELF_TARG_DATA ELFDATA2LSB
#define ELF_TARG_MACH EM_IA_64
#define ELF_TARG_VER 1
OpenPOWER on IntegriCloud