http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50946
Bug #: 50946 Summary: ICE on armhf with webkitgtk+ Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: konstantinos.margari...@linaro.org Created attachment 25677 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25677 minimal testcase produced using delta tool from Source/WebCore/bindings/js/SerializedScriptValue.cpp in webkitgtk+ webkitgtk+_1.4.2-2 fails to build from source on Debian armhf due to a gcc ICE: http://buildd.debian-ports.org/status/fetch.php?pkg=webkitgtk%2B&arch=armhf&ver=1.4.2-2&stamp=1311782209 Compiler originally used was g++ 4.6.1-10 but the same ICE appears with 4.6.2-3 (current Debian/unstable): ... CXX Source/WebCore/bindings/js/libWebCore_la-SerializedScriptValue.lo In file included from ../Source/JavaScriptCore/wtf/PassRefPtr.h:25:0, from ../Source/JavaScriptCore/wtf/RefPtr.h:28, from ../Source/JavaScriptCore/wtf/HashFunctions.h:24, from ../Source/JavaScriptCore/wtf/HashTraits.h:24, from ../Source/JavaScriptCore/runtime/JSValue.h:31, from ../Source/JavaScriptCore/runtime/CachedTranscendentalFunction.h:29, from ../Source/JavaScriptCore/runtime/JSGlobalData.h:32, from ../Source/JavaScriptCore/interpreter/CallFrame.h:26, from ../Source/JavaScriptCore/runtime/ArgList.h:25, from ../Source/JavaScriptCore/runtime/JSObject.h:26, from ../Source/JavaScriptCore/runtime/JSArray.h:24, from ../Source/JavaScriptCore/runtime/JSGlobalObject.h:25, from ../Source/WebCore/bindings/js/JSDOMGlobalObject.h:30, from ../Source/WebCore/bindings/js/JSDOMBinding.h:25, from ../Source/WebCore/bindings/js/ScriptValue.h:34, from ../Source/WebCore/bindings/js/SerializedScriptValue.h:30, from ../Source/WebCore/bindings/js/SerializedScriptValue.cpp:28: ../Source/JavaScriptCore/wtf/NullPtr.h:48:1: warning: identifier 'nullptr' will become a keyword in C++0x [-Wc++0x-compat] In file included from ../Source/JavaScriptCore/runtime/JSObject.h:31:0, from ../Source/JavaScriptCore/runtime/JSArray.h:24, from ../Source/JavaScriptCore/runtime/JSGlobalObject.h:25, from ../Source/WebCore/bindings/js/JSDOMGlobalObject.h:30, from ../Source/WebCore/bindings/js/JSDOMBinding.h:25, from ../Source/WebCore/bindings/js/ScriptValue.h:34, from ../Source/WebCore/bindings/js/SerializedScriptValue.h:30, from ../Source/WebCore/bindings/js/SerializedScriptValue.cpp:28: ../Source/JavaScriptCore/runtime/JSCell.h: In member function 'void* JSC::MarkedBlock::allocate()': ../Source/JavaScriptCore/runtime/JSCell.h:380:78: warning: cast from 'char (*)[8]' to 'JSC::JSCell*' increases required alignment of target type [-Wcast-align] In file included from ../Source/JavaScriptCore/collector/handles/Handle.h:29:0, from ../Source/JavaScriptCore/collector/handles/HandleHeap.h:30, from ../Source/JavaScriptCore/runtime/Heap.h:25, from ../Source/JavaScriptCore/runtime/JSGlobalData.h:33, from ../Source/JavaScriptCore/interpreter/CallFrame.h:26, from ../Source/JavaScriptCore/runtime/ArgList.h:25, from ../Source/JavaScriptCore/runtime/JSObject.h:26, from ../Source/JavaScriptCore/runtime/JSArray.h:24, from ../Source/JavaScriptCore/runtime/JSGlobalObject.h:25, from ../Source/WebCore/bindings/js/JSDOMGlobalObject.h:30, from ../Source/WebCore/bindings/js/JSDOMBinding.h:25, from ../Source/WebCore/bindings/js/ScriptValue.h:34, from ../Source/WebCore/bindings/js/SerializedScriptValue.h:30, from ../Source/WebCore/bindings/js/SerializedScriptValue.cpp:28: ../Source/JavaScriptCore/runtime/WriteBarrier.h: In member function 'T* JSC::WriteBarrierBase<T>::get() const [with T = JSC::JSGlobalObject]': ../Source/JavaScriptCore/runtime/ScopeChain.h:76:86: instantiated from here ../Source/JavaScriptCore/runtime/WriteBarrier.h:97:56: warning: cast from 'JSC::JSCell*' to 'JSC::JSGlobalObject*' increases required alignment of target type [-Wcast-align] ../Source/JavaScriptCore/runtime/WriteBarrier.h: In member function 'T* JSC::WriteBarrierBase<T>::get() const [with T = JSC::ObjectPrototype]': ../Source/JavaScriptCore/runtime/JSGlobalObject.h:185:81: instantiated from here ../Source/JavaScriptCore/runtime/WriteBarrier.h:97:56: warning: cast from 'JSC::JSCell*' to 'JSC::ObjectPrototype*' increases required alignment of target type [-Wcast-align] ../Source/JavaScriptCore/runtime/WriteBarrier.h: In member function 'T* JSC::WriteBarrierBase<T>::get() const [with T = JSC::StringPrototype]': ../Source/JavaScriptCore/runtime/JSGlobalObject.h:189:81: instantiated from here ../Source/JavaScriptCore/runtime/WriteBarrier.h:97:56: warning: cast from 'JSC::JSCell*' to 'JSC::StringPrototype*' increases required alignment of target type [-Wcast-align] ../Source/JavaScriptCore/runtime/WriteBarrier.h: In member function 'T* JSC::WriteBarrierBase<T>::get() const [with T = JSC::NumberPrototype]': ../Source/JavaScriptCore/runtime/JSGlobalObject.h:190:81: instantiated from here ../Source/JavaScriptCore/runtime/WriteBarrier.h:97:56: warning: cast from 'JSC::JSCell*' to 'JSC::NumberPrototype*' increases required alignment of target type [-Wcast-align] In file included from ../Source/JavaScriptCore/collector/handles/HandleHeap.h:30:0, from ../Source/JavaScriptCore/runtime/Heap.h:25, from ../Source/JavaScriptCore/runtime/JSGlobalData.h:33, from ../Source/JavaScriptCore/interpreter/CallFrame.h:26, from ../Source/JavaScriptCore/runtime/ArgList.h:25, from ../Source/JavaScriptCore/runtime/JSObject.h:26, from ../Source/JavaScriptCore/runtime/JSArray.h:24, from ../Source/JavaScriptCore/runtime/JSGlobalObject.h:25, from ../Source/WebCore/bindings/js/JSDOMGlobalObject.h:30, from ../Source/WebCore/bindings/js/JSDOMBinding.h:25, from ../Source/WebCore/bindings/js/ScriptValue.h:34, from ../Source/WebCore/bindings/js/SerializedScriptValue.h:30, from ../Source/WebCore/bindings/js/SerializedScriptValue.cpp:28: ../Source/JavaScriptCore/collector/handles/Handle.h: In static member function 'static T* JSC::HandleTypes<T>::getFromSlot(JSC::HandleSlot) [with T = WebCore::DOMObject, JSC::HandleTypes<T>::ExternalType = WebCore::DOMObject*, JSC::HandleSlot = JSC::JSValue*]': ../Source/JavaScriptCore/runtime/WeakGCPtr.h:59:74: instantiated from 'JSC::WeakGCPtr<T>::ExternalType JSC::WeakGCPtr<T>::get() const [with T = WebCore::DOMObject, JSC::WeakGCPtr<T>::ExternalType = WebCore::DOMObject*]' ../Source/WebCore/bindings/js/ScriptWrappable.h:47:30: instantiated from here ../Source/JavaScriptCore/collector/handles/Handle.h:94:130: warning: cast from 'JSC::JSCell*' to 'JSC::HandleTypes<WebCore::DOMObject>::ExternalType {aka WebCore::DOMObject*}' increases required alignment of target type [-Wcast-align] ../Source/WebCore/bindings/js/SerializedScriptValue.cpp: In member function 'void WebCore::CloneSerializer::write(double)': ../Source/WebCore/bindings/js/SerializedScriptValue.cpp:499:5: internal compiler error: in simplify_gen_subreg_concatn, at lower-subreg.c:489 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions. I used the delta package to produce a minimal testcase for the ICE which I attach. You can reproduce the ICE with g++ -O2 -fpermissive -Wfatal-errors -w webkit_testcase-min.i. The bug has also been reported to the Debian BTS: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641849 Thanks Konstantinos