[oe] libvpx causing gcc ICE when building for qemux86-64

Martin Jansa martin.jansa at gmail.com
Thu Jan 5 10:10:23 UTC 2012


On Mon, Nov 21, 2011 at 09:30:39PM +0100, Martin Jansa wrote:
> On Fri, Nov 04, 2011 at 03:20:28PM +0100, Martin Jansa wrote:
> > On Fri, Nov 04, 2011 at 03:18:06PM +0100, Martin Jansa wrote:
> > > Hi, with latest gcc-4.6 from meta-oe I get this ICE:
> > > 
> > > OE @ ~/shr-core/tmp/work/x86_64-oe-linux/libvpx-0.9.5-r0.0/libvpx-v0.9.5 $ x86_64-oe-linux-gcc    -m64 --sysroot=/OE/shr-core/tmp/sysroots/qemux86-64 -O2 -pipe -g -feliminate-unused-debug-types -fPIC -O3 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wno-unused -I. -I"/OE/shr-core/tmp/work/x86_64-oe-linux/libvpx-0.9.5-r0.0/libvpx-v0.9.5" -I/OE/shr-core/tmp/work/x86_64-oe-linux/libvpx-0.9.5-r0.0/libvpx-v0.9.5/vp8 -I/OE/shr-core/tmp/work/x86_64-oe-linux/libvpx-0.9.5-r0.0/libvpx-v0.9.5/vp8 -c -o md5_utils.c.o md5_utils.c
> > > md5_utils.c: In function 'byteSwap':
> > > md5_utils.c:30:1: internal compiler error: Segmentation fault
> > > Please submit a full bug report,
> > > with preprocessed source if appropriate.
> > > See <http://gcc.gnu.org/bugs.html> for instructions.
> > 
> > And dropping -O3 is enough to make it compile again.
> 
> FWIW: Just tested with newer gcc from oe-core and the problem is still there.
> 
> Regards,

Another case is in qt4-x11-free-4.8

OE @ ~/shr-core/tmp-eglibc/work/x86_64-oe-linux/qt4-x11-free-4.8.0-r36.0/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/JavaScriptCore $ echo compiling wtf/MD5.cpp && x86_64-oe-linux-g++ -m64 --sysroot=/OE/shr-core/tmp-egl
ibc/sysroots/qemux86-64 -c -O2 -pipe -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/freetype2 -W
all -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O3 -pthread -fPIC
-fPIC -fPIC -D_REENTRANT -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DQT_ASCII_CAST_WARNINGS -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_GLIB_SUPPORT=1 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -DQT_SHARED -I../../../../../mkspecs/linux-g++ -I. -I../../../../../include/QtCore -I../../../../../include -I. -I../../Source -I../ThirdParty -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Iinterpreter -Ijit -Iparser -Iprofiler -Iruntime -Iwtf -Iwtf/gobject -I/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/qt4-x11-free-
4.8.0-r36.0/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/JavaScriptCore/wtf/symbian -Iwtf/unicode -Iyarr -IAPI -IForwardingHeaders -Igenerated -I../../Source -I../../include -I/include/QtWebKit -I/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -I.moc/release-static -o .obj/release-static/MD5.o wtf/MD5.cpp
+ echo compiling wtf/MD5.cpp
compiling wtf/MD5.cpp
+ x86_64-oe-linux-g++ -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -c -O2 -pipe -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/freetype2 -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O3 -pthread -fPIC -fPIC -fPIC -D_REENTRANT -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DQT_ASCII_CAST_WARNINGS -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_GLIB_SUPPORT=1 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -DQT_SHARED -I../../../../../mkspecs/linux-g++ -I. -I../../../../../include/QtCore -I../../../../../include -I. -I../../Source -I../ThirdParty -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Iinterpreter -Ijit -Iparser -Iprofiler -Iruntime -Iwtf -Iwtf/gobject -I/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/qt4-x11-free-4.8.0-r36.0/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/JavaScriptCore/wtf/symbian -Iwtf/unicode -Iyarr -IAPI -IForwardingHeaders -Igenerated -I../../Source -I../../include -I/include/QtWebKit -I/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -I.moc/release-static -o .obj/release-static/MD5.o wtf/MD5.cpp
In file included from ./wtf/OwnPtr.h:25:0,
                 from ./wtf/VectorTraits.h:24,
                 from ./wtf/Vector.h:29,
                 from wtf/MD5.h:34,
                 from wtf/MD5.cpp:50:
