[binutils-gdb] Fix the creation of archives for Sparc Solaris2 targets by eliminating the support for generic SPARC

Nick Clifton nickc@sourceware.org
Wed Jun 9 10:11:58 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f75bcf7e574c511f0ea742e05e5ae6e19bf29a92

commit f75bcf7e574c511f0ea742e05e5ae6e19bf29a92
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 9 11:10:16 2021 +0100

    Fix the creation of archives for Sparc Solaris2 targets by eliminating the support for generic SPARC ELF files.
    
            PR 27666
    bfd     * config.bfd: Do not add the sparc_elf32_vec or sparc_elf64_vec
            vectors to Sparc Solaris2 targets.
    
    ld      * testsuite/ld-sparc/sparc.exp: Do not run the sparctests or
            sparc64tests for Solaris2 targets.

Diff:
---
 bfd/ChangeLog                   |  6 ++++++
 bfd/config.bfd                  |  5 +++--
 ld/ChangeLog                    |  6 ++++++
 ld/testsuite/ld-sparc/sparc.exp | 19 ++++++++++++-------
 4 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d1192e3acc8..d1a92dc594d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2021-06-09  Nick Clifton  <nickc@redhat.com>
+
+	PR 27666
+	* config.bfd: Do not add the sparc_elf32_vec or sparc_elf64_vec
+	vectors to Sparc Solaris2 targets.
+
 2021-06-08  Michael Matz  <matz@suse.de>
 
 	* elf.c (bfd_section_from_shdr): Set has_secondary_relocs flag.
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 9434fd6c7e4..57b513c7c73 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -1279,13 +1279,14 @@ case "${targ}" in
     ;;
 
   sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
+    # PR 27666: Do not include sparc_elf32_vec here.
     targ_defvec=sparc_elf32_sol2_vec
-    targ_selvecs=sparc_elf32_vec
     ;;
 #ifdef BFD64
   sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
+    # PR 27666: Do not include sparc_elf32_vec or sparc_elf64_vec here.
     targ_defvec=sparc_elf32_sol2_vec
-    targ_selvecs="sparc_elf64_sol2_vec sparc_elf32_vec sparc_elf64_vec"
+    targ_selvecs="sparc_elf64_sol2_vec"
     want64=true
     ;;
   sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 3c2aa269b2b..7ae7613dc77 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2021-06-09  Nick Clifton  <nickc@redhat.com>
+
+	PR 27666
+	* testsuite/ld-sparc/sparc.exp: Do not run the sparctests or
+	sparc64tests for Solaris2 targets.
+
 2021-06-03  Alan Modra  <amodra@gmail.com>
 
 	PR 2589
diff --git a/ld/testsuite/ld-sparc/sparc.exp b/ld/testsuite/ld-sparc/sparc.exp
index 5621d077361..3b65779c07f 100644
--- a/ld/testsuite/ld-sparc/sparc.exp
+++ b/ld/testsuite/ld-sparc/sparc.exp
@@ -142,14 +142,19 @@ set sparc64tests {
      "libgotop64.so"}
 }
 
-if { ![istarget "sparc64-*-elf*"] } {
-    run_ld_link_tests $sparctests
-}
+# The solaris2 targets do not support the generic SPARC ELF targets,
+# ie -melf32_sparc and -melf64_sparc, so we skip the next set of
+# tests for them.  Support could be added, but this then breaks the
+# creation of archives for those targets.  See PR 27666 for more
+# details.
+if { ![istarget "*-*-solaris2*"] } {
+    if { ![istarget "sparc64-*-elf*"] } {
+        run_ld_link_tests $sparctests
+    }
 
-if { !([istarget "sparc-*-elf*"]
-       || [istarget "sparc-sun-solaris2.5*"]
-       || [istarget "sparc-sun-solaris2.6"]) } {
-    run_ld_link_tests $sparc64tests
+    if { ![istarget "sparc-*-elf*"] } {
+        run_ld_link_tests $sparc64tests
+    }
 }
 
 if { [istarget "sparc*-*-linux*"] && [isnative] } {


More information about the Binutils-cvs mailing list