Add SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG and SHT_IA_64_PRIORITY_INIT.
Add code to display these values in readelf.
This commit is contained in:
parent
a55f9cd4fa
commit
d05ef21d4f
|
@ -1,3 +1,8 @@
|
|||
2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au>
|
||||
|
||||
* ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG,
|
||||
SHT_IA_64_PRIORITY_INIT): Define.
|
||||
|
||||
2003-02-18 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC.
|
||||
|
|
|
@ -1,45 +1,44 @@
|
|||
/* IA-64 ELF support for BFD.
|
||||
Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
|
||||
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.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _ELF_IA64_H
|
||||
#define _ELF_IA64_H
|
||||
|
||||
/* Bits in the e_flags field of the Elf64_Ehdr: */
|
||||
|
||||
#define EF_IA_64_MASKOS 0x0000000f /* os-specific flags */
|
||||
#define EF_IA_64_ARCH 0xff000000 /* arch. version mask */
|
||||
#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */
|
||||
#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */
|
||||
|
||||
/* ??? These four definitions are not part of the SVR4 ABI.
|
||||
They were present in David's initial code drop, so it is probable
|
||||
that they are used by HP/UX. */
|
||||
#define EF_IA_64_TRAPNIL (1 << 0) /* trap NIL pointer dereferences */
|
||||
#define EF_IA_64_EXT (1 << 2) /* program uses arch. extensions */
|
||||
#define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian) */
|
||||
#define EFA_IA_64_EAS2_3 0x23000000 /* ia64 EAS 2.3 */
|
||||
#define EF_IA_64_TRAPNIL (1 << 0) /* Trap NIL pointer dereferences. */
|
||||
#define EF_IA_64_EXT (1 << 2) /* Program uses arch. extensions. */
|
||||
#define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian). */
|
||||
#define EFA_IA_64_EAS2_3 0x23000000 /* IA64 EAS 2.3. */
|
||||
|
||||
#define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI */
|
||||
#define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI. */
|
||||
/* Not used yet. */
|
||||
#define EF_IA_64_REDUCEDFP (1 << 5) /* Only FP6-FP11 used. */
|
||||
#define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */
|
||||
#define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */
|
||||
#define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */
|
||||
#define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */
|
||||
/* Not used yet. */
|
||||
#define EF_IA_64_ABSOLUTE (1 << 8) /* Load at absolute addresses. */
|
||||
|
||||
|
@ -54,13 +53,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
|
||||
/* 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. */
|
||||
|
||||
/* 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_EXT (SHT_LOPROC + 0) /* Extension bits. */
|
||||
#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* Unwind bits. */
|
||||
#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_PRIORITY_INIT (SHT_LOPROC + 0x9000000)
|
||||
|
||||
/* SHT_IA_64_HP_OPT_ANOT is only generated by HPUX compilers for its
|
||||
optimization annotation section. GCC does not generate it but we
|
||||
|
@ -74,8 +77,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
|
||||
/* Possible values for p_type in Elf64_Phdr: */
|
||||
|
||||
#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* arch extension bits */
|
||||
#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* ia64 unwind bits */
|
||||
#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* Arch extension bits, */
|
||||
#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* IA64 unwind bits. */
|
||||
|
||||
/* HP-UX specific values for p_type in Elf64_Phdr.
|
||||
These values are currently just used to make
|
||||
|
@ -92,10 +95,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
/* 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
|
||||
|
||||
/* ia64-specific relocation types: */
|
||||
/* IA64-specific relocation types: */
|
||||
|
||||
/* Relocs apply to specific instructions within a bundle. The least
|
||||
significant 2 bits of the address indicate which instruction in the
|
||||
|
|
Loading…
Reference in New Issue