Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: toolchain flags in mk.conf [was Re: evbppc and alpha build breakage]



On Wed, Mar 20, 2013 at 20:09:26 +0000, Taylor R Campbell wrote:

>    Date: Wed, 20 Mar 2013 15:06:59 -0400
>    From: Thor Lancelot Simon <tls%panix.com@localhost>
> 
>    On Wed, Mar 20, 2013 at 03:21:10PM +0000, Taylor R Campbell wrote:
>    >    CFLAGS+=      -pipe
>    >    AFLAGS+=      -pipe
> 
>    Explicitly setting CFLAGS, AFLAGS, etc. like this will cause severe
>    misbehavior.  It overrides the composition of the flags at many
>    different points within the build and will cause unobvious lossage
>    that is hard to debug even when it does not cause an immediate
>    build-time explosion.  Don't ever do it.
> 
> So I learned!  But, for the sake of curiosity -- is there a right way
> to use mk.conf or `build.sh -V' to insert `-pipe' or similar into the
> toolchain?  There are umpteen zillion variables involved, and
> share/mk/bsd.README isn't clear on who is supposed to set what.
> 
> My rough impression is that
> 
> - *FLAGS are to be set only by bsd.*.mk,
> - *OPTS are to be set only by the Makefile, and
> - there is nothing relevant that is allowed to be set by mk.conf.
> 
> Is this accurate?

Except that COPTS has been broken for kernel builds since ~forever.  I
tried to raise this issue a couple of times, but without any success.

sys/conf/Makefile.kern.inc has:

DEFCOPTS?=      -O2
COPTS?=         ${DEFCOPTS}
DBG=            # might contain unwanted -Ofoo

which screws you up when you set COPTS to anything and lose that -O2.
I think port-sparc used to have a question about that every quarter,
since dropped -O2 would blow up boot loaders beyond OBP limits.

-uwe


Home | Main Index | Thread Index | Old Index