lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] ICE with '-fno-omit-frame-pointer', 64-bit msw


From: Vadim Zeitlin
Subject: Re: [lmi] ICE with '-fno-omit-frame-pointer', 64-bit msw
Date: Thu, 10 Dec 2020 18:06:36 +0100

On Thu, 10 Dec 2020 13:26:50 +0000 Greg Chicares <gchicares@sbcglobal.net> 
wrote:

GC> On 3/23/19 4:35 PM, Vadim Zeitlin wrote:
GC> > On Sat, 23 Mar 2019 16:15:36 +0000 Greg Chicares 
<gchicares@sbcglobal.net> wrote:
GC> > 
GC> > GC> We've been using '-fno-omit-frame-pointer' since 2016. However, we
GC> > GC> may have to inhibit it for x86_64-w64-mingw32-gcc version 8.2.0
GC> > GC> due to a compiler defect:
GC> > 
GC> >  This is unfortunate, but IME we don't use stack traces generated by
GC> > production binaries much anyhow, so it's probably not that important.
GC> 
GC> It is, however, recommended to use '-fno-omit-frame-pointer' with 'perf':

 I'm sure that you've already thought of it, but we could also use it only
for Linux, as the original compiler bug only affected MinGW, IIRC.

GC> > GC> This gcc-8.1 defect report:
GC> > GC>   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86593
GC> > GC> seems to be relevant, although the diagnostic I see refers to a
GC> > GC> different line in 'based_loc_descr'.
GC> > 
GC> >  But it also looks to be triggered by very similar code, so it seems to be
GC> > almost certain to be the same bug. Perhaps it will be backported to 8.x
GC> > branch by the time of the next release, but in any case it will certainly
GC> > be fixed in gcc 9 which shouldn't be too far away.
GC> 
GC> I haven't tried gcc-9 (which we don't plan to use in production
GC> anyway), but with gcc-10 it does seem to be fixed--the testcase
GC> from my original post, updated thus:
GC> 
GC> x86_64-w64-mingw32-g++ -c -DBOOST_NO_AUTO_PTR -I /opt/lmi/src/lmi -I 
/opt/lmi/third_party/include -I /opt/lmi/local/include -I 
/opt/lmi/x86_64-w64-mingw32/local/include -std=c++17 -Werror -ggdb -O2 
-fno-omit-frame-pointer /opt/lmi/src/lmi/accountvalue.cpp -oaccountvalue.o 2>&1 
|less -S
GC> 
GC> succeeds with gcc-10, but fails with gcc-8.

 This is not really surprising, considering the comments in the bug report
linked above, but it's good to have a confirmation, of course, thank you.

GC> Accordingly, I'll restrict the '-fomit-frame-pointer' workaround to
GC> x86_64-w64-mingw32-gcc-8.x only, so that it doesn't propagate
GC> to gcc-10 builds when we upgrade the compiler (very soon).

 Great, thanks again!
VZ

Attachment: pgpQPmMomi2L3.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]