Fedora Account System
Red Hat Associate
Red Hat Customer
Created attachment 446656 [details] reduced reproducer Description of problem: ICE while compiling c++, compilation failure. Version-Release number of selected component (if applicable): $ g++ -v Using built-in specs. Target: i686-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux Thread model: posix gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) $ rpm -q gcc-c++ gcc-c++-4.4.4-10.fc13.i686 $ uname -a Linux thinkstation 2.6.34.6-54.fc13.i686.PAE #1 SMP Sun Sep 5 17:33:43 UTC 2010 i686 i686 i386 GNU/Linux $ lsb_release -v LSB Version: :core-4.0-ia32:core-4.0-noarch How reproducible: Reliably. Steps to Reproduce: 1. g++ -g minimal.cc (also reproduces with env -i g++ -g minimal.cc) 2. 3. Actual results: $ env -i g++ -g minimal.cc minimal.cc:8: internal compiler error: in dwarf2out_finish, at dwarf2out.c:19640 Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccXp2Hb3.out file, please attach this to your bugreport. $ gdb -q /usr/libexec/gcc/i686-redhat-linux/4.4.4/cc1plus Reading symbols from /usr/libexec/gcc/i686-redhat-linux/4.4.4/cc1plus...(no debugging symbols found)...done. (gdb) symbol-file /usr/lib/debug/usr/libexec/gcc/i686-redhat-linux/4.4.4/cc1plus.debug (gdb) list dwarf2out.c:19640 19635 else if (TYPE_P (node->created_for)) 19636 context = TYPE_CONTEXT (node->created_for); 19637 19638 gcc_assert (context 19639 && (TREE_CODE (context) == FUNCTION_DECL 19640 || TREE_CODE (context) == NAMESPACE_DECL)); 19641 19642 origin = lookup_decl_die (context); 19643 if (origin) 19644 add_child_die (origin, die); (gdb) b dwarf2out.c:19638 Breakpoint 1 at 0x8364d99: file ../../gcc/dwarf2out.c, line 19638. (gdb) r -quiet -D_GNU_SOURCE minimal.cc -quiet -dumpbase minimal.cc -mtune=generic -march=i686 -auxbase minimal -g -o - -frandom-seed=0 &>/dev/null Breakpoint 1, dwarf2out_finish (filename=can't compute CFA for this frame ) at ../../gcc/dwarf2out.c:19638 19638 gcc_assert (context (gdb) bt #0 dwarf2out_finish (filename=can't compute CFA for this frame ) at ../../gcc/dwarf2out.c:19638 #1 0x0847d7e7 in compile_file (argc=can't compute CFA for this frame ) at ../../gcc/toplev.c:1032 #2 do_compile (argc=can't compute CFA for this frame ) at ../../gcc/toplev.c:2257 #3 toplev_main (argc=can't compute CFA for this frame ) at ../../gcc/toplev.c:2289 #4 0x08779d56 in ?? () #5 0x2e6c616d in ?? () #6 0x2d006363 in ?? () #7 0x65697571 in ?? () #8 0x642d0074 in ?? () #9 0x62706d75 in ?? () #10 0x00657361 in dl_main () from /lib/ld-linux.so.2 Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) info locals context = <value optimized out> origin = <value optimized out> node = 0xb7daa3cc next_node = 0xb7daa024 die = 0xb7daff88 i = <value optimized out> __FUNCTION__ = "dwarf2out_finish" (gdb) i r eax 0xb7da7410 -1210420208 ecx 0x23 35 edx 0x10 16 ebx 0xb7daa3cc -1210407988 esp 0xbfffed30 0xbfffed30 ebp 0xbfffee58 0xbfffee58 esi 0xb7daa024 -1210408924 edi 0xb7daff88 -1210384504 eip 0x8364d99 0x8364d99 <dwarf2out_finish+4649> eflags 0x200297 [ CF PF AF SF IF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 (gdb) x/10i $pc => 0x8364d99 <dwarf2out_finish+4649>: mov DWORD PTR [esp+0x8],0x8745ac2 0x8364da1 <dwarf2out_finish+4657>: mov DWORD PTR [esp+0x4],0x4cb8 0x8364da9 <dwarf2out_finish+4665>: mov DWORD PTR [esp],0x874231c 0x8364db0 <dwarf2out_finish+4672>: call 0x8072b59 <fancy_abort> 0x8364db5 <dwarf2out_finish+4677>: mov DWORD PTR [esp+0x8],0x8745ac2 0x8364dbd <dwarf2out_finish+4685>: mov DWORD PTR [esp+0x4],0x4caf 0x8364dc5 <dwarf2out_finish+4693>: mov DWORD PTR [esp],0x874231c 0x8364dcc <dwarf2out_finish+4700>: call 0x8072b59 <fancy_abort> 0x8364dd1 <dwarf2out_finish+4705>: mov eax,DWORD PTR [eax+0x58] 0x8364dd4 <dwarf2out_finish+4708>: test eax,eax (gdb) q I minimised the input file. $ cat minimal.cc void function () { struct { typedef void (**type_t)(void); static inline type_t i(void) { } } s; *s.i() = 0; } $ cat /tmp/ccXp2Hb3.out // /usr/libexec/gcc/i686-redhat-linux/4.4.4/cc1plus -quiet -iprefix ../lib/gcc/i686-redhat-linux/4.4.4/ -D_GNU_SOURCE minimal.cc -quiet -dumpbase minimal.cc -mtune=generic -march=i686 -auxbase minimal -g -o - -frandom-seed=0 # 1 "minimal.cc" # 1 "<built-in>" # 1 "<command-line>" # 1 "minimal.cc" void function () { struct { typedef void (**type_t)(void); static inline type_t i(void) { } } s; *s.i() = 0; } Expected results: No ICE. Additional info: This was the original input file before reduction: http://code.google.com/p/seccompsandbox/source/browse/trunk/sandbox.cc $ make testbin32 g++ -g -O0 -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -I. -MMD -MF sandbox.o32.d -m32 -fPIC -c -o sandbox.o32 sandbox.cc sandbox.cc:874: internal compiler error: in dwarf2out_finish, at dwarf2out.c:19640 Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/cclXO5zg.out file, please attach this to your bugreport. make: *** [sandbox.o32] Error 1
Fixed upstream, will show up whenever new errata is prepared.
gcc-4.5.1-4.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/gcc-4.5.1-4.fc14
gcc-4.5.1-4.fc14 has been pushed to the Fedora 14 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update gcc'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/gcc-4.5.1-4.fc14
gcc-4.5.1-4.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.