Add OpenVMS extensions.
* ia64.h (SHF_IA_64_VMS_GLOBAL, SHF_IA_64_VMS_OVERLAID) (SHF_IA_64_VMS_SHARED, SHF_IA_64_VMS_VECTOR) (SHF_IA_64_VMS_ALLOC_64BIT, SHF_IA_64_VMS_PROTECTED) (SHT_IA_64_VMS_TRACE, SHT_IA_64_VMS_TIE_SIGNATURES) (SHT_IA_64_VMS_DEBUG, SHT_IA_64_VMS_DEBUG_STR) (SHT_IA_64_VMS_LINKAGES, SHT_IA_64_VMS_SYMBOL_VECTOR) (SHT_IA_64_VMS_FIXUP, DT_IA_64_VMS_SUBTYPE) (DT_IA_64_VMS_IMGIOCNT, DT_IA_64_VMS_LNKFLAGS) (DT_IA_64_VMS_VIR_MEM_BLK_SIZ, DT_IA_64_VMS_IDENT) (DT_IA_64_VMS_NEEDED_IDENT, DT_IA_64_VMS_IMG_RELA_CNT) (DT_IA_64_VMS_SEG_RELA_CNT, DT_IA_64_VMS_FIXUP_RELA_CNT) (DT_IA_64_VMS_FIXUP_NEEDED, DT_IA_64_VMS_SYMVEC_CNT) (DT_IA_64_VMS_XLATED, DT_IA_64_VMS_STACKSIZE) (DT_IA_64_VMS_UNWINDSZ, DT_IA_64_VMS_UNWIND_CODSEG) (DT_IA_64_VMS_UNWIND_INFOSEG, DT_IA_64_VMS_LINKTIME) (DT_IA_64_VMS_SEG_NO, DT_IA_64_VMS_SYMVEC_OFFSET) (DT_IA_64_VMS_SYMVEC_SEG, DT_IA_64_VMS_UNWIND_OFFSET) (DT_IA_64_VMS_UNWIND_SEG, DT_IA_64_VMS_STRTAB_OFFSET) (DT_IA_64_VMS_SYSVER_OFFSET, DT_IA_64_VMS_IMG_RELA_OFF) (DT_IA_64_VMS_SEG_RELA_OFF, DT_IA_64_VMS_FIXUP_RELA_OFF) (DT_IA_64_VMS_PLTGOT_OFFSET, DT_IA_64_VMS_PLTGOT_SEG) (DT_IA_64_VMS_FPMODE, SHN_IA_64_VMS_SYMVEC): Define * readelf.c (dump_relocations): Decode OpenVMS-specific sections. (get_ia64_dynamic_type): Decode OpenVMS-specific tags. (get_dynamic_type): Handle IA64-specific tags. (get_ia64_section_type_name): Handle OpenVMS-specific sections. (get_section_type_name): Handle OS-specific sections (and particularly IA64 OpenVMS one). (get_elf_section_flags): Makes flags static. Add entries for IA64 and decode them.
This commit is contained in:
parent
341b9607bd
commit
f022e6b98e
@ -1,3 +1,29 @@
|
||||
2008-01-30 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
Add OpenVMS extensions.
|
||||
* ia64.h (SHF_IA_64_VMS_GLOBAL, SHF_IA_64_VMS_OVERLAID)
|
||||
(SHF_IA_64_VMS_SHARED, SHF_IA_64_VMS_VECTOR)
|
||||
(SHF_IA_64_VMS_ALLOC_64BIT, SHF_IA_64_VMS_PROTECTED)
|
||||
(SHT_IA_64_VMS_TRACE, SHT_IA_64_VMS_TIE_SIGNATURES)
|
||||
(SHT_IA_64_VMS_DEBUG, SHT_IA_64_VMS_DEBUG_STR)
|
||||
(SHT_IA_64_VMS_LINKAGES, SHT_IA_64_VMS_SYMBOL_VECTOR)
|
||||
(SHT_IA_64_VMS_FIXUP, DT_IA_64_VMS_SUBTYPE)
|
||||
(DT_IA_64_VMS_IMGIOCNT, DT_IA_64_VMS_LNKFLAGS)
|
||||
(DT_IA_64_VMS_VIR_MEM_BLK_SIZ, DT_IA_64_VMS_IDENT)
|
||||
(DT_IA_64_VMS_NEEDED_IDENT, DT_IA_64_VMS_IMG_RELA_CNT)
|
||||
(DT_IA_64_VMS_SEG_RELA_CNT, DT_IA_64_VMS_FIXUP_RELA_CNT)
|
||||
(DT_IA_64_VMS_FIXUP_NEEDED, DT_IA_64_VMS_SYMVEC_CNT)
|
||||
(DT_IA_64_VMS_XLATED, DT_IA_64_VMS_STACKSIZE)
|
||||
(DT_IA_64_VMS_UNWINDSZ, DT_IA_64_VMS_UNWIND_CODSEG)
|
||||
(DT_IA_64_VMS_UNWIND_INFOSEG, DT_IA_64_VMS_LINKTIME)
|
||||
(DT_IA_64_VMS_SEG_NO, DT_IA_64_VMS_SYMVEC_OFFSET)
|
||||
(DT_IA_64_VMS_SYMVEC_SEG, DT_IA_64_VMS_UNWIND_OFFSET)
|
||||
(DT_IA_64_VMS_UNWIND_SEG, DT_IA_64_VMS_STRTAB_OFFSET)
|
||||
(DT_IA_64_VMS_SYSVER_OFFSET, DT_IA_64_VMS_IMG_RELA_OFF)
|
||||
(DT_IA_64_VMS_SEG_RELA_OFF, DT_IA_64_VMS_FIXUP_RELA_OFF)
|
||||
(DT_IA_64_VMS_PLTGOT_OFFSET, DT_IA_64_VMS_PLTGOT_SEG)
|
||||
(DT_IA_64_VMS_FPMODE, SHN_IA_64_VMS_SYMVEC): Define
|
||||
|
||||
2008-01-16 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* common.h (AT_SUN_AUXFLAGS): Define.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* IA-64 ELF support for BFD.
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
||||
|
||||
@ -54,18 +54,25 @@
|
||||
|
||||
/* Bits in the sh_flags field of Elf64_Shdr: */
|
||||
|
||||
#define SHF_IA_64_SHORT 0x10000000 /* Section near gp. */
|
||||
#define SHF_IA_64_NORECOV 0x20000000 /* Spec insns w/o recovery. */
|
||||
#define SHF_IA_64_SHORT 0x10000000 /* Section near gp. */
|
||||
#define SHF_IA_64_NORECOV 0x20000000 /* Spec insns w/o recovery. */
|
||||
|
||||
#define SHF_IA_64_HP_TLS 0x01000000 /* HP specific TLS flag. */
|
||||
#define SHF_IA_64_HP_TLS 0x01000000 /* HP specific TLS flag. */
|
||||
|
||||
#define SHF_IA_64_VMS_GLOBAL 0x0100000000ULL /* Global for clustering. */
|
||||
#define SHF_IA_64_VMS_OVERLAID 0x0200000000ULL /* To be overlaid. */
|
||||
#define SHF_IA_64_VMS_SHARED 0x0400000000ULL /* Shared btw processes. */
|
||||
#define SHF_IA_64_VMS_VECTOR 0x0800000000ULL /* Priv change mode vect. */
|
||||
#define SHF_IA_64_VMS_ALLOC_64BIT 0x1000000000ULL /* Allocate beyond 2GB. */
|
||||
#define SHF_IA_64_VMS_PROTECTED 0x2000000000ULL /* Export from sharable. */
|
||||
|
||||
/* Possible values for sh_type in Elf64_Shdr: */
|
||||
|
||||
#define SHT_IA_64_EXT (SHT_LOPROC + 0) /* Extension bits. */
|
||||
#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* Unwind bits. */
|
||||
#define SHT_IA_64_LOPSREG (SHT_LOPROC + 0x8000000)
|
||||
#define SHT_IA_64_LOPSREG (SHT_LOPROC + 0x8000000)
|
||||
/* ABI says (SHT_LOPROC + 0xfffffff) but I think it's a typo -- this makes sense. */
|
||||
#define SHT_IA_64_HIPSREG (SHT_LOPROC + 0x8ffffff)
|
||||
#define SHT_IA_64_HIPSREG (SHT_LOPROC + 0x8ffffff)
|
||||
#define SHT_IA_64_PRIORITY_INIT (SHT_LOPROC + 0x9000000)
|
||||
|
||||
/* SHT_IA_64_HP_OPT_ANOT is only generated by HPUX compilers for its
|
||||
@ -74,6 +81,26 @@
|
||||
annotate or sed will turn it into 32 or 64 during the build. */
|
||||
#define SHT_IA_64_HP_OPT_ANOT 0x60000004
|
||||
|
||||
/* OpenVMS section types. */
|
||||
/* The section contains PC-to-source correlation information for use by the
|
||||
VMS RTL's traceback facility. */
|
||||
#define SHT_IA_64_VMS_TRACE 0x60000000
|
||||
/* The section contains routine signature information for use by the
|
||||
translated image executive. */
|
||||
#define SHT_IA_64_VMS_TIE_SIGNATURES 0x60000001
|
||||
/* The section contains dwarf-3 information. */
|
||||
#define SHT_IA_64_VMS_DEBUG 0x60000002
|
||||
/* The section contains the dwarf-3 string table. */
|
||||
#define SHT_IA_64_VMS_DEBUG_STR 0x60000003
|
||||
/* The section contains linkage information to perform consistency checking
|
||||
accross object modules. */
|
||||
#define SHT_IA_64_VMS_LINKAGES 0x60000004
|
||||
/* The section allows the symbol vector in an image to be location through
|
||||
the section table. */
|
||||
#define SHT_IA_64_VMS_SYMBOL_VECTOR 0x60000005
|
||||
/* The section contains inter-image fixups. */
|
||||
#define SHT_IA_64_VMS_FIXUP 0x60000006
|
||||
|
||||
/* Bits in the p_flags field of Elf64_Phdr: */
|
||||
|
||||
#define PF_IA_64_NORECOV 0x80000000
|
||||
@ -95,11 +122,48 @@
|
||||
|
||||
#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
|
||||
|
||||
/* VMS specific values for d_tag in Elf64_Dyn: */
|
||||
|
||||
#define DT_IA_64_VMS_SUBTYPE (DT_LOOS + 0)
|
||||
#define DT_IA_64_VMS_IMGIOCNT (DT_LOOS + 2)
|
||||
#define DT_IA_64_VMS_LNKFLAGS (DT_LOOS + 8)
|
||||
#define DT_IA_64_VMS_VIR_MEM_BLK_SIZ (DT_LOOS + 10)
|
||||
#define DT_IA_64_VMS_IDENT (DT_LOOS + 12)
|
||||
#define DT_IA_64_VMS_NEEDED_IDENT (DT_LOOS + 16)
|
||||
#define DT_IA_64_VMS_IMG_RELA_CNT (DT_LOOS + 18)
|
||||
#define DT_IA_64_VMS_SEG_RELA_CNT (DT_LOOS + 20)
|
||||
#define DT_IA_64_VMS_FIXUP_RELA_CNT (DT_LOOS + 22)
|
||||
#define DT_IA_64_VMS_FIXUP_NEEDED (DT_LOOS + 24)
|
||||
#define DT_IA_64_VMS_SYMVEC_CNT (DT_LOOS + 26)
|
||||
#define DT_IA_64_VMS_XLATED (DT_LOOS + 30)
|
||||
#define DT_IA_64_VMS_STACKSIZE (DT_LOOS + 32)
|
||||
#define DT_IA_64_VMS_UNWINDSZ (DT_LOOS + 34)
|
||||
#define DT_IA_64_VMS_UNWIND_CODSEG (DT_LOOS + 36)
|
||||
#define DT_IA_64_VMS_UNWIND_INFOSEG (DT_LOOS + 38)
|
||||
#define DT_IA_64_VMS_LINKTIME (DT_LOOS + 40)
|
||||
#define DT_IA_64_VMS_SEG_NO (DT_LOOS + 42)
|
||||
#define DT_IA_64_VMS_SYMVEC_OFFSET (DT_LOOS + 44)
|
||||
#define DT_IA_64_VMS_SYMVEC_SEG (DT_LOOS + 46)
|
||||
#define DT_IA_64_VMS_UNWIND_OFFSET (DT_LOOS + 48)
|
||||
#define DT_IA_64_VMS_UNWIND_SEG (DT_LOOS + 50)
|
||||
#define DT_IA_64_VMS_STRTAB_OFFSET (DT_LOOS + 52)
|
||||
#define DT_IA_64_VMS_SYSVER_OFFSET (DT_LOOS + 54)
|
||||
#define DT_IA_64_VMS_IMG_RELA_OFF (DT_LOOS + 56)
|
||||
#define DT_IA_64_VMS_SEG_RELA_OFF (DT_LOOS + 58)
|
||||
#define DT_IA_64_VMS_FIXUP_RELA_OFF (DT_LOOS + 60)
|
||||
#define DT_IA_64_VMS_PLTGOT_OFFSET (DT_LOOS + 62)
|
||||
#define DT_IA_64_VMS_PLTGOT_SEG (DT_LOOS + 64)
|
||||
#define DT_IA_64_VMS_FPMODE (DT_LOOS + 66)
|
||||
|
||||
/* This section only used by HP-UX, The HP linker gives weak symbols
|
||||
precedence over regular common symbols. We want common to override
|
||||
weak. Using this common instead of SHN_COMMON does that. */
|
||||
#define SHN_IA_64_ANSI_COMMON 0xFF00
|
||||
|
||||
/* This section is only used by OpenVMS. Symbol is defined in the symbol
|
||||
vector (only possible for image files). */
|
||||
#define SHN_IA_64_VMS_SYMVEC 0xff20
|
||||
|
||||
/* IA64-specific relocation types: */
|
||||
|
||||
/* Relocs apply to specific instructions within a bundle. The least
|
||||
|
Loading…
x
Reference in New Issue
Block a user