OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [include/] [coff/] [internal.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...
/* Internal format of COFF object file data structures, for GNU BFD.
/* Internal format of COFF object file data structures, for GNU BFD.
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
 
 
   Copyright 1999, 2000, 2001, 2002, 2003, 2004. 2005, 2006, 2007
   Copyright 1999, 2000, 2001, 2002, 2003, 2004. 2005, 2006, 2007, 2009
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
 
 
   This program is free software; you can redistribute it and/or modify
   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
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   the Free Software Foundation; either version 2 of the License, or
Line 56... Line 56...
  bfd_vma  e_lfanew;            /* File address of new exe header, 0x80 */
  bfd_vma  e_lfanew;            /* File address of new exe header, 0x80 */
  unsigned long dos_message[16]; /* text which always follows dos header */
  unsigned long dos_message[16]; /* text which always follows dos header */
  bfd_vma  nt_signature;        /* required NT signature, 0x4550 */
  bfd_vma  nt_signature;        /* required NT signature, 0x4550 */
};
};
 
 
 
#define GO32_STUBSIZE 2048
 
 
struct internal_filehdr
struct internal_filehdr
{
{
  struct internal_extra_pe_filehdr pe;
  struct internal_extra_pe_filehdr pe;
 
 
 
  /* coff-stgo32 EXE stub header before BFD tdata has been allocated.
 
     Its data is kept in INTERNAL_FILEHDR.GO32STUB afterwards.
 
 
 
     F_GO32STUB is set iff go32stub contains a valid data.  Artifical headers
 
     created in BFD have no pre-set go32stub.  */
 
  char go32stub[GO32_STUBSIZE];
 
 
  /* Standard coff internal info.  */
  /* Standard coff internal info.  */
  unsigned short f_magic;       /* magic number                 */
  unsigned short f_magic;       /* magic number                 */
  unsigned short f_nscns;       /* number of sections           */
  unsigned short f_nscns;       /* number of sections           */
  long f_timdat;                /* time & date stamp            */
  long f_timdat;                /* time & date stamp            */
  bfd_vma f_symptr;             /* file pointer to symtab       */
  bfd_vma f_symptr;             /* file pointer to symtab       */
Line 82... Line 91...
        F_AR16WR        file is 16-bit little-endian
        F_AR16WR        file is 16-bit little-endian
        F_AR32WR        file is 32-bit little-endian
        F_AR32WR        file is 32-bit little-endian
        F_AR32W         file is 32-bit big-endian
        F_AR32W         file is 32-bit big-endian
        F_DYNLOAD       rs/6000 aix: dynamically loadable w/imports & exports
        F_DYNLOAD       rs/6000 aix: dynamically loadable w/imports & exports
        F_SHROBJ        rs/6000 aix: file is a shared object
        F_SHROBJ        rs/6000 aix: file is a shared object
        F_DLL           PE format DLL.  */
        F_DLL           PE format DLL
 
        F_GO32STUB      Field go32stub contains valid data.  */
 
 
#define F_RELFLG        (0x0001)
#define F_RELFLG        (0x0001)
#define F_EXEC          (0x0002)
#define F_EXEC          (0x0002)
#define F_LNNO          (0x0004)
#define F_LNNO          (0x0004)
#define F_LSYMS         (0x0008)
#define F_LSYMS         (0x0008)
Line 94... Line 104...
#define F_AR32WR        (0x0100)
#define F_AR32WR        (0x0100)
#define F_AR32W         (0x0200)
#define F_AR32W         (0x0200)
#define F_DYNLOAD       (0x1000)
#define F_DYNLOAD       (0x1000)
#define F_SHROBJ        (0x2000)
#define F_SHROBJ        (0x2000)
#define F_DLL           (0x2000)
#define F_DLL           (0x2000)
 
#define F_GO32STUB      (0x4000)
 
 
/* Extra structure which is used in the optional header.  */
/* Extra structure which is used in the optional header.  */
typedef struct _IMAGE_DATA_DIRECTORY
typedef struct _IMAGE_DATA_DIRECTORY
{
{
  bfd_vma VirtualAddress;
  bfd_vma VirtualAddress;
Line 183... Line 194...
     1 - NATIVE   Doesn't require a subsystem
     1 - NATIVE   Doesn't require a subsystem
     2 - WINDOWS_GUI runs in Windows GUI subsystem
     2 - WINDOWS_GUI runs in Windows GUI subsystem
     3 - WINDOWS_CUI runs in Windows char sub. (console app)
     3 - WINDOWS_CUI runs in Windows char sub. (console app)
     5 - OS2_CUI runs in OS/2 character subsystem
     5 - OS2_CUI runs in OS/2 character subsystem
     7 - POSIX_CUI runs in Posix character subsystem */
     7 - POSIX_CUI runs in Posix character subsystem */
  short   DllCharacteristics;   /* flags for DLL init, use 0 */
  unsigned short DllCharacteristics; /* flags for DLL init  */
  bfd_vma SizeOfStackReserve;   /* amount of memory to reserve  */
  bfd_vma SizeOfStackReserve;   /* amount of memory to reserve  */
  bfd_vma SizeOfStackCommit;    /* amount of memory initially committed for
  bfd_vma SizeOfStackCommit;    /* amount of memory initially committed for
                                   initial thread's stack, default is 0x1000 */
                                   initial thread's stack, default is 0x1000 */
  bfd_vma SizeOfHeapReserve;    /* amount of virtual memory to reserve and */
  bfd_vma SizeOfHeapReserve;    /* amount of virtual memory to reserve and */
  bfd_vma SizeOfHeapCommit;     /* commit, don't know what to defaut it to */
  bfd_vma SizeOfHeapCommit;     /* commit, don't know what to defaut it to */
Line 271... Line 282...
#define C_EOS           102     /* end of structure             */
#define C_EOS           102     /* end of structure             */
#define C_FILE          103     /* file name                    */
#define C_FILE          103     /* file name                    */
#define C_LINE          104     /* line # reformatted as symbol table entry */
#define C_LINE          104     /* line # reformatted as symbol table entry */
#define C_ALIAS         105     /* duplicate tag                */
#define C_ALIAS         105     /* duplicate tag                */
#define C_HIDDEN        106     /* ext symbol in dmert public lib */
#define C_HIDDEN        106     /* ext symbol in dmert public lib */
 
 
#if defined _AIX52 || defined AIX_WEAK_SUPPORT
 
#define C_WEAKEXT       111     /* weak symbol -- AIX standard.  */
 
#else
 
#define C_WEAKEXT       127     /* weak symbol -- GNU extension.  */
#define C_WEAKEXT       127     /* weak symbol -- GNU extension.  */
#endif
 
 
 
/* New storage classes for TI COFF */
/* New storage classes for TI COFF */
#define C_UEXT          19      /* Tentative external definition */
#define C_UEXT          19      /* Tentative external definition */
#define C_STATLAB       20      /* Static load time label */
#define C_STATLAB       20      /* Static load time label */
#define C_EXTLAB        21      /* External load time label */
#define C_EXTLAB        21      /* External load time label */
Line 309... Line 315...
 
 
 /* New storage classes for RS/6000 */
 /* New storage classes for RS/6000 */
#define C_HIDEXT        107     /* Un-named external symbol */
#define C_HIDEXT        107     /* Un-named external symbol */
#define C_BINCL         108     /* Marks beginning of include file */
#define C_BINCL         108     /* Marks beginning of include file */
#define C_EINCL         109     /* Marks ending of include file */
#define C_EINCL         109     /* Marks ending of include file */
 
#define C_AIX_WEAKEXT   111     /* AIX definition of C_WEAKEXT.  */
 
 
 
#if defined _AIX52 || defined AIX_WEAK_SUPPORT
 
#undef C_WEAKEXT
 
#define C_WEAKEXT       C_AIX_WEAKEXT
 
#endif
 
 
 /* storage classes for stab symbols for RS/6000 */
 /* storage classes for stab symbols for RS/6000 */
#define C_GSYM          (0x80)
#define C_GSYM          (0x80)
#define C_LSYM          (0x81)
#define C_LSYM          (0x81)
#define C_PSYM          (0x82)
#define C_PSYM          (0x82)
Line 334... Line 346...
#define C_THUMBSTAT     (128 + C_STAT)          /* 131 */
#define C_THUMBSTAT     (128 + C_STAT)          /* 131 */
#define C_THUMBLABEL    (128 + C_LABEL)         /* 134 */
#define C_THUMBLABEL    (128 + C_LABEL)         /* 134 */
#define C_THUMBEXTFUNC  (C_THUMBEXT  + 20)      /* 150 */
#define C_THUMBEXTFUNC  (C_THUMBEXT  + 20)      /* 150 */
#define C_THUMBSTATFUNC (C_THUMBSTAT + 20)      /* 151 */
#define C_THUMBSTATFUNC (C_THUMBSTAT + 20)      /* 151 */
 
 
 
/* True if XCOFF symbols of class CLASS have auxillary csect information.  */
 
#define CSECT_SYM_P(CLASS) \
 
  ((CLASS) == C_EXT || (CLASS) == C_AIX_WEAKEXT || (CLASS) == C_HIDEXT)
 
 
/********************** SECTION HEADER **********************/
/********************** SECTION HEADER **********************/
 
 
#define SCNNMLEN (8)
#define SCNNMLEN (8)
 
 
struct internal_scnhdr
struct internal_scnhdr

powered by: WebSVN 2.1.0

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