clang makes segfaulting code with -march=core2 on i386
Andrey Chernov
ache at freebsd.org
Tue Sep 16 06:54:08 UTC 2014
On 15.09.2014 22:00, Dimitry Andric wrote:
> On 14 Sep 2014, at 19:27, Dimitry Andric <dim at FreeBSD.org> wrote:
> ...
>> In any case, I have now narrowed it down to gcc/tree.c, which is not a
>> very small file, and which is changed very often upstream, sometimes
>> almost daily.
>>
>> So I will see if I can reproduce it with gcc trunk first, and if that
>> turns out to be good, I will bisect to find the commit that fixes it.
>>
>> If trunk is also not good, the rabbit hole goes a bit deeper...
Probably it have sense to track down and look at first post-4.7 gcc/tree.c change which cause fail (gcc47 works with BOOTSTRAP=off).
> And deeper it goes: gcc trunk does not crash, *unless* I change the file
> gcc/DEV-PHASE to contain the string "prerelease" instead of the default
> "experimental". Then gcc trunk crashes in an identical fashion to the
> gcc 4.8 branch, or gcc 4.8.2 release!
Just FYI, gcc49 4.9.2.s20140910 faults the same way but on different file in the same directory:
/usr/ports/lang/gcc49/work/build/./gcc/xgcc -shared-libgcc -B/usr/ports/lang/gcc49/work/build/./gcc -nostdinc++ -L/usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/src -L/usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/src/.libs -L/usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/libsupc++/.libs -B/usr/local/i386-portbld-freebsd10.1/bin/ -B/usr/local/i386-portbld-freebsd10.1/lib/ -isystem /usr/local/i386-portbld-freebsd10.1/include -isystem /usr/local/i386-portbld-freebsd10.1/sys-include -x c++-header -nostdinc++ -g -O2 -pipe -march=core2 -DLIBICONV_PLUG -fno-strict-aliasing -DLIBICONV_PLUG -I/usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/include/i386-portbld-freebsd10.1 -I/usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/include -I/usr/ports/lang/gcc49/work/gcc-4.9-20140910/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /usr/ports/lang/gcc49/work/gcc-4.9-20140910/libstdc++-
v3/include/precompiled/stdc++.h \
-o i386-portbld-freebsd10.1/bits/stdc++.h.gch/O2ggnu++0x.gch
In file included from /usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/include/unordered_set:48:0,
from /usr/ports/lang/gcc49/work/gcc-4.9-20140910/libstdc++-v3/include/precompiled/stdc++.h:116:
/usr/ports/lang/gcc49/work/build/i386-portbld-freebsd10.1/libstdc++-v3/include/bits/unordered_set.h:1354:1: internal compiler error: Segmentation fault
} // namespace std
^
no stack trace because unwind library not available
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
gmake[6]: *** [i386-portbld-freebsd10.1/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1
> Anybody have an idea what kind of magic in gcc is changed, when this
> DEV-PHASE file is altered? Some debug code or internal assertion
> checking might be turned on or off?
Either try to grep the file or string space simple shifted by several bytes.
--
http://ache.vniz.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20140916/b641b203/attachment.sig>
More information about the freebsd-toolchain
mailing list