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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [bfd/] [aoutx.h] - 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...
/* BFD semi-generic back-end for a.out binaries.
/* BFD semi-generic back-end for a.out binaries.
   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
   Written by Cygnus Support.
   Written by Cygnus Support.
 
 
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
 
 
Line 3549... Line 3549...
 
 
/* Write out a symbol that was not associated with an a.out input
/* Write out a symbol that was not associated with an a.out input
   object.  */
   object.  */
 
 
static bfd_boolean
static bfd_boolean
aout_link_write_other_symbol (struct aout_link_hash_entry *h, void * data)
aout_link_write_other_symbol (struct bfd_hash_entry *bh, void *data)
{
{
 
  struct aout_link_hash_entry *h = (struct aout_link_hash_entry *) bh;
  struct aout_final_link_info *finfo = (struct aout_final_link_info *) data;
  struct aout_final_link_info *finfo = (struct aout_final_link_info *) data;
  bfd *output_bfd;
  bfd *output_bfd;
  int type;
  int type;
  bfd_vma val;
  bfd_vma val;
  struct external_nlist outsym;
  struct external_nlist outsym;
Line 3717... Line 3718...
             can't.  Note that we lose the other and desc information
             can't.  Note that we lose the other and desc information
             here.  I don't think that will ever matter for a global
             here.  I don't think that will ever matter for a global
             symbol.  */
             symbol.  */
          h->indx = -2;
          h->indx = -2;
          h->written = FALSE;
          h->written = FALSE;
          if (! aout_link_write_other_symbol (h, (void *) finfo))
          if (!aout_link_write_other_symbol (&h->root.root, finfo))
            return FALSE;
            return FALSE;
          r_index = h->indx;
          r_index = h->indx;
        }
        }
      else
      else
        {
        {
Line 4075... Line 4076...
                             global symbol.  */
                             global symbol.  */
                          if (h->indx < 0)
                          if (h->indx < 0)
                            {
                            {
                              h->indx = -2;
                              h->indx = -2;
                              h->written = FALSE;
                              h->written = FALSE;
                              if (! aout_link_write_other_symbol (h,
                              if (!aout_link_write_other_symbol (&h->root.root,
                                                                  (void *) finfo))
                                                                 finfo))
                                return FALSE;
                                return FALSE;
                            }
                            }
                          r_index = h->indx;
                          r_index = h->indx;
                        }
                        }
                      else
                      else
Line 4417... Line 4418...
                             global symbol.  */
                             global symbol.  */
                          if (h->indx < 0)
                          if (h->indx < 0)
                            {
                            {
                              h->indx = -2;
                              h->indx = -2;
                              h->written = FALSE;
                              h->written = FALSE;
                              if (! aout_link_write_other_symbol (h,
                              if (!aout_link_write_other_symbol (&h->root.root,
                                                                  (void *) finfo))
                                                                 finfo))
                                return FALSE;
                                return FALSE;
                            }
                            }
                          r_index = h->indx;
                          r_index = h->indx;
                        }
                        }
                      else
                      else
Line 5466... Line 5467...
    struct aout_link_hash_entry *h;
    struct aout_link_hash_entry *h;
 
 
    h = aout_link_hash_lookup (aout_hash_table (info), "__DYNAMIC",
    h = aout_link_hash_lookup (aout_hash_table (info), "__DYNAMIC",
                               FALSE, FALSE, FALSE);
                               FALSE, FALSE, FALSE);
    if (h != NULL)
    if (h != NULL)
      aout_link_write_other_symbol (h, &aout_info);
      aout_link_write_other_symbol (&h->root.root, &aout_info);
  }
  }
 
 
  /* The most time efficient way to do the link would be to read all
  /* The most time efficient way to do the link would be to read all
     the input object files into memory and then sort out the
     the input object files into memory and then sort out the
     information into the output file.  Unfortunately, that will
     information into the output file.  Unfortunately, that will
Line 5540... Line 5541...
            }
            }
        }
        }
    }
    }
 
 
  /* Write out any symbols that we have not already written out.  */
  /* Write out any symbols that we have not already written out.  */
  aout_link_hash_traverse (aout_hash_table (info),
  bfd_hash_traverse (&info->hash->table,
                           aout_link_write_other_symbol,
                           aout_link_write_other_symbol,
                           (void *) &aout_info);
                     &aout_info);
 
 
  /* Now handle any relocs we were asked to create by the linker.
  /* Now handle any relocs we were asked to create by the linker.
     These did not come from any input file.  We must do these after
     These did not come from any input file.  We must do these after
     we have written out all the symbols, so that we know the symbol
     we have written out all the symbols, so that we know the symbol
     indices to use.  */
     indices to use.  */

powered by: WebSVN 2.1.0

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