home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / ld / ldctor.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  55 lines

  1. /* ldctor.h - linker constructor support
  2.    Copyright 1991, 1992, 1993 Free Software Foundation, Inc.
  3.    
  4. This file is part of GLD, the Gnu Linker.
  5.  
  6. GLD is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GLD is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GLD; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  19.  
  20. #ifndef LDCTOR_H
  21. #define LDCTOR_H
  22.  
  23. /* List of statements needed to handle constructors */
  24. extern lang_statement_list_type constructor_list;
  25.  
  26. /* We keep a list of these structures for each set we build.  */
  27.  
  28. struct set_info
  29. {
  30.   struct set_info *next;        /* Next set.  */
  31.   struct bfd_link_hash_entry *h;    /* Hash table entry.  */
  32.   bfd_reloc_code_real_type reloc;    /* Reloc to use for an entry.  */
  33.   size_t count;                /* Number of elements.  */
  34.   struct set_element *elements;        /* Elements in set.  */
  35. };
  36.  
  37. struct set_element
  38. {
  39.   struct set_element *next;        /* Next element.  */
  40.   const char *name;            /* Name in set (may be NULL).  */
  41.   asection *section;            /* Section of value in set.  */
  42.   bfd_vma value;            /* Value in set.  */
  43. };
  44.  
  45. /* The sets we have seen.  */
  46.  
  47. extern struct set_info *sets;
  48.  
  49. extern void ldctor_add_set_entry PARAMS ((struct bfd_link_hash_entry *,
  50.                       bfd_reloc_code_real_type,
  51.                       const char *, asection *, bfd_vma));
  52. extern void ldctor_build_sets PARAMS ((void));
  53.  
  54. #endif
  55.