./wtf/NullPtr.h:48:1: warning: identifier 'nullptr' will become a keyword in C++0x [-Wc++0x-compat]
wtf/MD5.cpp: In member function 'void WTF::MD5::addBytes(const uint8_t*, size_t)':
wtf/MD5.cpp:218:6: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The same qt4-x11-free-4.8 compiles fine with oe-core only, so I suspect that one of those extra linaro patches in meta-oe's gcc-4.6 is causing this.

Preprocessed source is here: http://build.shr-project.org/tests/jama/gcc-issue/MD5.o.E

Passing -fno-tree-vectorize can be used as work around again (like with libvpx/libav/mplayer2).

OE @ ~/shr-core/tmp-eglibc/work/x86_64-oe-linux/qt4-x11-free-4.8.0-r36.0/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/JavaScriptCore $ echo compiling wtf/MD5.cpp && x86_64-oe-linux-g++ -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -c -O2 -pipe -feliminate-unused-debug-types -fno-tree-vectorize -fpermissive -fvisibility-inlines-hidden -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/freetype2 -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O3 -pthread -fPIC -fPIC -fPIC -D_REENTRANT -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DQT_ASCII_CAST_WARNINGS -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_GLIB_SUPPORT=1 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -DQT_SHARED -I../../../../../mkspecs/linux-g++ -I. -I../../../../../include/QtCore -I../../../../../include -I. -I../../Source -I../ThirdParty -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Iinterpreter -Ijit -Iparser -Iprofiler -Iruntime -Iwtf -Iwtf/gobject -I/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/qt4-x11-free-4.8.0-r36.0/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/JavaScriptCore/wtf/symbian -Iwtf/unicode -Iyarr -IAPI -IForwardingHeaders -Igenerated -I../../Source -I../../include -I/include/QtWebKit -I/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -I.moc/release-static -o .obj/release-static/MD5.o wtf/MD5.cpp
+ echo compiling wtf/MD5.cpp
compiling wtf/MD5.cpp
+ x86_64-oe-linux-g++ -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -c -O2 -pipe -feliminate-unused-debug-types -fno-tree-vectorize -fpermissive -fvisibility-inlines-hidden -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/freetype2 -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O3 -pthread -fPIC -fPIC -fPIC -D_REENTRANT -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DQT_ASCII_CAST_WARNINGS -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_GLIB_SUPPORT=1 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -DQT_SHARED -I../../../../../mkspecs/linux-g++ -I. -I../../../../../include/QtCore -I../../../../../include -I. -I../../Source -I../ThirdParty -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Iinterpreter -Ijit -Iparser -Iprofiler -Iruntime -Iwtf -Iwtf/gobject -I/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/qt4-x11-free-4.8.0-r36.0/qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/JavaScriptCore/wtf/symbian -Iwtf/unicode -Iyarr -IAPI -IForwardingHeaders -Igenerated -I../../Source -I../../include -I/include/QtWebKit -I/include -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -I.moc/release-static -o .obj/release-static/MD5.o wtf/MD5.cpp
In file included from ./wtf/OwnPtr.h:25:0,
                 from ./wtf/VectorTraits.h:24,
                 from ./wtf/Vector.h:29,
                 from wtf/MD5.h:34,
                 from wtf/MD5.cpp:50:
./wtf/NullPtr.h:48:1: warning: identifier 'nullptr' will become a keyword in C++0x [-Wc++0x-compat]

Cheers,
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20120105/8e2f115c/attachment-0002.sig>


More information about the Openembedded-devel mailing list