Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Dec 2012 07:48:26 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Erik Cederstrand <erik@cederstrand.dk>
Cc:        "toolchain@freebsd.org" <toolchain@FreeBSD.org>, Pete chou <pete.chou@gmail.com>
Subject:   Re: Using non-standard linker
Message-ID:  <8450A192-367E-4577-97C5-114EDD094BD4@bsdimp.com>
In-Reply-To: <5337BAB6-7EEE-4A1E-9660-902544CCE3EE@cederstrand.dk>
References:  <089FCDB5-C0D2-4675-AB71-FD7089BFA031@cederstrand.dk> <5880F938-A9EC-4B2D-8079-42504DFA87F9@FreeBSD.org> <5337BAB6-7EEE-4A1E-9660-902544CCE3EE@cederstrand.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

On Dec 13, 2012, at 6:18 AM, Erik Cederstrand wrote:

> Den 13/12/2012 kl. 14.10 skrev David Chisnall <theraven@FreeBSD.org>:
>=20
>> Hi Eric,
>>=20
>> The easiest way of doing this is to make /usr/bin/ld (in the host =
system and in the bootstrap) into a symbolic link that points to =
whatever the selected linker is.  I had to do this when testing gold as =
well (we end up with ld-gold and ld-bfd and ld being a symlink to one of =
them).
>=20
> Yes, a symlink is of course an easy solution post-install. But 'ld' is =
built as part of 'make toolchain', I believe, so this approach wouldn't =
work if I wanted mclinker to be used as the linker in 'make buildworld'. =
The newly built 'ld' in /usr/obj/ would be used as the linker instead.

Install ld as ld.gnu during the build and after.  Make ld a small shell =
script that invokes ld.gnu by default, or something else if a variable =
is set.  Much like the way we have different mail backends to a common =
mail front end. Then ld does what people want, and you have a hook to do =
different things.

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8450A192-367E-4577-97C5-114EDD094BD4>