From owner-freebsd-current@freebsd.org Tue Sep 25 06:56:03 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E67A10A912D for ; Tue, 25 Sep 2018 06:56:03 +0000 (UTC) (envelope-from soralx@cydem.org) Received: from smtp.triumf.ca (smtp.triumf.ca [142.90.100.195]) by mx1.freebsd.org (Postfix) with ESMTP id D912584AE1; Tue, 25 Sep 2018 06:56:02 +0000 (UTC) (envelope-from soralx@cydem.org) Received: from mscad14 (mscad14.triumf.ca [142.90.115.36]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.triumf.ca (Postfix) with ESMTP id 0ABF5F802; Mon, 24 Sep 2018 23:55:56 -0700 (PDT) Date: Mon, 24 Sep 2018 23:55:55 -0700 From: To: Cc: Subject: Re: Buildowrld tries to use old ld, and fails Message-ID: <20180924235555.759b418d@mscad14> In-Reply-To: References: <20180923181818.7f3cb925@mscad14> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; amd64-portbld-freebsd9.3) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 25 Sep 2018 09:59:46 +0000 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2018 06:56:03 -0000 > > Howdy! > > > > Since a couple months ago, the world on -CURRENT cannot be built > > using the normal procedure: > > time env LD=ld.lld make -j6 buildworld buildkernel > > The normal procedure shouldn't need any LD= overrides; is there > something unique in your build? Any src.conf settings? Indeed, I had "WITHOUT_LLD_BOOTSTRAP=yes" in src.conf. Not sure how that line made it into this file on a number of my systems... perhaps an artifact of old -CURRENT upgrade procedure that I've forgotten about. Soon as I emptied /etc/src.conf, and dropped the 'LD=' from environment, the build succeeds no problem. Thanks, Ed! > > Here's the result: > > [late in buildowrld process] > > --- all_subdir_stand --- > > /usr/obj/usr/src/amd64.amd64/tmp/usr/bin/ld: unrecognized option > > '--no-rosegment' /usr/obj/usr/src/amd64.amd64/tmp/usr/bin/ld: use the > > --help option for usage information cc: error: linker command failed > > with exit code 1 (use -v to see invocation) make[5]: stopped > > in /usr/src/stand/i386/mbr > > > > Workaround is to use linker from binutils: > > env LD=/usr/local/bin/ld make buildworld > > Just overriding LD isn't sufficient to choose a linker, because most > linking is performed by the compiler driver (i.e., cc) which does not > use the LD variable. I was just following a note 20180510 from UPDATING. It worked before. And there are no newer entries overruling the old note, so I thought it should still work as before... Strange that overriding LD works when pointing to ld from binutils, but not always with ld.lld linker; for example, 'stand/i386/mbr/' ignores "LD=ld.lld", but not "LD=/usr/local/bin/ld". -- [SorAlx] ridin' VN2000 Classic LT