[PATCH] x86/Solaris: address two ld test FAILs

H.J. Lu hjl.tools@gmail.com
Fri Dec 12 10:31:14 GMT 2025


On Fri, Dec 12, 2025 at 5:12 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> ld's ld-{i386,x86_64}/libgot-1-* tests want to use plain ELF linker
> targets. Those won't work though if selected only in ld's configure.tgt
> (via targ_extra_emuls). They would also need enabling in BFD, but
> adjustments there were done in the opposite direction pretty recently.
> ---
> I further question the setting of want64 for i[3-7]86-*-solaris2* - that's
> inconsistent with all other ix86 targets. Of course then the respective
> targ_extra_emuls here also needs to change to targ64_extra_emuls.
>
> Why is it that ASSOCIATED_VECS is set only for --enable-targets=all? The
> different behavior of bfd_check_format_matches() with and without it set,
> when multiple targets match, looks like a pretty obvious problem to me.

Does this fix

https://sourceware.org/bugzilla/show_bug.cgi?id=33374

> --- a/ld/configure.tgt
> +++ b/ld/configure.tgt
> @@ -375,13 +375,11 @@ i[3-7]86-*-redox*)        targ_emul=elf_i386
>                         ;;
>  i[3-7]86-*-solaris2.1[01]*)
>                         targ_emul=elf_i386_sol2
> -                       targ_extra_emuls="elf_x86_64_sol2 elf_i386 elf_x86_64"
> +                       targ_extra_emuls="elf_x86_64_sol2"
>                         targ_extra_libpath=$targ_extra_emuls
>                         ;;
>  i[3-7]86-*-solaris2.[0-9]*)
>                         targ_emul=elf_i386_sol2
> -                       targ_extra_emuls=elf_i386
> -                       targ_extra_libpath=$targ_extra_emuls
>                         ;;
>  i[3-7]86-*-netbsd* | \
>  i[3-7]86-*-netbsd*-gnu* | \
> @@ -921,7 +919,7 @@ sparc64-*-*bsd*)    targ_emul=elf64_sparc
>  sparc64-*-solaris2.[7-9]* | sparc64-*-solaris2.1[01]* | \
>  sparcv9-*-solaris2.[7-9]* | sparcv9-*-solaris2.1[01]*)
>                         targ_emul=elf64_sparc_sol2
> -                       targ_extra_emuls="elf32_sparc_sol2 elf64_sparc elf32_sparc"
> +                       targ_extra_emuls="elf32_sparc_sol2"
>                         targ_extra_libpath=$targ_extra_emuls
>                         ;;
>  sparc64-*-haiku*)      targ_emul=elf64_sparc
> @@ -935,12 +933,11 @@ sparc*-*-linux-*) targ_emul=elf32_sparc
>                         ;;
>  sparc-*-solaris2.[7-9]* | sparc-*-solaris2.1[01]*)
>                         targ_emul=elf32_sparc_sol2
> -                       targ_extra_emuls="elf64_sparc_sol2 elf32_sparc elf64_sparc"
> +                       targ_extra_emuls="elf64_sparc_sol2"
>                         targ_extra_libpath=$targ_extra_emuls
>                         ;;
>  sparc-*-solaris2.[0-6]*)
>                         targ_emul=elf32_sparc_sol2
> -                       targ_extra_emuls=elf32_sparc
>                         ;;
>  sparc*-*-vxworks*)     targ_emul=elf32_sparc_vxworks
>                         ;;
> @@ -1010,7 +1007,7 @@ x86_64-*-redox*)  targ_emul=elf_x86_64
>                         ;;
>  x86_64-*-solaris2.1[01]*)
>                         targ_emul=elf_x86_64_sol2
> -                       targ_extra_emuls="elf_i386_sol2 elf_x86_64 elf_i386"
> +                       targ_extra_emuls="elf_i386_sol2"
>                         targ_extra_libpath=$targ_extra_emuls
>                         ;;
>  x86_64-*-netbsd* | x86_64-*-openbsd*)



-- 
H.J.


More information about the Binutils mailing list