Date: Fri, 28 Oct 2011 16:41:50 +0200 From: Dominic Fandrey <kamikaze@bsdforen.de> To: Dimitry Andric <dim@FreeBSD.org> Cc: freebsd-current@freebsd.org Subject: Re: 9.0 RC1 linking problem with i386 libs on amd64 Message-ID: <4EAABF2E.3030709@bsdforen.de> In-Reply-To: <4EA81B90.60501@FreeBSD.org> References: <4EA80BD3.7000202@bsdforen.de> <4EA81B90.60501@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 26/10/2011 16:39, Dimitry Andric wrote:
> On 2011-10-26 15:32, Dominic Fandrey wrote:
>> I haven't tried to dig into this. Only "unusual" properties of the system
>> are my non-default MAKEOBJDIRPREFIX and the use of ccache.
>>
>> # uname -a
>> FreeBSD AryaStark.norad 9.0-RC1 FreeBSD 9.0-RC1 #0: Wed Oct 26 13:46:13 CEST 2011 root@AryaStark.norad:/usr/obj/GENERIC/amd64/usr/src/sys/GENERIC amd64
>>
>> # make -VCC -VCPUTYPE -VCFLAGS
>> /usr/local/bin/ccache clang
>> athlon64-sse3
>> -O2 -pipe -march=athlon64-sse3
>
> How are you setting CC and/or CFLAGS, precisely? Depending on how you
> do it, the settings might not be propagated correctly to the build32
> stage.
Like that:
.if ${.CURDIR:M/usr/src} || ${.CURDIR:M/usr/src/*}
CC=clang
CXX=clang++
CPP=clang-cpp
NO_WERROR=
WERROR=
.endif
I had hoped that the .ifdef construction from the wiki was dated. I
suppose it's emulating setting CC in the environment instead of in
the make/src.conf.
> Also, if you force CFLAGS to have -march=athlon64-sse3, I'm not
> sure if the build32 stage can even work correctly. Just specify
> CPUTYPE, that should be enough.
That's what I do. I don't touch CFLAGS.
> In any case, you can try out the attached patch, which should take care
> of passing CC to the build32 stage correctly.
I tried CC?=, but that doesn't work, because apparently make always
initializes CC before parsing makefiles. I figure that means the
!defined(CC) clause in the .ifdef construction is never true and thus
obsolete.
I didn't try it, though. Your patch works for me.
> I would really like to have this in head, and even stable/9. It makes
> it possible to just set CC in make.conf, without .ifdef trickery. Works
> nicely for clang, too. :)
Seconded!
--
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EAABF2E.3030709>
