Date: Tue, 31 May 2011 14:39:14 +0000 From: Alexander Best <arundel@freebsd.org> To: Garrett Cooper <yanegomi@gmail.com> 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: <20110531143914.GA30260@freebsd.org> In-Reply-To: <24ADBA34-A5FC-4A67-8D6F-3BDAE158285C@gmail.com> References: <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> <24ADBA34-A5FC-4A67-8D6F-3BDAE158285C@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue May 31 11, Garrett Cooper wrote: > 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 that > >>>>> anything greater than -O will in fact decrease a kernel's ability to be > >>>>> debugged just as well as a kernel with -O. > >>>> The critical option when -O2 is used is -fno-omit-frame-pointers, since > >>>> removing > >>>> frame pointers makes debugging impossible (on i386). With -O2 code is > >>>> 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-aliasing > >>> as > >>> standard COPTFLAGS with debugging enabled for *all* archs? > >> > >> Most likely, the performance gain from -O2 is rather small, except for > >> special cases, but the pain during debugging is increased a great deal. > >> > >> 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. > > > > *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 around code on amd64 with -O2 -fno-strict-aliasing, so I changed my make.conf to use -O0 when DEBUG_FLAGS was defined. ...which leads me to the conclusion that -O should be set when DEBUG was defined: an all ARCHS. right now -fno-omit-frame-pointer is only set on amd64 and powerpc, if the kernel contains DDB, KDTRACE_FRAME or HWPMC. how about this behavior? shouldn't -fno-omit-frame-pointer be set uncondtitionally on all archs? just like -fno-strict-aliasing? cheers. alex > Thanks, > -Garrett -- a13x
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110531143914.GA30260>