Ignore:
Timestamp:
Aug 16, 2003, 6:59:22 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/include/elf/ia64.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* IA-64 ELF support for BFD.
    2    Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
     2   Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
    33   Contributed by David Mosberger-Tang <[email protected]>
    44
    5 This file is part of BFD, the Binary File Descriptor library.
    6 
    7 This program is free software; you can redistribute it and/or modify
    8 it under the terms of the GNU General Public License as published by
    9 the Free Software Foundation; either version 2 of the License, or
    10 (at your option) any later version.
    11 
    12 This program is distributed in the hope that it will be useful,
    13 but WITHOUT ANY WARRANTY; without even the implied warranty of
    14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15 GNU General Public License for more details.
    16 
    17 You should have received a copy of the GNU General Public License
    18 along with this program; if not, write to the Free Software
    19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    20 
     5   This file is part of BFD, the Binary File Descriptor library.
     6
     7   This program is free software; you can redistribute it and/or modify
     8   it under the terms of the GNU General Public License as published by
     9   the Free Software Foundation; either version 2 of the License, or
     10   (at your option) any later version.
     11
     12   This program is distributed in the hope that it will be useful,
     13   but WITHOUT ANY WARRANTY; without even the implied warranty of
     14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15   GNU General Public License for more details.
     16
     17   You should have received a copy of the GNU General Public License
     18   along with this program; if not, write to the Free Software
     19   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    2120
    2221#ifndef _ELF_IA64_H
     
    2524/* Bits in the e_flags field of the Elf64_Ehdr:  */
    2625
    27 #define EF_IA_64_MASKOS  0x0000000f     /* os-specific flags */
    28 #define EF_IA_64_ARCH    0xff000000     /* arch. version mask */
     26#define EF_IA_64_MASKOS  0x0000000f     /* */
     27#define EF_IA_64_ARCH    0xff000000     /* */
    2928
    3029/* ??? These four definitions are not part of the SVR4 ABI.
    3130   They were present in David's initial code drop, so it is probable
    3231   that they are used by HP/UX.  */
    33 #define EF_IA_64_TRAPNIL (1 << 0)       /* trap NIL pointer dereferences */
    34 #define EF_IA_64_EXT     (1 << 2)       /* program uses arch. extensions */
    35 #define EF_IA_64_BE      (1 << 3)       /* PSR BE bit set (big-endian) */
    36 #define EFA_IA_64_EAS2_3 0x23000000     /* ia64 EAS 2.3 */
    37 
    38 #define EF_IA_64_ABI64              (1 << 4) /* 64-bit ABI */
     32#define EF_IA_64_TRAPNIL (1 << 0)       /* */
     33#define EF_IA_64_EXT     (1 << 2)       /* */
     34#define EF_IA_64_BE      (1 << 3)       /* PSR BE bit set (big-endian) */
     35#define EFA_IA_64_EAS2_3 0x23000000     /* */
     36
     37#define EF_IA_64_ABI64              (1 << 4) /* 64-bit ABI */
    3938/* Not used yet.  */
    4039#define EF_IA_64_REDUCEDFP          (1 << 5) /* Only FP6-FP11 used.  */
    41 #define EF_IA_64_CONS_GP            (1 << 6) /* gp as program wide constant. */
    42 #define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */
     40#define EF_IA_64_CONS_GP            (1 << 6) /* gp as program wide constant. */
     41#define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */
    4342/* Not used yet.  */
    4443#define EF_IA_64_ABSOLUTE           (1 << 8) /* Load at absolute addresses.  */
     
    5049#define ELF_STRING_ia64_unwind_once     ".gnu.linkonce.ia64unw."
    5150#define ELF_STRING_ia64_unwind_info_once ".gnu.linkonce.ia64unwi."
     51
     52
    5253
    5354/* Bits in the sh_flags field of Elf64_Shdr:  */
    5455
    55 #define SHF_IA_64_SHORT         0x10000000      /* section near gp */
    56 #define SHF_IA_64_NORECOV       0x20000000      /* spec insns w/o recovery */
     56#define SHF_IA_64_SHORT         0x10000000      /* */
     57#define SHF_IA_64_NORECOV       0x20000000      /* */
    5758
    5859/* Possible values for sh_type in Elf64_Shdr: */
    5960
    60 #define SHT_IA_64_EXT           (SHT_LOPROC + 0)        /* extension bits */
    61 #define SHT_IA_64_UNWIND        (SHT_LOPROC + 1)        /* unwind bits */
     61#define SHT_IA_64_EXT           (SHT_LOPROC + 0)        /* Extension bits.  */
     62#define SHT_IA_64_UNWIND        (SHT_LOPROC + 1)        /* Unwind bits.  */
     63#define SHT_IA_64_LOPSREG       (SHT_LOPROC + 0x8000000)
     64/* ABI says (SHT_LOPROC + 0xfffffff) but I think it's a typo -- this makes sense.  */
     65#define SHT_IA_64_HIPSREG       (SHT_LOPROC + 0x8ffffff)
     66#define SHT_IA_64_PRIORITY_INIT (SHT_LOPROC + 0x9000000)
     67
     68/* SHT_IA_64_HP_OPT_ANOT is only generated by HPUX compilers for its
     69   optimization annotation section.  GCC does not generate it but we
     70   want readelf to know what they are.  Do not use two capital Ns in
     71   annotate or sed will turn it into 32 or 64 during the build.  */
     72#define SHT_IA_64_HP_OPT_ANOT   0x60000004
    6273
    6374/* Bits in the p_flags field of Elf64_Phdr:  */
     
    6778/* Possible values for p_type in Elf64_Phdr:  */
    6879
    69 #define PT_IA_64_ARCHEXT        (PT_LOPROC + 0) /* arch extension bits */
    70 #define PT_IA_64_UNWIND         (PT_LOPROC + 1) /* ia64 unwind bits */
     80#define PT_IA_64_ARCHEXT        (PT_LOPROC + 0) /* Arch extension bits,  */
     81#define PT_IA_64_UNWIND         (PT_LOPROC + 1) /* IA64 unwind bits.  */
     82
     83/* HP-UX specific values for p_type in Elf64_Phdr.
     84   These values are currently just used to make
     85   readelf more usable on HP-UX.  */
     86
     87#define PT_IA_64_HP_OPT_ANOT    (PT_LOOS + 0x12)
     88#define PT_IA_64_HP_HSL_ANOT    (PT_LOOS + 0x13)
     89#define PT_IA_64_HP_STACK       (PT_LOOS + 0x14)
    7190
    7291/* Possible values for d_tag in Elf64_Dyn:  */
     
    7493#define DT_IA_64_PLT_RESERVE    (DT_LOPROC + 0)
    7594
    76 /* ia64-specific relocation types: */
     95/* This section only used by HP-UX, The HP linker gives weak symbols
     96   precedence over regular common symbols.  We want common to override
     97   weak.  Using this common instead of SHN_COMMON does that.  */
     98#define SHN_IA_64_ANSI_COMMON 0xFF00
     99
     100/* IA64-specific relocation types: */
    77101
    78102/* Relocs apply to specific instructions within a bundle.  The least
     
    171195  RELOC_NUMBER (R_IA64_TPREL64LSB, 0x97) /* @tprel(sym+add), data8 LSB */
    172196
    173   RELOC_NUMBER (R_IA64_LTOFF_TP22, 0x9a) /* @ltoff(@tprel(s+a)), add imm22 */
     197  RELOC_NUMBER (R_IA64_LTOFF_TP22, 0x9a) /* @ltoff(@tprel(s+a)), add imm22 */
    174198
    175199  RELOC_NUMBER (R_IA64_DTPMOD64MSB, 0xa6) /* @dtpmod(sym+add), data8 MSB */
Note: See TracChangeset for help on using the changeset viewer.