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.
This commit is contained in:
Nick Clifton
2021-06-09 11:10:16 +01:00
parent 1bc5b62129
commit f75bcf7e57
4 changed files with 27 additions and 9 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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] } {