Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 May 2011 06:01:55 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Alexander Best <arundel@freebsd.org>
Cc:        "freebsd-hackers@FreeBSD.ORG" <freebsd-hackers@FreeBSD.ORG>, "freebsd-toolchain@FreeBSD.ORG" <freebsd-toolchain@FreeBSD.ORG>, Dimitry Andric <dim@FreeBSD.org>, Pan Tsu <inyaoo@gmail.com>
Subject:   Re: [rfc] a few kern.mk and bsd.sys.mk related changes
Message-ID:  <24ADBA34-A5FC-4A67-8D6F-3BDAE158285C@gmail.com>
In-Reply-To: <20110531104639.GA4218@freebsd.org>
References:  <20110527115147.GA73802@freebsd.org> <3BF63174-1B29-4A4D-96DD-3ED65ED96EAC@bsdimp.com> <20110527181459.GA29908@freebsd.org> <20110527182906.GA31871@freebsd.org> <86oc2mlsey.fsf@gmail.com> <20110528182326.GA75447@freebsd.org> <20110528202619.GA27204@muon.cran.org.uk> <20110531095742.GA99888@freebsd.org> <4DE4C4CC.4020905@FreeBSD.org> <20110531104639.GA4218@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On May 31, 2011, at 3:46 AM, Alexander Best <arundel@freebsd.org> wrote:

> On Tue May 31 11, Dimitry Andric wrote:
>> On 2011-05-31 11:57, Alexander Best wrote:
>> ...
>>>>> however i've often read messages - mostly by bruce evans - claiming th=
at
>>>>> anything greater than -O will in fact decrease a kernel's ability to b=
e
>>>>> debugged just as well as a kernel with -O.
>>>> The critical option when -O2 is used is -fno-omit-frame-pointers, since=
=20
>>>> removing
>>>> frame pointers makes debugging impossible (on i386). With -O2 code is=20=

>>>> moved around and
>>>> removed, so debugging is more difficult, but can still provide useful
>>>> information.
>>> any reason we cannot use -O2 -fno-omit-frame-pointers -fno-strict-aliasi=
ng=20
>>> as
>>> standard COPTFLAGS with debugging enabled for *all* archs?
>>=20
>> Most likely, the performance gain from -O2 is rather small, except for
>> special cases, but the pain during debugging is increased a great deal.
>>=20
>> Even if you add frame pointers, with -O2 large pieces of code can be
>> transformed, variables or even entire functions can be completely
>> eliminated, and so on, making debugging much more difficult.
>=20
> *lol* we're moving in circles. so back to the beginning: why not use -O
> for all archs, if debugging was enabled? for amd64 -O2 is always set, no
> matter, if debugging is enabled or disabled.

I don't know, but I've run into cases where gcc has inlined or shuffled arou=
nd code on amd64 with -O2 -fno-strict-aliasing, so I changed my make.conf to=
 use -O0 when DEBUG_FLAGS was defined.
Thanks,
-Garrett=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?24ADBA34-A5FC-4A67-8D6F-3BDAE158285C>