> On 07 Jun 2017, at 11:41, Willy Tarreau <[email protected]> wrote: > > 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.
I see. > >> 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. > Yes, that is what I was talking about. I'll stick to that approach then. Thanks!

