[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] Treacherous gcc-10 defect
From: |
Vadim Zeitlin |
Subject: |
Re: [lmi] Treacherous gcc-10 defect |
Date: |
Mon, 1 Mar 2021 12:56:52 +0100 |
On Sat, 19 Dec 2020 20:46:20 +0000 Greg Chicares <gchicares@sbcglobal.net>
wrote:
GC> On 12/19/20 7:37 PM, Vadim Zeitlin wrote:
GC> [...]
GC> > On Thu, 10 Dec 2020 23:14:10 +0000 Greg Chicares
<gchicares@sbcglobal.net> wrote:
GC> >
GC> > GC> On 12/10/20 1:26 PM, Greg Chicares wrote:
GC> > GC> [...a certain '-fno-omit-frame-pointer' testcase...]
GC> > GC> > succeeds with gcc-10, but fails with gcc-8. Accordingly, I'll
GC> > GC> > restrict the '-fomit-frame-pointer' workaround to
GC> > GC> > x86_64-w64-mingw32-gcc-8.x only, so that it doesn't propagate
GC> > GC> > to gcc-10 builds when we upgrade the compiler (very soon).
GC> > GC>
GC> > GC> TL;DR: x86_64-w64-mingw32 gcc-10 seems to need '-fomit-frame-pointer'.
GC> >
GC> > This looks extraordinarily bad. I couldn't find any existing bug for this
GC> > in gcc bugzilla, do you think it would be worth spending time on providing
GC> > the minimal reproducible test case and reporting it?
GC>
GC> Yes--provided, of course, that it's not too difficult.
Bad news is that it was quite difficult (and now I more or less understand
why but, of course, I couldn't know this earlier when trying to reproduce
it) and so it did take quite some time. Good news is that not only we've
managed to produce a reasonable test case for it, but that the bug has just
been fixed in gcc, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99234
which contains references to the commits in gcc-9, gcc-10 and master (i.e.
upcoming gcc 11) branches and so we should be able to use -fno-omit-fp
again with the next gcc 10 release and/or any gcc 11 version.
GC> This does seem to be a serious compiler defect, which greatly
GC> resembles one that they believe they've just recently fixed.
It turns out that this was a completely different and, arguably, more
serious problem, with setup of SEH frames. But this bug was difficult to
see in practice because it could be hidden by a number of different and
superficially unrelated things.
To conclude, the problem is fixed now, and even though I wish we could
have spent less time on it, at least this time wasn't wasted and resulted
in gcc improvement.
Best regards,
VZ
pgp6Q59RB89Ab.pgp
Description: PGP signature
- Re: [lmi] Treacherous gcc-10 defect,
Vadim Zeitlin <=