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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [bfd/] [ecoff.c] - Diff between revs 14 and 148

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

Rev 14 Rev 148
Line 1... Line 1...
/* Generic ECOFF (Extended-COFF) routines.
/* Generic ECOFF (Extended-COFF) routines.
   Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
   Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
   Original version by Per Bothner.
   Original version by Per Bothner.
   Full support added by Ian Lance Taylor, ian@cygnus.com.
   Full support added by Ian Lance Taylor, ian@cygnus.com.
 
 
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
Line 3229... Line 3229...
 
 
#define ecoff_link_hash_lookup(table, string, create, copy, follow) \
#define ecoff_link_hash_lookup(table, string, create, copy, follow) \
  ((struct ecoff_link_hash_entry *) \
  ((struct ecoff_link_hash_entry *) \
   bfd_link_hash_lookup (&(table)->root, (string), (create), (copy), (follow)))
   bfd_link_hash_lookup (&(table)->root, (string), (create), (copy), (follow)))
 
 
/* Traverse an ECOFF link hash table.  */
 
 
 
#define ecoff_link_hash_traverse(table, func, info)                     \
 
  (bfd_link_hash_traverse                                               \
 
   (&(table)->root,                                                     \
 
    (bfd_boolean (*) (struct bfd_link_hash_entry *, void *)) (func),    \
 
    (info)))
 
 
 
/* Get the ECOFF link hash table from the info structure.  This is
/* Get the ECOFF link hash table from the info structure.  This is
   just a cast.  */
   just a cast.  */
 
 
#define ecoff_hash_table(p) ((struct ecoff_link_hash_table *) ((p)->hash))
#define ecoff_hash_table(p) ((struct ecoff_link_hash_table *) ((p)->hash))
 
 
Line 4257... Line 4249...
 
 
/* Put out information for an external symbol.  These come only from
/* Put out information for an external symbol.  These come only from
   the hash table.  */
   the hash table.  */
 
 
static bfd_boolean
static bfd_boolean
ecoff_link_write_external (struct ecoff_link_hash_entry *h, void * data)
ecoff_link_write_external (struct bfd_hash_entry *bh, void * data)
{
{
 
  struct ecoff_link_hash_entry *h = (struct ecoff_link_hash_entry *) bh;
  struct extsym_info *einfo = (struct extsym_info *) data;
  struct extsym_info *einfo = (struct extsym_info *) data;
  bfd *output_bfd = einfo->abfd;
  bfd *output_bfd = einfo->abfd;
  bfd_boolean strip;
  bfd_boolean strip;
 
 
  if (h->root.type == bfd_link_hash_warning)
  if (h->root.type == bfd_link_hash_warning)
Line 4489... Line 4482...
    }
    }
 
 
  /* Write out the external symbols.  */
  /* Write out the external symbols.  */
  einfo.abfd = abfd;
  einfo.abfd = abfd;
  einfo.info = info;
  einfo.info = info;
  ecoff_link_hash_traverse (ecoff_hash_table (info),
  bfd_hash_traverse (&info->hash->table, ecoff_link_write_external, &einfo);
                            ecoff_link_write_external,
 
                            (void *) &einfo);
 
 
 
  if (info->relocatable)
  if (info->relocatable)
    {
    {
      /* We need to make a pass over the link_orders to count up the
      /* We need to make a pass over the link_orders to count up the
         number of relocations we will need to output, so that we know
         number of relocations we will need to output, so that we know

powered by: WebSVN 2.1.0

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