[binutils-gdb] Remove check_relocs_after_open_input

Alan Modra via Binutils-cvs <[email protected]>
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5a4614a81abd040f0ce21089104997bd9dd098f0

commit 5a4614a81abd040f0ce21089104997bd9dd098f0
Author: Alan Modra <[email protected]>
Date:   Fri May 1 10:47:54 2026 +0930

    Remove check_relocs_after_open_input
    
    After commit 5c3261b0e834 there was no need for this flag.  Remove it
    and tidy places that used it.
    
    include/
            * bfdlink.h (struct bfd_link_info): Delete
            check_relocs_after_open_input.
    ld/
            * emultempl/aarch64elf.em (before_parse): Don't set
            link_info.check_relocs_after_open_input.
            * emultempl/armelf.em (before_parse): Likewise.
            * emultempl/elf.em (before_parse): Likewise.
            * emultempl/scoreelf.em (before_parse): Likewise.
            * emultempl/mmix-elfnmmo.em (mmix_before_parse): Delete.
            (LDEMUL_BEFORE_PARSE): Don't define.
            * emultempl/mmixelf.em (elfmmix_before_parse): Call elf.em
            before_parse.
            * ldlang.c (lang_check_relocs): Don't test
            link_info.check_relocs_after_open_input.

Diff:
---
 include/bfdlink.h            |  4 ----
 ld/emultempl/aarch64elf.em   |  1 -
 ld/emultempl/armelf.em       |  1 -
 ld/emultempl/elf.em          |  1 -
 ld/emultempl/mmix-elfnmmo.em | 10 ----------
 ld/emultempl/mmixelf.em      |  2 +-
 ld/emultempl/scoreelf.em     |  1 -
 ld/ldlang.c                  | 24 +++++++++---------------
 8 files changed, 10 insertions(+), 34 deletions(-)

diff --git a/include/bfdlink.h b/include/bfdlink.h
index a412f9c241a..90b5d8a8d85 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -572,10 +572,6 @@ struct bfd_link_info
   /* TRUE if program headers ought to be loaded.  */
   unsigned int load_phdrs: 1;
 
-  /* TRUE if we should check relocations after all input files have
-     been opened.  */
-  unsigned int check_relocs_after_open_input: 1;
-
   /* TRUE if generation of .interp/PT_INTERP should be suppressed.  */
   unsigned int nointerp: 1;
 
diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em
index 010dbbfaed2..54177249f24 100644
--- a/ld/emultempl/aarch64elf.em
+++ b/ld/emultempl/aarch64elf.em
@@ -59,7 +59,6 @@ gld${EMULATION_NAME}_before_parse (void)
   input_flags.dynamic = ${DYNAMIC_LINK-true};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`;
   config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo true ; else echo false ; fi`;
-  link_info.check_relocs_after_open_input = true;
 EOF
 if test -n "$COMMONPAGESIZE"; then
 fragment <<EOF
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index a17d6136a2b..c743c6f80d4 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -59,7 +59,6 @@ gld${EMULATION_NAME}_before_parse (void)
   input_flags.dynamic = ${DYNAMIC_LINK-true};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`;
   config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo true ; else echo false ; fi`;
-  link_info.check_relocs_after_open_input = true;
 EOF
 if test -n "$COMMONPAGESIZE"; then
 fragment <<EOF
diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em
index 37bdfff051c..9fcf9fa154d 100644
--- a/ld/emultempl/elf.em
+++ b/ld/emultempl/elf.em
@@ -84,7 +84,6 @@ gld${EMULATION_NAME}_before_parse (void)
   input_flags.dynamic = ${DYNAMIC_LINK-true};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`;
   config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo true ; else echo false ; fi`;
-  link_info.check_relocs_after_open_input = true;
 EOF
 if test -n "$COMMONPAGESIZE"; then
 fragment <<EOF
diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em
index 36b99ecf9c9..c4a501cc530 100644
--- a/ld/emultempl/mmix-elfnmmo.em
+++ b/ld/emultempl/mmix-elfnmmo.em
@@ -25,15 +25,6 @@
 fragment <<EOF
 #include "elf/mmix.h"
 
-static void gld${EMULATION_NAME}_before_parse (void);
-
-static void
-mmix_before_parse (void)
-{
-  link_info.check_relocs_after_open_input = true;
-  gld${EMULATION_NAME}_before_parse ();
-}
-
 /* Set up handling of linker-allocated global registers.  */
 
 static void
@@ -117,6 +108,5 @@ mmix_after_allocation (void)
 }
 EOF
 
-LDEMUL_BEFORE_PARSE=mmix_before_parse
 LDEMUL_AFTER_ALLOCATION=mmix_after_allocation
 LDEMUL_BEFORE_ALLOCATION=mmix_before_allocation
diff --git a/ld/emultempl/mmixelf.em b/ld/emultempl/mmixelf.em
index 23515c3fb41..324e8877a6d 100644
--- a/ld/emultempl/mmixelf.em
+++ b/ld/emultempl/mmixelf.em
@@ -29,7 +29,7 @@ fragment <<EOF
 static void
 elfmmix_before_parse (void)
 {
-  mmix_before_parse ();
+  gld${EMULATION_NAME}_before_parse ();
 
   /* Make sure we don't create a demand-paged executable.  Unfortunately
      this isn't changeable with a command-line option.  It makes no
diff --git a/ld/emultempl/scoreelf.em b/ld/emultempl/scoreelf.em
index ac33bfc3fc7..46082603ef0 100644
--- a/ld/emultempl/scoreelf.em
+++ b/ld/emultempl/scoreelf.em
@@ -39,7 +39,6 @@ gld${EMULATION_NAME}_before_parse (void)
   input_flags.dynamic = ${DYNAMIC_LINK-true};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`;
   config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo true ; else echo false ; fi`;
-  link_info.check_relocs_after_open_input = true;
 EOF
 if test -n "$COMMONPAGESIZE"; then
 fragment <<EOF
diff --git a/ld/ldlang.c b/ld/ldlang.c
index d75f9df4d43..dec3d586671 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -8463,21 +8463,15 @@ lang_add_gc_name (const char *name)
 static void
 lang_check_relocs (void)
 {
-  if (link_info.check_relocs_after_open_input)
-    {
-      bfd *abfd;
-
-      for (abfd = link_info.input_bfds;
-	   abfd != (bfd *) NULL; abfd = abfd->link.next)
-	if (!bfd_link_check_relocs (abfd, &link_info))
-	  {
-	    /* No object output, fail return.  */
-	    config.make_executable = false;
-	    /* Note: we do not abort the loop, but rather
-	       continue the scan in case there are other
-	       bad relocations to report.  */
-	  }
-    }
+  for (bfd *abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
+    if (!bfd_link_check_relocs (abfd, &link_info))
+      {
+	/* No object output, fail return.  */
+	config.make_executable = false;
+	/* Note: we do not abort the loop, but rather
+	   continue the scan in case there are other
+	   bad relocations to report.  */
+      }
 }
 
 /* Look through all output sections looking for places where we can
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.