This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Building a cross binutils for Solaris/x86 target
- From: Ian Lance Taylor <iant at google dot com>
- To: Alex Bennee <kernel-hacker at bennee dot com>
- Cc: binutils at sourceware dot org
- Date: 16 Mar 2007 10:24:02 -0700
- Subject: Re: Building a cross binutils for Solaris/x86 target
- References: <1174061923.21350.25.camel@okra.transitives.com>
Alex Bennee <kernel-hacker@bennee.com> writes:
> One of the toolchains we use at work is a Solaris/x86 target hosted on
> Linux/x86. One of my colleagues hacked up binutils 2.16.1 to enable it
> to link a Solaris binary.
>
> I'm in the process of porting them 2.17 and would very much like to
> submit the patches upstream if I can do them neatly. However my autoconf
> magic is a little rusty.
>
> In the BFD the linker is specified in elf64-x86-64.c as "/lib/ld64.so.1"
> when on Solaris is needs to be in "/lib/amd64/ld.so.1". Are there any
> config variables passed to the C code that I can use to #ifdef this?
>
> I had a brief scan through config.h but couldn't see anything helpful.
This isn't properly expressed as an autoconf test. Autoconf tests can
only test for host features. You are talking about a target feature.
The way to implement this would be to clone the x86_64 target and just
change the interpreter string. Then make your new target the default
in config.bfd.
Alternatively, GNU/Linux has the same issue. The way it is handled
there is to arrange for gcc to always pass the appropriate
-dynamic-linker option when it invokes the linker. That is the way to
go if you always use gcc.
Ian