Date: Mon, 24 Sep 2018 15:10:30 -0400 From: Ed Maste <emaste@freebsd.org> To: Michael Tuexen <tuexen@freebsd.org> Cc: Warner Losh <imp@bsdimp.com>, Rebecca Cran <rebecca@bluestop.org>, Mark Johnston <markj@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org> Subject: Re: building head -r338675 with devel/amd64-gcc: /usr/local/x86_64-unknown-freebsd12.0/bin/ld: warning: -z ifunc-noplt ignored Message-ID: <CAPyFy2Cju5ptkO3kteVKJGE-wJj8BfnaN88_JTNaT1pJRKWKKw@mail.gmail.com> In-Reply-To: <CFD9EF21-BEAE-49EB-9C76-C18EE2A6FF3B@freebsd.org> References: <2E7136DD-9C25-44C1-8C9A-310C2D1D7189@yahoo.com> <CAPyFy2BHUocGh-H8xfmdQXTTX_Qvoi50xKzoTGco8Cn9FfGcyQ@mail.gmail.com> <20180921193139.GB5120@raichu> <CAPyFy2DTw-LGXUVCP2W0MOW0bXWe2An18Y-Uy-U6X40UJCiy6w@mail.gmail.com> <20180921220639.GF5120@raichu> <83c3a1bd-6922-20d1-4559-26bca1995229@bluestop.org> <CANCZdfrAZkz-6RwG8N_iMt4OOxaBFRpdLCo4h7q2KnLrb_A%2BPg@mail.gmail.com> <33ea78c3-7954-d30e-4f40-dcada55e7367@bluestop.org> <CANCZdfrRNqHMrCdYuDgs=cLJfm11BVv8d-=D_c1s5jp1tz8ZKQ@mail.gmail.com> <CANCZdfqda%2B=MkzKc%2BhF0_1NZG90kTzxZuC5uJUE5qaDEW7szgA@mail.gmail.com> <74775769-6810-63ab-d776-013bc72c8488@bluestop.org> <CANCZdfqwq%2BjbBJnRNF=ef1iGVoNFux=Vptf3HSdNTGVD7DPzKg@mail.gmail.com> <CFD9EF21-BEAE-49EB-9C76-C18EE2A6FF3B@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 23 September 2018 at 07:31, Michael Tuexen <tuexen@fh-muenster.de> wrote: > Using this patch I was able to build/install world and kernel on an i386 system. > However, after removing it, I can't build world then. When trying to compile a > kernel "the old way" I end up with: > > tuexen@head:~/head/sys/i386/conf % config -g TCP > WARNING: duplicate option `GEOM_PART_GPT' encountered. > Kernel build directory is ../compile/TCP > Don't forget to do ``make cleandepend && make depend'' > tuexen@head:~/head/sys/i386/conf % cd ../compile/TCP/ > tuexen@head:~/head/sys/i386/compile/TCP % make -j 6 > make: "../../../conf/../../../conf/kern.pre.mk" line 126: amd64/i386 kernel requires linker ifunc support > > This is r338893. > > amd64 works without any problem. So this is i386 specific. Any idea how to fix it? This safety belt is in place to ensure we don't build a non-functional kernel - now that the i386 kernel requires ifunc support using old GNU ld results in a kernel that doesn't boot. The workaround for the "old way" is to explicitly set LD=ld.lld in the environment - "LD=ld.lld make -j 6" should work. More details in this -arch thread, when amd64 encountered this hiccup: https://lists.freebsd.org/pipermail/freebsd-arch/2018-May/018967.html The same issue now affects i386 as it has started using ifuncs, and will be resolved once we can switch i386's /usr/bin/ld to be lld, which is waiting on ports fixes in PR214864.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2Cju5ptkO3kteVKJGE-wJj8BfnaN88_JTNaT1pJRKWKKw>