Created attachment 569641 [details] preprocessed source Description of problem: QT builds on PPC (32bit) abort with an internal compiler error. I'll attach preprocessed sources. Version-Release number of selected component (if applicable): gcc-4.7.0-0.19.fc17.ppc How reproducible: always Steps to Reproduce: 1. in a chroot with the latest f17 ppc packages, run g++ -c -pipe -Wall -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 -fno-stack-protector -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -fPIC -DQT_SHARED -DJSC=QTJSC -Djscyyparse=qtjscyyparse -Djscyylex=qtjscyylex -Djscyyerror=qtjscyyerror -DWTF=QTWTF -DQT_BUILD_SCRIPT_LIB -DQT_NO_USING_NAMESPACE -DQLALR_NO_QSCRIPTGRAMMAR_DEBUG_INFO -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DBUILDING_QT__=1 -DWTF_USE_ACCELERATED_COMPOSITING -DNDEBUG -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DNDEBUG -DJS_NO_EXPORT -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -o JSGlobalData.o ICE.i 2. 3. Actual results: ICE Expected results: Additional info:
We get a SEGV for trying to dereference a null pointer. I'm seeing this on FSF trunk, so we should probably open a FSF bugzilla too. I'll check whether we SEGV on FSF 4.7 branch too. I'm guess we do. Program received signal SIGSEGV, Segmentation fault. 0x00000000106b6d08 in cgraph_only_called_directly_or_aliased_p (node=0x0) at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraph.h:935 935 gcc_assert (!node->global.inlined_to); (gdb) bt #0 0x00000000106b6d08 in cgraph_only_called_directly_or_aliased_p (node=0x0) at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraph.h:935 #1 0x00000000106c2744 in cgraph_not_only_called_directly_p_1 (node=0x0, data=0x0) at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraph.c:3014 #2 0x00000000106c0b8c in cgraph_for_node_and_aliases (node=0x0, callback=@0x119dd758: 0x106c2720 <cgraph_not_only_called_directly_p_1>, data=0x0, include_overwritable=1 '\001') at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraph.c:2612 #3 0x00000000106c27e4 in cgraph_only_called_directly_p (node=0x0) at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraph.c:3026 #4 0x000000001117b464 in call_ABI_of_interest (fndecl=0xfffa3189c00) at /home/bergner/gcc/gcc-mainline-debug/gcc/config/rs6000/rs6000.c:7455 #5 0x000000001117b918 in init_cumulative_args (cum=0xfffffffc6b8, fntype=0xfffab130540, libname=0x0, incoming=0, libcall=0, n_named_args=2, fndecl=0xfffa3189c00, return_mode=VOIDmode) at /home/bergner/gcc/gcc-mainline-debug/gcc/config/rs6000/rs6000.c:7518 #6 0x000000001065b318 in expand_call (exp=0xfffa4a46fc0, target=0x0, ignore=1) at /home/bergner/gcc/gcc-mainline-debug/gcc/calls.c:2475 #7 0x0000000010828f3c in expand_expr_real_1 (exp=0xfffa4a46fc0, target=0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at /home/bergner/gcc/gcc-mainline-debug/gcc/expr.c:10022 #8 0x00000000106808ac in expand_call_stmt (stmt=0xfffa3472200) at /home/bergner/gcc/gcc-mainline-debug/gcc/cfgexpand.c:2077 #9 0x0000000010680a7c in expand_gimple_stmt_1 (stmt=0xfffa3472200) at /home/bergner/gcc/gcc-mainline-debug/gcc/cfgexpand.c:2116 #10 0x0000000010681378 in expand_gimple_stmt (stmt=0xfffa3472200) at /home/bergner/gcc/gcc-mainline-debug/gcc/cfgexpand.c:2268 #11 0x000000001068c648 in expand_gimple_basic_block (bb=0xfffa49d50d8) at /home/bergner/gcc/gcc-mainline-debug/gcc/cfgexpand.c:4017 #12 0x000000001068ed90 in gimple_expand_cfg () at /home/bergner/gcc/gcc-mainline-debug/gcc/cfgexpand.c:4527 #13 0x0000000010b856ac in execute_one_pass (pass=0x119b2448) at /home/bergner/gcc/gcc-mainline-debug/gcc/passes.c:2084 #14 0x0000000010b859b4 in execute_pass_list (pass=0x119b2448) at /home/bergner/gcc/gcc-mainline-debug/gcc/passes.c:2139 #15 0x0000000010ddf2c8 in tree_rest_of_compilation (fndecl=0xfffa6dc2300) at /home/bergner/gcc/gcc-mainline-debug/gcc/tree-optimize.c:422 #16 0x00000000106cf534 in cgraph_expand_function (node=0xfffa33605a0) at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraphunit.c:1837 #17 0x00000000106cf818 in cgraph_expand_all_functions () at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraphunit.c:1904 #18 0x00000000106d0954 in cgraph_optimize () at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraphunit.c:2218 #19 0x00000000106ccf78 in cgraph_finalize_compilation_unit () at /home/bergner/gcc/gcc-mainline-debug/gcc/cgraphunit.c:1344 #20 0x00000000102b44c0 in cp_write_global_declarations () at /home/bergner/gcc/gcc-mainline-debug/gcc/cp/decl2.c:4074 #21 0x0000000010cefe6c in compile_file () at /home/bergner/gcc/gcc-mainline-debug/gcc/toplev.c:573 #22 0x0000000010cf3bac in do_compile () at /home/bergner/gcc/gcc-mainline-debug/gcc/toplev.c:1937 #23 0x0000000010cf3e3c in toplev_main (argc=35, argv=0xfffffffed78) at /home/bergner/gcc/gcc-mainline-debug/gcc/toplev.c:2013 #24 0x00000000105b942c in main (argc=35, argv=0xfffffffed78) at /home/bergner/gcc/gcc-mainline-debug/gcc/main.c:36 I don't know the tree level that well, but for some reason, in rs6000.c:call_ABI_of_interest(), the call to: /* Interesting functions that we are emitting in this object file. */ c_node = cgraph_get_node (fndecl); returns null and we don't recover. The fndecl looks like: (gdb) ptree fndecl <function_decl 0xfffa3189c00 __comp_dtor type <method_type 0xfffa317e070 type <void_type 0xfffb5e40bd0 void asm_written type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xfffb5e40bd0 pointer_to_this <pointer_type 0xfffb5e40c78>> SI size <integer_cst 0xfffb5d52440 constant 32> unit size <integer_cst 0xfffb5d52460 constant 4> align 32 symtab 0 alias set -1 canonical type 0xfffa317e070 method basetype <record_type 0xfffa3178730 JSByteArray> arg-types <tree_list 0xfffa31a4010 value <pointer_type 0xfffa31789d0> chain <tree_list 0xfffb5dc13b0 value <void_type 0xfffb5e40bd0 void>>> pointer_to_this <pointer_type 0xfffa317e460>> addressable public autoinline virtual SI file ICE.ii line 39894 col 11 align 32 context <record_type 0xfffa3178730 JSByteArray> abstract_origin <function_decl 0xfffa3189a00 JSByteArray> arguments <parm_decl 0xfffa31b20f0 this type <pointer_type 0xfffa3178a78 type <record_type 0xfffa3178730 JSByteArray> readonly unsigned SI size <integer_cst 0xfffb5d52440 32> unit size <integer_cst 0xfffb5d52460 4> align 32 symtab 4095 alias set -1 canonical type 0xfffa3178a78> readonly unsigned SI file ICE.ii line 39894 col 11 size <integer_cst 0xfffb5d52440 32> unit size <integer_cst 0xfffb5d52460 4> align 32 context <function_decl 0xfffa3189c00 __comp_dtor > arg-type <pointer_type 0xfffa3178a78>> full-name "virtual QTJSC::JSByteArray::~JSByteArray()" chain <function_decl 0xfffa3189b00 __deleting_dtor >>
Same SEGV at the same location with FSF 4.7.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52582
gcc-4.7.0-0.20.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/gcc-4.7.0-0.20.fc17
Package gcc-4.7.0-0.20.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing gcc-4.7.0-0.20.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-3967/gcc-4.7.0-0.20.fc17 then log in and leave karma (feedback).
gcc-4.7.0-0.20.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.