On Mon, Jun 27, 2011 at 8:59 AM, Eric McCorkle <eric_at_shadowsun.net> wrote: > On 6/27/11 8:29 AM, Dimitry Andric wrote: >> >> On 2011-06-27 04:32, Eric McCorkle wrote: >>> >>> I've both seen reports and experienced make buildworld with clang >>> failing in usr.bin/xlint/lint1 (really, make kernel-toolchain is what >>> fails), because lint1 is statically linked, and there is a definition of >>> __isnanf in both libc and libm. GCC, on the other hand, builds just fine. >> >> ... >> >> I have never seen this failure, and neither does the clang buildbot, so >> maybe there is something in your build environment causing this problem? >> Can you please post: >> >> - Your build architecture (e.g. i386 or amd64) >> - Your /etc/make.conf and /etc/src.conf, if applicable >> - Any build-related environment variables (WITH_FOO, WITHOUT_FOO, >> CFLAGS, etc) >> > > Sorry. It's an amd64 system, 9-CURRENT, last updated on friday. > > src.conf: > LOADER_ZFS_SUPPORT="YES" > > make.conf: > CPUTYPE?=core2 > .if !defined(CC) || ${CC} == "cc" > CC=clang > CFLAGS=-Qunused-arguments > .endif > .if !defined(CXX) || ${CXX} == "c++" > CXX=clang++ > .endif > NO_WERROR= > WERROR= > NO_FSCHG= > PERL_VERSION=5.12.3 > > Just noticed, the CFLAGS would disable optimization, which would explain why > no one else seems to see this. Still, I think the underlying issue warrants > investigation. Two things are wrong here: 1. You should use CC?=, CXX?=, etc in order to properly crossbuild (as Warner pointed out to me in another thread). 2. You should use CFLAGS+=, CXXFLAGS+=, otherwise you're going to obliterate any predefined CFLAGS, CXXFLAGS, etc. My guess is that if you use += instead, things will actually work. HTH, -GarrettReceived on Tue Jun 28 2011 - 17:37:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:15 UTC