diff options
Diffstat (limited to 'sys/ia64/include/elf.h')
-rw-r--r-- | sys/ia64/include/elf.h | 17 |
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 |