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>