http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52524
Bug #: 52524 Summary: Segfault compiling libgcov.c Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: vr...@gcc.gnu.org with revision r185025, I ran into this build breaker: ... /home/vries/gcc_versions/devel/lean/build/./gcc/xgcc -B/home/vries/gcc_versions/devel/lean/build/./gcc/ -B/home/vries/gcc_versions/devel/lean/install/x86_64-unknown-linux-gnu/bin/ -B/home/vries/gcc_versions/devel/lean/install/x86_64-unknown-linux-gnu/lib/ -isystem /home/vries/gcc_versions/devel/lean/install/x86_64-unknown-linux-gnu/include -isystem /home/vries/gcc_versions/devel/lean/install/x86_64-unknown-linux-gnu/sys-include -g -O2 -m32 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fpic -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fpic -I. -I. -I../../.././gcc -I/home/vries/gcc_versions/devel/src/libgcc -I/home/vries/gcc_versions/devel/src/libgcc/. -I/home/vries/gcc_versions/devel/src/libgcc/../gcc -I/home/vries/gcc_versions/devel/src/libgcc/../include -I/home/vries/gcc_versions/devel/src/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o _gcov.o -MT _gcov.o -MD -MP -MF _gcov.dep -DL_gcov -c /home/vries/gcc_versions/devel/src/libgcc/libgcov.c /home/vries/gcc_versions/devel/src/libgcc/libgcov.c: In function ‘free_fn_data’: /home/vries/gcc_versions/devel/src/libgcc/libgcov.c:158: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. ... backtrace: ... Program received signal SIGSEGV, Segmentation fault. 0x0000000000c2a3a8 in for_each_rtx_1 (exp=0x7ffff55270b8, n=0, f=0xa701a6 <returnjump_p_1>, data=0x0) at /home/vries/gcc_versions/devel/src/gcc/rtlanal.c:2837 2837 for (; format[n] != '\0'; n++) (gdb) bt #0 0x0000000000c2a3a8 in for_each_rtx_1 (exp=0x7ffff55270b8, n=0, f=0xa701a6 <returnjump_p_1>, data=0x0) at /home/vries/gcc_versions/devel/src/gcc/rtlanal.c:2837 #1 0x0000000000c29fce in for_each_rtx_1 (exp=0x7ffff5360ba0, n=0, f=0xa701a6 <returnjump_p_1>, data=0x0) at /home/vries/gcc_versions/devel/src/gcc/rtlanal.c:2859 #2 0x0000000000c2a45b in for_each_rtx (x=0x7ffff57021b8, f=0xa701a6 <returnjump_p_1>, data=0x0) at /home/vries/gcc_versions/devel/src/gcc/rtlanal.c:2940 #3 0x0000000000a7034a in returnjump_p (insn=0x7ffff5702190) at /home/vries/gcc_versions/devel/src/gcc/jump.c:935 #4 0x000000000069efc9 in patch_jump_insn (insn=0x7ffff5702190, old_label=0x7ffff53c7870, new_bb=0x7ffff5411820) at /home/vries/gcc_versions/devel/src/gcc/cfgrtl.c:1036 #5 0x000000000069f231 in redirect_branch_edge (e=0x7ffff5227880, target=0x7ffff5411820) at /home/vries/gcc_versions/devel/src/gcc/cfgrtl.c:1083 #6 0x000000000069f510 in rtl_redirect_edge_and_branch (e=0x7ffff5227880, target=0x7ffff5411820) at /home/vries/gcc_versions/devel/src/gcc/cfgrtl.c:1125 #7 0x000000000067f506 in redirect_edge_and_branch (e=0x7ffff5227880, dest=0x7ffff5411820) at /home/vries/gcc_versions/devel/src/gcc/cfghooks.c:323 #8 0x00000000006a0f46 in rtl_split_edge (edge_in=0x7ffff5227880) at /home/vries/gcc_versions/devel/src/gcc/cfgrtl.c:1483 #9 0x000000000067fc9f in split_edge (e=0x7ffff5227880) at /home/vries/gcc_versions/devel/src/gcc/cfghooks.c:551 #10 0x00000000006a1665 in commit_one_edge_insertion (e=0x7ffff5227880) at /home/vries/gcc_versions/devel/src/gcc/cfgrtl.c:1590 #11 0x000000000067dd21 in gimple_expand_cfg () at /home/vries/gcc_versions/devel/src/gcc/cfgexpand.c:4576 #12 0x0000000000b08863 in execute_one_pass (pass=0x25f5240) at /home/vries/gcc_versions/devel/src/gcc/passes.c:2084 #13 0x0000000000b08a51 in execute_pass_list (pass=0x25f5240) at /home/vries/gcc_versions/devel/src/gcc/passes.c:2139 #14 0x0000000000dc2282 in tree_rest_of_compilation (fndecl=0x7ffff51a1a00) at /home/vries/gcc_versions/devel/src/gcc/tree-optimize.c:422 #15 0x00000000006c15d5 in cgraph_expand_function (node=0x7ffff51a2ea0) at /home/vries/gcc_versions/devel/src/gcc/cgraphunit.c:1837 #16 0x00000000006c17a0 in cgraph_expand_all_functions () at /home/vries/gcc_versions/devel/src/gcc/cgraphunit.c:1904 #17 0x00000000006c22e6 in cgraph_optimize () at /home/vries/gcc_versions/devel/src/gcc/cgraphunit.c:2218 #18 0x00000000006bf322 in cgraph_finalize_compilation_unit () at /home/vries/gcc_versions/devel/src/gcc/cgraphunit.c:1344 #19 0x00000000004be2d4 in c_write_global_declarations () at /home/vries/gcc_versions/devel/src/gcc/c-decl.c:10032 #20 0x0000000000d0efeb in compile_file () at /home/vries/gcc_versions/devel/src/gcc/toplev.c:573 #21 0x0000000000d112b3 in do_compile () at /home/vries/gcc_versions/devel/src/gcc/toplev.c:1937 #22 0x0000000000d1142a in toplev_main (argc=78, argv=0x7fffffffd618) at /home/vries/gcc_versions/devel/src/gcc/toplev.c:2013 #23 0x00000000005c0964 in main (argc=78, argv=0x7fffffffd618) at /home/vries/gcc_versions/devel/src/gcc/main.c:36 ... compiler configured like this: ... Target: x86_64-unknown-linux-gnu Configured with: /home/vries/gcc_versions/devel/src/configure --prefix=/home/vries/gcc_versions/devel/lean/install --with-cloog=/home/vries/gcc_versions/infra --with-ppl=/home/vries/gcc_versions/infra --with-gmp=/home/vries/gcc_versions/infra --with-mpfr=/home/vries/gcc_versions/infra --with-mpc=/home/vries/gcc_versions/infra --disable-bootstrap --enable-checking=yes,rtl --enable-languages=c,fortran,c++ ... unfortunately, the segfault does not happen with -save-temps, or with the source produced by -save-temps, so I can't really attach a preprocessed file to reproduce.