OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [include/] [elf/] [mips.h] - Diff between revs 157 and 225

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 157 Rev 225
Line 1... Line 1...
/* MIPS ELF support for BFD.
/* MIPS ELF support for BFD.
   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
   2003, 2004, 2005, 2008
   2003, 2004, 2005, 2008, 2009
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
 
 
   By Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>, from
   By Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>, from
   information in the System V Application Binary Interface, MIPS
   information in the System V Application Binary Interface, MIPS
   Processor Supplement.
   Processor Supplement.
Line 212... Line 212...
#define E_MIPS_MACH_4650        0x00850000
#define E_MIPS_MACH_4650        0x00850000
#define E_MIPS_MACH_4120        0x00870000
#define E_MIPS_MACH_4120        0x00870000
#define E_MIPS_MACH_4111        0x00880000
#define E_MIPS_MACH_4111        0x00880000
#define E_MIPS_MACH_SB1         0x008a0000
#define E_MIPS_MACH_SB1         0x008a0000
#define E_MIPS_MACH_OCTEON      0x008b0000
#define E_MIPS_MACH_OCTEON      0x008b0000
 
#define E_MIPS_MACH_XLR         0x008c0000
#define E_MIPS_MACH_5400        0x00910000
#define E_MIPS_MACH_5400        0x00910000
#define E_MIPS_MACH_5500        0x00980000
#define E_MIPS_MACH_5500        0x00980000
#define E_MIPS_MACH_9000        0x00990000
#define E_MIPS_MACH_9000        0x00990000
#define E_MIPS_MACH_LS2E        0x00A00000
#define E_MIPS_MACH_LS2E        0x00A00000
#define E_MIPS_MACH_LS2F        0x00A10000
#define E_MIPS_MACH_LS2F        0x00A10000
Line 224... Line 225...
   exist.  Symbols with a st_shndx field corresponding to one of these
   exist.  Symbols with a st_shndx field corresponding to one of these
   values have a special meaning.  */
   values have a special meaning.  */
 
 
/* Defined and allocated common symbol.  Value is virtual address.  If
/* Defined and allocated common symbol.  Value is virtual address.  If
   relocated, alignment must be preserved.  */
   relocated, alignment must be preserved.  */
#define SHN_MIPS_ACOMMON        0xff00
#define SHN_MIPS_ACOMMON        SHN_LORESERVE
 
 
/* Defined and allocated text symbol.  Value is virtual address.
/* Defined and allocated text symbol.  Value is virtual address.
   Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables.  */
   Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables.  */
#define SHN_MIPS_TEXT           0xff01
#define SHN_MIPS_TEXT           (SHN_LORESERVE + 1)
 
 
/* Defined and allocated data symbol.  Value is virtual address.
/* Defined and allocated data symbol.  Value is virtual address.
   Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables.  */
   Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables.  */
#define SHN_MIPS_DATA           0xff02
#define SHN_MIPS_DATA           (SHN_LORESERVE + 2)
 
 
/* Small common symbol.  */
/* Small common symbol.  */
#define SHN_MIPS_SCOMMON        0xff03
#define SHN_MIPS_SCOMMON        (SHN_LORESERVE + 3)
 
 
/* Small undefined symbol.  */
/* Small undefined symbol.  */
#define SHN_MIPS_SUNDEFINED     0xff04
#define SHN_MIPS_SUNDEFINED     (SHN_LORESERVE + 4)


/* Processor specific section types.  */
/* Processor specific section types.  */
 
 
/* Section contains the set of dynamic shared objects used when
/* Section contains the set of dynamic shared objects used when
   statically linking.  */
   statically linking.  */
Line 660... Line 661...
/* GP value for auxiliary GOTs.  */
/* GP value for auxiliary GOTs.  */
#define DT_MIPS_GP_VALUE        0x70000030
#define DT_MIPS_GP_VALUE        0x70000030
 
 
/* Address of auxiliary .dynamic.  */
/* Address of auxiliary .dynamic.  */
#define DT_MIPS_AUX_DYNAMIC     0x70000031
#define DT_MIPS_AUX_DYNAMIC     0x70000031
 
 
 
/* Address of the base of the PLTGOT.  */
 
#define DT_MIPS_PLTGOT         0x70000032
 
 
 
/* Points to the base of a writable PLT.  */
 
#define DT_MIPS_RWPLT          0x70000034


/* Flags which may appear in a DT_MIPS_FLAGS entry.  */
/* Flags which may appear in a DT_MIPS_FLAGS entry.  */
 
 
/* No flags.  */
/* No flags.  */
#define RHF_NONE                0x00000000
#define RHF_NONE                0x00000000
Line 721... Line 728...
#define STO_DEFAULT             STV_DEFAULT
#define STO_DEFAULT             STV_DEFAULT
#define STO_INTERNAL            STV_INTERNAL
#define STO_INTERNAL            STV_INTERNAL
#define STO_HIDDEN              STV_HIDDEN
#define STO_HIDDEN              STV_HIDDEN
#define STO_PROTECTED           STV_PROTECTED
#define STO_PROTECTED           STV_PROTECTED
 
 
 
/* The MIPS psABI was updated in 2008 with support for PLTs and copy
 
   relocs.  There are therefore two types of nonzero SHN_UNDEF functions:
 
   PLT entries and traditional MIPS lazy binding stubs.  We mark the former
 
   with STO_MIPS_PLT to distinguish them from the latter.  */
 
#define STO_MIPS_PLT            0x8
 
 
 
/* This value is used to mark PIC functions in an object that mixes
 
   PIC and non-PIC.  */
 
#define STO_MIPS_PIC            0x20
 
#define ELF_ST_IS_MIPS_PIC(OTHER) \
 
  (((OTHER) & ~ELF_ST_VISIBILITY (-1)) == STO_MIPS_PIC)
 
#define ELF_ST_SET_MIPS_PIC(OTHER) \
 
  (STO_MIPS_PIC | ELF_ST_VISIBILITY (OTHER))
 
 
/* This value is used for a mips16 .text symbol.  */
/* This value is used for a mips16 .text symbol.  */
#define STO_MIPS16              0xf0
#define STO_MIPS16              0xf0
 
#define ELF_ST_IS_MIPS16(OTHER) (((OTHER) & 0xf0) == STO_MIPS16)
 
#define ELF_ST_SET_MIPS16(OTHER) (((OTHER) & ~0xf0) | STO_MIPS16)
 
 
/* This bit is used on Irix to indicate a symbol whose definition
/* This bit is used on Irix to indicate a symbol whose definition
   is optional - if, at final link time, it cannot be found, no
   is optional - if, at final link time, it cannot be found, no
   error message should be produced.  */
   error message should be produced.  */
#define STO_OPTIONAL            (1 << 2)
#define STO_OPTIONAL            (1 << 2)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.