[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
pgpQPmMomi2L3.pgp
Description: PGP signature