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>