elf.h (97564) | elf.h (100384) |
---|---|
1/*- 2 * Copyright (c) 1996-1997 John D. Polstra. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 1996-1997 John D. Polstra. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/ia64/include/elf.h 97564 2002-05-30 08:32:18Z dfr $ | 26 * $FreeBSD: head/sys/ia64/include/elf.h 100384 2002-07-20 02:56:12Z peter $ |
27 */ 28 29#ifndef _MACHINE_ELF_H_ 30#define _MACHINE_ELF_H_ 1 31 32/* 33 * ELF definitions for the IA-64 architecture. 34 */ 35 | 27 */ 28 29#ifndef _MACHINE_ELF_H_ 30#define _MACHINE_ELF_H_ 1 31 32/* 33 * ELF definitions for the IA-64 architecture. 34 */ 35 |
36#ifndef __ELF_WORD_SIZE 37#define __ELF_WORD_SIZE 64 38#endif 39 |
|
36#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */ | 40#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */ |
41#include <sys/elf32.h> /* Definitions common to all 32 bit architectures. */ |
|
37 | 42 |
38#define __ELF_WORD_SIZE 64 /* Used by <sys/elf_generic.h> */ | |
39#include <sys/elf_generic.h> 40 41#define ELF_ARCH EM_IA_64 42 43#define ELF_MACHINE_OK(x) ((x) == EM_IA_64) 44 45/* 46 * Auxiliary vector entries for passing information to the interpreter. 47 * 48 * The i386 supplement to the SVR4 ABI specification names this "auxv_t", 49 * but POSIX lays claim to all symbols ending with "_t". 50 */ 51 52typedef struct { /* Auxiliary vector entry on initial stack */ 53 int a_type; /* Entry type. */ 54 union { | 43#include <sys/elf_generic.h> 44 45#define ELF_ARCH EM_IA_64 46 47#define ELF_MACHINE_OK(x) ((x) == EM_IA_64) 48 49/* 50 * Auxiliary vector entries for passing information to the interpreter. 51 * 52 * The i386 supplement to the SVR4 ABI specification names this "auxv_t", 53 * but POSIX lays claim to all symbols ending with "_t". 54 */ 55 56typedef struct { /* Auxiliary vector entry on initial stack */ 57 int a_type; /* Entry type. */ 58 union { |
59 int a_val; /* Integer value. */ 60 } a_un; 61} Elf32_Auxinfo; 62 63typedef struct { /* Auxiliary vector entry on initial stack */ 64 int a_type; /* Entry type. */ 65 union { |
|
55 long a_val; /* Integer value. */ 56 void *a_ptr; /* Address. */ 57 void (*a_fcn)(void); /* Function pointer (not used). */ 58 } a_un; 59} Elf64_Auxinfo; 60 61__ElfType(Auxinfo); 62 --- 126 unchanged lines hidden (view full) --- 189#define R_IA64_LTV64LSB 0x77 /* word64 LSB S + A */ 190#define R_IA64_IPLTMSB 0x80 /* function descriptor MSB special */ 191#define R_IA64_IPLTLSB 0x81 /* function descriptor LSB speciaal */ 192#define R_IA64_SUB 0x85 /* immediate64 A - S */ 193#define R_IA64_LTOFF22X 0x86 /* immediate22 special */ 194#define R_IA64_LDXMOV 0x87 /* immediate22 special */ 195 196/* Define "machine" characteristics */ | 66 long a_val; /* Integer value. */ 67 void *a_ptr; /* Address. */ 68 void (*a_fcn)(void); /* Function pointer (not used). */ 69 } a_un; 70} Elf64_Auxinfo; 71 72__ElfType(Auxinfo); 73 --- 126 unchanged lines hidden (view full) --- 200#define R_IA64_LTV64LSB 0x77 /* word64 LSB S + A */ 201#define R_IA64_IPLTMSB 0x80 /* function descriptor MSB special */ 202#define R_IA64_IPLTLSB 0x81 /* function descriptor LSB speciaal */ 203#define R_IA64_SUB 0x85 /* immediate64 A - S */ 204#define R_IA64_LTOFF22X 0x86 /* immediate22 special */ 205#define R_IA64_LDXMOV 0x87 /* immediate22 special */ 206 207/* Define "machine" characteristics */ |
208#if __ELF_WORD_SIZE == 32 209#define ELF_TARG_CLASS ELFCLASS32 210#else |
|
197#define ELF_TARG_CLASS ELFCLASS64 | 211#define ELF_TARG_CLASS ELFCLASS64 |
212#endif |
|
198#define ELF_TARG_DATA ELFDATA2LSB 199#define ELF_TARG_MACH EM_IA_64 200#define ELF_TARG_VER 1 201 202/* Processor specific dynmamic section tags. */ 203 204#define DT_IA64_PLT_RESERVE 0x70000000 205 --- 13 unchanged lines hidden --- | 213#define ELF_TARG_DATA ELFDATA2LSB 214#define ELF_TARG_MACH EM_IA_64 215#define ELF_TARG_VER 1 216 217/* Processor specific dynmamic section tags. */ 218 219#define DT_IA64_PLT_RESERVE 0x70000000 220 --- 13 unchanged lines hidden --- |