[PATCH v2] ld: Remove elf_x86_64/elf_i386 emulations from Solaris x86 linker
H.J. Lu
hjl.tools@gmail.com
Fri Sep 5 12:13:55 GMT 2025
Linkers configured for i[3-7]86-*-solaris2* and x86_64-*-solaris2* report:
$ ./ld-new -V
GNU ld (GNU Binutils) 2.45.50.20250904
Supported emulations:
elf_x86_64_sol2
elf_x86_64
elf_i386_sol2
elf_i386_ldso
elf_i386
elf_iamcu
However, elf_x86_64 and elf_i386 emulations are unsupported:
$ ./ld-new -melf_x86_64 -shared x.o
./ld-new: target elf64-x86-64 not found
...
$ ./ld-new -melf_i386 -shared x.o
./ld-new: target elf32-i386 not found
$
since elf64-x86-64 and elf32-i386 targets were excluded due to
https://sourceware.org/bugzilla/show_bug.cgi?id=27666
Removing elf_i386 and elf_x86_64 emulations from Solaris x86 linkers to
get
$ ./ld-new -V
GNU ld (GNU Binutils) 2.45.50.20250904
Supported emulations:
elf_x86_64_sol2
elf_i386_sol2
elf_i386_ldso
elf_iamcu
PR binutils/27666
PR ld/33374
* configure.tgt (targ_extra_emuls): Remove elf_i386 and elf_x86_64
for i[3-7]86-*-solaris2* and x86_64-*-solaris2*.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
ld/configure.tgt | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 0343010ca7d..b7893b699cd 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -374,11 +374,10 @@ i[3-7]86-*-redox*) targ_emul=elf_i386
targ_extra_emuls=elf_x86_64
;;
i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2
- targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64"
+ targ_extra_emuls="elf_i386_ldso elf_iamcu elf_x86_64_sol2"
targ_extra_libpath=$targ_extra_emuls
;;
i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso
- targ_extra_emuls="elf_i386"
targ_extra_libpath=$targ_extra_emuls
;;
i[3-7]86-*-netbsd* | \
@@ -1007,7 +1006,7 @@ x86_64-*-redox*) targ_emul=elf_x86_64
targ_extra_emuls=elf_i386
;;
x86_64-*-solaris2*) targ_emul=elf_x86_64_sol2
- targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu"
+ targ_extra_emuls="elf_i386_sol2 elf_i386_ldso elf_iamcu"
targ_extra_libpath=$targ_extra_emuls
tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
;;
--
2.51.0
More information about the Binutils
mailing list