Compiling glibc on Linux/x86-64 I get a segmentation fault. (gdb) r -fpreprocessed cache.i -quiet -dumpbase cache.c -mtune=generic -auxbase-strip /abuild/aj/glibc/4.3/elf/cache.o -g -O2 -Wall -Winline -Wwrite-strings -Wstrict-prototypes -std=gnu99 -version -fgnu89-inline -fmerge-all-constants -o cache.s Starting program: /opt/gcc/4.3-devel/libexec/gcc/x86_64-suse-linux-gnu/4.3.0/cc1 -fpreprocessed cache.i -quiet -dumpbase cache.c -mtune=generic -auxbase-strip /abuild/aj/glibc/4.3/elf/cache.o -g -O2 -Wall -Winline -Wwrite-strings -Wstrict-prototypes -std=gnu99 -version -fgnu89-inline -fmerge-all-constants -o cache.s GNU C (GCC) version 4.3.0 20071008 (experimental) [trunk revision 129132] (x86_64-suse-linux-gnu) compiled by GNU C version 4.3.0 20071008 (experimental) [trunk revision 129132], GMP version 4.2.1, MPFR version 2.2.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 44f4e8c7ed384ee5613017e04accc06a
Program received signal SIGSEGV, Segmentation fault. 0x0000000000779930 in verify_eh_edges (stmt=0x2b8346a28800) at /cvs/gcc-svn/trunk/gcc/basic-block.h:673 673 gcc_assert (i.container); (gdb) bt #0 0x0000000000779930 in verify_eh_edges (stmt=0x2b8346a28800) at /cvs/gcc-svn/trunk/gcc/basic-block.h:673 #1 0x00000000007574e2 in tree_verify_flow_info () at /cvs/gcc-svn/trunk/gcc/tree-cfg.c:4466 #2 0x00000000004dc423 in verify_flow_info () at /cvs/gcc-svn/trunk/gcc/cfghooks.c:244 #3 0x000000000075a675 in cleanup_tree_cfg () at /cvs/gcc-svn/trunk/gcc/tree-cfgcleanup.c:663 #4 0x00000000006781e5 in execute_function_todo (data=<value optimized out>) at /cvs/gcc-svn/trunk/gcc/passes.c:884 #5 0x0000000000677f6f in execute_todo (flags=19968682) at /cvs/gcc-svn/trunk/gcc/passes.c:988 #6 0x000000000067853a in execute_one_pass (pass=0x1254200) at /cvs/gcc-svn/trunk/gcc/passes.c:1139 #7 0x00000000006786c0 in execute_pass_list (pass=0x1254200) at /cvs/gcc-svn/trunk/gcc/passes.c:1170 #8 0x00000000006786d5 in execute_pass_list (pass=0x11d9ac0) at /cvs/gcc-svn/trunk/gcc/passes.c:1171 #9 0x0000000000678814 in execute_ipa_pass_list (pass=0x11d9a60) at /cvs/gcc-svn/trunk/gcc/passes.c:855 #10 0x000000000092240d in cgraph_optimize () at /cvs/gcc-svn/trunk/gcc/cgraphunit.c:1248 #11 0x000000000041611e in c_write_global_declarations () at /cvs/gcc-svn/trunk/gcc/c-decl.c:8077 #12 0x000000000073dc09 in toplev_main (argc=<value optimized out>, argv=<value optimized out>) at /cvs/gcc-svn/trunk/gcc/toplev.c:1052 #13 0x00002b8346253b54 in __libc_start_main () from /lib64/libc.so.6 #14 0x0000000000404009 in _start () (gdb) pt stmt <call_expr 0x2b8346a28800 type <void_type 0x2b8345c6d750 void asm_written VOID align 8 symtab 0 alias set 2 canonical type 0x2b8345c6d750 pointer_to_this <pointer_type 0x2b8345c6d820>> side-effects fn <addr_expr 0x2b8346a23a40 type <pointer_type 0x2b83467f3270 type <function_type 0x2b83467f30d0> unsigned DI size <integer_cst 0x2b8345c50ba0 constant invariant 64> unit size <integer_cst 0x2b8345c50bd0 constant invariant 8> align 64 symtab 0 alias set -1 canonical type 0x2b83467f3340> constant invariant arg 0 <function_decl 0x2b83467f1200 __error_noreturn type <function_type 0x2b83467f00d0> addressable volatile used public external decl_5 QI file ../include/bits/../../misc/bits/error.h line 32 align 8 attributes <tree_list 0x2b83467eec60> chain <function_decl 0x2b83467f1500 __error_at_line_alias>>> arg 0 <integer_cst 0x2b8345c6c570 type <integer_type 0x2b8345c5f5b0 int> constant invariant 1> arg 1 <ssa_name 0x2b8346a2b3c0 type <integer_type 0x2b8345c5f5b0 int sizes-gimplified asm_written public SI size <integer_cst 0x2b8345c50ab0 constant invariant 32> unit size <integer_cst 0x2b8345c50720 constant invariant 4> align 32 symtab 1180196224 alias set 5 canonical type 0x2b8345c5f5b0 precision 32 min <integer_cst 0x2b8345c50a20 -2147483648> max <integer_cst 0x2b8345c50a50 2147483647> pointer_to_this <pointer_type 0x2b8345c70000>> visited var <var_decl 0x2b8346702c60 __libc_errno.31> def_stmt <gimple_modify_stmt 0x2b8346651780> version 127> arg 2 <ssa_name 0x2b8346a2b360 type <pointer_type 0x2b8345c769c0 type <integer_type 0x2b8345c5f340 char> sizes-gimplified asm_written public unsigned DI size <integer_cst 0x2b8345c50ba0 64> unit size <integer_cst 0x2b8345c50bd0 8> align 64 symtab 1180449696 alias set 34 canonical type 0x2b8345c769c0 pointer_to_this <pointer_type 0x2b83465a8340>> visited var <var_decl 0x2b8346702bb0 D.8371> def_stmt <gimple_modify_stmt 0x2b8346651750> version 126> arg 3 <ssa_name 0x2b8346a2b240 type <pointer_type 0x2b8345c769c0> visited var <var_decl 0x2b83466a9bb0 temp_name> def_stmt <gimple_modify_stmt 0x2b8346651690> version 123> ../include/bits/../../misc/bits/error.h:41> -- Summary: gcc_assert failure in verify_eh_edges Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: aj at gcc dot gnu dot org GCC build triplet: x86_64-linux-gnu GCC host triplet: x86_64-linux-gnu GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33706