]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/ldctor.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / ldctor.h
index d873f77f3270fe73fcc8ed22aa4fd12dcd02c7b4..e77ebfc3ca092d5f148e0a2ec78659d3da4b6cf8 100644 (file)
@@ -1,22 +1,22 @@
 /* ldctor.h - linker constructor support
-   Copyright 1991, 92, 93, 94, 95, 1998 Free Software Foundation, Inc.
-   
-This file is part of GLD, the Gnu Linker.
+   Copyright (C) 1991-2022 Free Software Foundation, Inc.
 
-GLD is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+   This file is part of the GNU Binutils.
 
-GLD is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   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
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
 
-You should have received a copy of the GNU General Public License
-along with GLD; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
 
 #ifndef LDCTOR_H
 #define LDCTOR_H
@@ -27,12 +27,11 @@ extern lang_statement_list_type constructor_list;
 /* Whether the constructors should be sorted.  Note that this is
    global for the entire link; we assume that there is only a single
    CONSTRUCTORS command in the linker script.  */
-extern boolean constructors_sorted;
+extern bool constructors_sorted;
 
 /* We keep a list of these structures for each set we build.  */
 
-struct set_info
-{
+struct set_info {
   struct set_info *next;               /* Next set.  */
   struct bfd_link_hash_entry *h;       /* Hash table entry.  */
   bfd_reloc_code_real_type reloc;      /* Reloc to use for an entry.  */
@@ -40,9 +39,11 @@ struct set_info
   struct set_element *elements;                /* Elements in set.  */
 };
 
-struct set_element
-{
-  struct set_element *next;            /* Next element.  */
+struct set_element {
+  union {
+    struct set_element *next;          /* Next element.  */
+    long idx;
+  } u;
   const char *name;                    /* Name in set (may be NULL).  */
   asection *section;                   /* Section of value in set.  */
   bfd_vma value;                       /* Value in set.  */
@@ -52,9 +53,10 @@ struct set_element
 
 extern struct set_info *sets;
 
-extern void ldctor_add_set_entry PARAMS ((struct bfd_link_hash_entry *,
-                                         bfd_reloc_code_real_type,
-                                         const char *, asection *, bfd_vma));
-extern void ldctor_build_sets PARAMS ((void));
+extern void ldctor_add_set_entry
+  (struct bfd_link_hash_entry *, bfd_reloc_code_real_type, const char *,
+   asection *, bfd_vma);
+extern void ldctor_build_sets
+  (void);
 
 #endif