Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Feb 2013 04:02:42 +0000
From:      "b.f." <bf1783@googlemail.com>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        freebsd-current@freebsd.org, Anton Shterenlikht <mexas@bristol.ac.uk>
Subject:   Re: 7+ days of dogfood
Message-ID:  <CAGFTUwPR8o=wn9ogCLkwVmsFmeGGs6akjaM51GSxHO8k2%2Bfmfg@mail.gmail.com>
In-Reply-To: <20130213033933.GA89757@troutmask.apl.washington.edu>
References:  <CAGFTUwN3Rrq-S_7uwZ%2B5MkbG1O7k59JK%2Bv-2qFoQ%2BofkMjyUEg@mail.gmail.com> <20130213014734.GA89321@troutmask.apl.washington.edu> <CAGFTUwOvZ3CcZzYaxgDr6yb6AoDAPvqvs3vqh0_EjS6jFx-kbA@mail.gmail.com> <20130213033933.GA89757@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/13/13, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
> On Wed, Feb 13, 2013 at 02:15:08AM +0000, b.f. wrote:
>> On 2/13/13, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
>> > On Wed, Feb 13, 2013 at 12:18:29AM +0000, b.f. wrote:
>> >> ># cat /etc/make.conf|grep FFLAGS
>> >> >FFLAGS = -O2 -pipe -march=native -mtune=native
>> >>
>> >> Please do _not_ assign flags unconditionally in make.conf.
>> >
>> > FFLAGS is for compiling Fortran.  I'm one of the people who
>> > has spent years working/patching gfortran.  I think I might
>> > have a better understanding of what options to use with
>> > gfortran than most people.
>> >
>>
>> I know you have, but you are giving advice that is liable to be abused
>> by those who are less experienced.  The flags you are adding are not
>> the problem -- it's the way that you are adding them -- specifically,
>> the assignment in the first line of your snippet, if it's applied
>> unconditionally.  You should either be appending all of them, or
>> assigning them conditionally, so that they are sure to be assigned
>> only once, or -- preferably -- using another makefile that can't be
>> re-read multiple times during a build (ports/Mk/bsd.port.mk
>> automatically includes several makefiles that can be used for this
>> purpose, if you are building a port). You have been lucky not to trip
>> over this: every couple of months for the last several years I have
>> had to debug errors reported by users that arise from this problem. It
>> is more common with CFLAGS and CXXFLAGS but it can happen with FFLAGS,
>> too.
>
> Try 'find /usr/ports -name Makefile -maxdepth 3 | xargs grep FFLAGS'
> Then go read about the options chosen by the various port maintainers.
> I specifically set FFLAGS to avoid the questionable options set in
> the ports.  If -malign-double appears in a port, it should probably
> be marked as broken.  If a port uses -fdefault-real-8, it should probably
> be marked as broken.  If a port uses -ffast-math, it may have issues that
> are extremely difficult to debug.

Okay, so you are doing this advisedly for some specific subset of
ports, and have the knowledge to debug problems that may arise --
others don't.  Undoubtedly some of these additions are suboptimal or
unnecessary -- and I'm sure we'd welcome patches or suggestions to
improve them --  but there are also important additions like the rpath
flags in $PORTSDIR/Mk/bsd.gcc.mk or mangling and PIC directives.  And
not all of the additions are in the ports tree makefiles or
patchfiles: many software distribution makefiles also make additions
that can be clobbered by abusing make.conf.

b.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGFTUwPR8o=wn9ogCLkwVmsFmeGGs6akjaM51GSxHO8k2%2Bfmfg>