]> git.feebdaed.xyz Git - 0xmirror/binutils-gdb.git/commitdiff
Add back non-solaris ELF targets to solaris config
authorAlan Modra <amodra@gmail.com>
Sat, 20 Dec 2025 03:49:50 +0000 (14:19 +1030)
committerAlan Modra <amodra@gmail.com>
Sat, 20 Dec 2025 12:38:13 +0000 (23:08 +1030)
This reverses some of the changes made in config.bfd for PR 27666.
Removing targets for that PR was really just a workaround, and since
the underlying bug is now fixed they can be added back.

I chose to add the non-solaris ELF targets to the linker config using
targ_extra_emuls rather than targ_extra_libpath because someone using
the elf32_sparc emulation probably doesn't want to pick up solaris
libraries by accident.

PR 33374
bfd/
* config.bfd: Remove pr27666 comments.  Add back non-solaris
ELF targets to selvecs for solaris targets.
ld/
* configure.tgt: Adjust solaris targets to suit config.bfd
change.

bfd/config.bfd
ld/configure.tgt

index 6648810f7fe3fac4ae4bcfd5fe74fe8218f02ddf..848fd62432084cebb754ffd1b35c606ab6fe1f10 100644 (file)
@@ -595,13 +595,13 @@ case "${targ}" in
     targ_selvecs="iamcu_elf32_vec i386_coff_vec"
     ;;
   i[3-7]86-*-solaris2*)
-    # PR 27666: Do not include i386_elf32_vec or x86_64_elf64_vec.
     targ_defvec=i386_elf32_sol2_vec
-    targ64_selvecs=x86_64_elf64_sol2_vec
+    targ_selvecs=i386_elf32_vec
+    targ64_selvecs="x86_64_elf64_sol2_vec x86_64_elf64_vec"
     ;;
   i[3-7]86-*-solaris*)
-    # PR 27666: Do not include i386_elf32_vec here.
     targ_defvec=i386_elf32_sol2_vec
+    targ_selvecs=i386_elf32_vec
     ;;
   i[3-7]86-*-nto*)
     targ_defvec=i386_elf32_vec
@@ -726,9 +726,8 @@ case "${targ}" in
     want64=true
     ;;
   x86_64-*-solaris2*)
-    # PR 27666: Do not include i386_elf32_vec or x86_64_elf64_vec.
     targ_defvec=x86_64_elf64_sol2_vec
-    targ_selvecs=i386_elf32_sol2_vec
+    targ_selvecs="i386_elf32_sol2_vec x86_64_elf64_vec i386_elf32_vec"
     want64=true
     ;;
   x86_64-*-gnu*)
@@ -1335,15 +1334,14 @@ case "${targ}" in
     targ_underscore=yes
     ;;
   sparc-*-solaris2*)
-    # PR 27666: Do not include sparc_elf32_vec or sparc_elf64_vec here.
     targ_defvec=sparc_elf32_sol2_vec
-    targ64_selvecs=sparc_elf64_sol2_vec
+    targ_selvecs=sparc_elf32_vec
+    targ64_selvecs="sparc_elf64_sol2_vec sparc_elf64_vec"
     ;;
 #ifdef BFD64
   sparcv9-*-solaris2* | sparc64-*-solaris2*)
-    # PR 27666: Do not include sparc_elf32_vec or sparc_elf64_vec here.
     targ_defvec=sparc_elf64_sol2_vec
-    targ_selvecs=sparc_elf32_sol2_vec
+    targ_selvecs="sparc_elf32_sol2_vec sparc_elf64_vec sparc_elf32_vec"
     want64=true
     ;;
   sparc64-*-haiku*)
@@ -1370,8 +1368,8 @@ case "${targ}" in
     targ_selvecs="sparc_elf32_vec"
     ;;
   sparc*-*-solaris*)
-    # PR 27666: Do not include sparc_elf32_vec here.
     targ_defvec=sparc_elf32_sol2_vec
+    targ_selvecs=sparc_elf32_vec
     ;;
   sparc*-*-*)
     targ_defvec=sparc_elf32_vec
index 8efe659e5a070715fa502a5922f46c014fa2a78d..580f665fe67cd9071efdbfa9b67ef75b4f384b3e 100644 (file)
@@ -375,10 +375,13 @@ i[3-7]86-*-redox*)        targ_emul=elf_i386
                        ;;
 i[3-7]86-*-solaris2*)
                        targ_emul=elf_i386_sol2
+                       targ_extra_emuls=elf_i386
                        targ64_extra_libpath=elf_x86_64_sol2
+                       targ64_extra_emuls=elf_x86_64
                        ;;
 i[3-7]86-*-solaris*)
                        targ_emul=elf_i386_sol2
+                       targ_extra_emuls=elf_i386
                        ;;
 i[3-7]86-*-netbsd* | \
 i[3-7]86-*-netbsd*-gnu* | \
@@ -918,6 +921,7 @@ sparc64-*-*bsd*)    targ_emul=elf64_sparc
 sparc64-*-solaris2* | sparcv9-*-solaris2*)
                        targ_emul=elf64_sparc_sol2
                        targ_extra_libpath=elf32_sparc_sol2
+                       targ_extra_emuls="elf64_sparc elf32_sparc"
                        ;;
 sparc64-*-haiku*)      targ_emul=elf64_sparc
                        ;;
@@ -930,10 +934,13 @@ sparc*-*-linux-*) targ_emul=elf32_sparc
                        ;;
 sparc-*-solaris2*)
                        targ_emul=elf32_sparc_sol2
+                       targ_extra_emuls=elf32_sparc
                        targ64_extra_libpath=elf64_sparc_sol2
+                       targ64_extra_emuls=elf64_sparc
                        ;;
 sparc*-*-solaris*)
                        targ_emul=elf32_sparc_sol2
+                       targ_extra_emuls=elf32_sparc
                        ;;
 sparc*-*-vxworks*)     targ_emul=elf32_sparc_vxworks
                        ;;
@@ -1004,6 +1011,7 @@ x86_64-*-redox*)  targ_emul=elf_x86_64
 x86_64-*-solaris2*)
                        targ_emul=elf_x86_64_sol2
                        targ_extra_libpath=elf_i386_sol2
+                       targ_extra_emuls="elf_x86_64 elf_i386"
                        ;;
 x86_64-*-netbsd* | x86_64-*-openbsd*)
                        targ_emul=elf_x86_64