This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: ld -m elf_i386 on x86 Solaris
- From: Daniel Jacobowitz <drow at false dot org>
- To: Michael Wetherell <mike dot wetherell at ntlworld dot com>
- Cc: binutils at sourceware dot org
- Date: Fri, 23 Jun 2006 14:12:38 -0400
- Subject: Re: ld -m elf_i386 on x86 Solaris
- References: <200606201323.58872.mike.wetherell@ntlworld.com>
On Tue, Jun 20, 2006 at 01:23:58PM +0100, Michael Wetherell wrote:
> Hi,
>
> Using the elf_i386 emulation on x86 solaris, when linking to a shared
> library it doesn't search the DT_RPATH, etc. for other shared libaries
> the linked library depends on.
>
> I've put a suggested fix below, which uses targ_extra_libpath=elf_i386
> instead of targ_extra_emuls=elf_i386:
You're supposed to set both. I've checked in a similar fix, thanks.
> And should the same apply the 64-bit linking? If elf_i386_ldso is needed
> will an elf_x86_64_ldso be needed too?
No, if gcc specifies -dynamic-linker (which it probably does) then it
shouldn't matter.
--
Daniel Jacobowitz
CodeSourcery
2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
* configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Set
targ_extra_libpath.
Index: configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.188
diff -u -p -r1.188 configure.tgt
--- configure.tgt 24 May 2006 07:36:11 -0000 1.188
+++ configure.tgt 23 Jun 2006 18:09:57 -0000
@@ -163,10 +163,12 @@ x86_64-*-linux-*) targ_emul=elf_x86_64
i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 ;;
i[3-7]86-*-solaris2*) targ_emul=elf_i386_ldso
targ_extra_emuls="elf_i386 elf_x86_64"
+ targ_extra_libpath=$target_extra_emuls
;;
i[3-7]86-*-unixware) targ_emul=elf_i386 ;;
i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso
targ_extra_emuls="elf_i386"
+ targ_extra_libpath=$target_extra_emuls
;;
i[3-7]86-*-netbsdelf* | \
i[3-7]86-*-netbsd*-gnu* | \