Hi Dmitry,

On Sun, Jun 04, 2017 at 02:54:23PM +0300, Dmitry Sivachenko wrote:
> > Same here, and it's important not to create confusion on the way
> > CFLAGS are computed.
> > 
> > By the way, usually if I need to add some specific flags (eg #define),
> > I do it via DEFINE or SMALL_OPTS. If I want to change the optimization
> > options, I use CPU_CFLAGS or CPU_CFLAGS.<target_name>.
> > 
> > So maybe you already have what you need and only the documentation needs
> > to be improved.
> > 
> 
> FreeBSD ports collection has a rule for CFLAGS customisation: ports framework
> sets CFLAGS environment and expects it to be used during compilation.
> 
> Usually people use it to specify different -On options and other
> optimisations they want.
> 
> So strictly speaking it is not CPU-specific, but rather environment-specific.

I agree on the general principle, it just happens that for a very long time
I've had to deal with broken compilers on various CPUs that were producing
bogus code at certain optimization levels, which is what made the optimization
level end up in the CPU-specific CFLAGS. Good memories are gcc 3.0.4 on PARISC
and pgcc on i586.

While things have significantly evolved since then, there are still certain
flags which directly affect optimization and which have a different behaviour
on various architectures (-mcpu, -mtune, -march, -mregparm). Given that in
general you want to change them when you change the optimization level
(typically to produce debuggable code), I tend to think it continues to make
sense to have all of them grouped together.

> So exactly what comment near CFLAGS is about: "".
> Right now I see only -O2 in CPU_CFLAGS, so it can be used for that purpose.
> 
> If the consensus will be to use CPU_CFLAGS for my purpose, it's OK, I will
> switch to it.

If that's OK for you, I indeed would rather avoid touching that sensitive area,
though we can always extend it but I prefer the principle of least surprize.
You can probably just do run make "CPU_CFLAGS=$CFLAGS" and achieve exactly what
you want.

Cheers,
Willy

Reply via email to