Line 1... |
Line 1... |
/* IA-64 ELF support for BFD.
|
/* IA-64 ELF support for BFD.
|
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008
|
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
Line 24... |
Line 24... |
|
|
/* Bits in the e_flags field of the Elf64_Ehdr: */
|
/* Bits in the e_flags field of the Elf64_Ehdr: */
|
|
|
#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */
|
#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */
|
#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */
|
#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */
|
|
#define EF_IA_64_ARCHVER_1 (1 << 24) /* Arch. version level 1 compat. */
|
|
|
/* ??? These four definitions are not part of the SVR4 ABI.
|
/* ??? These four definitions are not part of the SVR4 ABI.
|
They were present in David's initial code drop, so it is probable
|
They were present in David's initial code drop, so it is probable
|
that they are used by HP/UX. */
|
that they are used by HP/UX. */
|
#define EF_IA_64_TRAPNIL (1 << 0) /* Trap NIL pointer dereferences. */
|
#define EF_IA_64_TRAPNIL (1 << 0) /* Trap NIL pointer dereferences. */
|
Line 98... |
Line 99... |
/* The section allows the symbol vector in an image to be location through
|
/* The section allows the symbol vector in an image to be location through
|
the section table. */
|
the section table. */
|
#define SHT_IA_64_VMS_SYMBOL_VECTOR 0x60000005
|
#define SHT_IA_64_VMS_SYMBOL_VECTOR 0x60000005
|
/* The section contains inter-image fixups. */
|
/* The section contains inter-image fixups. */
|
#define SHT_IA_64_VMS_FIXUP 0x60000006
|
#define SHT_IA_64_VMS_FIXUP 0x60000006
|
|
/* The section contains unmangled name info. */
|
|
#define SHT_IA_64_VMS_DISPLAY_NAME_INFO 0x60000007
|
|
|
/* Bits in the p_flags field of Elf64_Phdr: */
|
/* Bits in the p_flags field of Elf64_Phdr: */
|
|
|
#define PF_IA_64_NORECOV 0x80000000
|
#define PF_IA_64_NORECOV 0x80000000
|
|
|
Line 156... |
Line 159... |
#define DT_IA_64_VMS_FPMODE (DT_LOOS + 66)
|
#define DT_IA_64_VMS_FPMODE (DT_LOOS + 66)
|
|
|
/* This section only used by HP-UX, The HP linker gives weak symbols
|
/* This section only used by HP-UX, The HP linker gives weak symbols
|
precedence over regular common symbols. We want common to override
|
precedence over regular common symbols. We want common to override
|
weak. Using this common instead of SHN_COMMON does that. */
|
weak. Using this common instead of SHN_COMMON does that. */
|
#define SHN_IA_64_ANSI_COMMON 0xFF00
|
#define SHN_IA_64_ANSI_COMMON SHN_LORESERVE
|
|
|
/* This section is only used by OpenVMS. Symbol is defined in the symbol
|
/* This section is only used by OpenVMS. Symbol is defined in the symbol
|
vector (only possible for image files). */
|
vector (only possible for image files). */
|
#define SHN_IA_64_VMS_SYMVEC 0xff20
|
#define SHN_IA_64_VMS_SYMVEC SHN_LOOS
|
|
|
/* IA64-specific relocation types: */
|
/* IA64-specific relocation types: */
|
|
|
/* Relocs apply to specific instructions within a bundle. The least
|
/* Relocs apply to specific instructions within a bundle. The least
|
significant 2 bits of the address indicate which instruction in the
|
significant 2 bits of the address indicate which instruction in the
|