~/gcc/gcc-4_4-branch/mips-build/gcc$ ./xgcc -v Using built-in specs. Target: mips-unknown-linux-uclibc Configured with: ../configure --target=mips-unknown-linux-uclibc --prefix=/home/ryan/x-tools/mips-unknown-linux-uclibc --with-sysroot=/home/ryan/x-tools/mips-unknown-linux-uclibc/mips-unknown-linux-uclibc/sys-root --enable-languages=c --disable-multilib --with-float=soft --enable-__cxa_atexit --with-local-prefix=/home/ryan/x-tools/mips-unknown-linux-uclibc/mips-unknown-linux-uclibc/sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace Thread model: posix
I have been only been able to reproduce the segfault on one machine. If the source is preprocessed the crash no longer occurs but valgrind reports several errors. I have not been able to reproduce the crash/valid errors on trunk/4.5.0 or after rev145283. ~/gcc/gcc-4_4-branch/mips-bld/gcc$ valgrind -q ./cc1 -quiet -mplt -mno-shared -O1 t.i ==28263== Invalid read of size 4 ==28263== at 0x84CEA86: get_last_value_validate (regs.h:92) ==28263== by 0x84CE8C6: get_last_value_validate (combine.c:11808) ==28263== by 0x84CEE48: record_value_for_reg (combine.c:11421) ==28263== by 0x84CF2B4: record_dead_and_set_regs (combine.c:11555) ==28263== by 0x84E5374: rest_of_handle_combine (combine.c:1266) ==28263== by 0x821EAD5: execute_one_pass (passes.c:1277) ==28263== by 0x821ED2B: execute_pass_list (passes.c:1326) ==28263== by 0x821ED3E: execute_pass_list (passes.c:1327) ==28263== by 0x82F493C: tree_rest_of_compilation (tree-optimize.c:420) ==28263== by 0x8402C1D: cgraph_expand_function (cgraphunit.c:1047) ==28263== by 0x8403F84: cgraph_optimize (cgraphunit.c:1106) ==28263== by 0x805A1DB: c_write_global_declarations (c-decl.c:8118) ==28263== Address 0x4dc8030 is 0 bytes after a block of size 4,456 alloc'd ==28263== at 0x4024C1C: malloc (vg_replace_malloc.c:195) ==28263== by 0x856E127: xmalloc (xmalloc.c:147) ==28263== by 0x8244766: regstat_init_n_sets_and_refs (regstat.c:63) ==28263== by 0x84E48E4: rest_of_handle_combine (combine.c:13009) ==28263== by 0x821EAD5: execute_one_pass (passes.c:1277) ==28263== by 0x821ED2B: execute_pass_list (passes.c:1326) ==28263== by 0x821ED3E: execute_pass_list (passes.c:1327) ==28263== by 0x82F493C: tree_rest_of_compilation (tree-optimize.c:420) ==28263== by 0x8402C1D: cgraph_expand_function (cgraphunit.c:1047) ==28263== by 0x8403F84: cgraph_optimize (cgraphunit.c:1106) ==28263== by 0x805A1DB: c_write_global_declarations (c-decl.c:8118) ==28263== by 0x82B9839: toplev_main (toplev.c:981) ==28263== ==28263== Invalid read of size 4 ==28263== at 0x84CEA86: get_last_value_validate (regs.h:92) ==28263== by 0x84CE8C6: get_last_value_validate (combine.c:11808) ==28263== by 0x84CEBD9: get_last_value (combine.c:11876) ==28263== by 0x84D195C: if_then_else_cond (combine.c:7975) ==28263== by 0x84D1A9D: if_then_else_cond (combine.c:7845) ==28263== by 0x84DAACB: combine_simplify_rtx (combine.c:4608) ==28263== by 0x84DD5F4: subst (combine.c:4547) ==28263== by 0x84DD6EC: subst (combine.c:4485) ==28263== by 0x84E1174: try_combine (combine.c:2732) ==28263== by 0x84E50E5: rest_of_handle_combine (combine.c:1139) ==28263== by 0x821EAD5: execute_one_pass (passes.c:1277) ==28263== by 0x821ED2B: execute_pass_list (passes.c:1326) ==28263== Address 0x4dc8030 is 0 bytes after a block of size 4,456 alloc'd ==28263== at 0x4024C1C: malloc (vg_replace_malloc.c:195) ==28263== by 0x856E127: xmalloc (xmalloc.c:147) ==28263== by 0x8244766: regstat_init_n_sets_and_refs (regstat.c:63) ==28263== by 0x84E48E4: rest_of_handle_combine (combine.c:13009) ==28263== by 0x821EAD5: execute_one_pass (passes.c:1277) ==28263== by 0x821ED2B: execute_pass_list (passes.c:1326) ==28263== by 0x821ED3E: execute_pass_list (passes.c:1327) ==28263== by 0x82F493C: tree_rest_of_compilation (tree-optimize.c:420) ==28263== by 0x8402C1D: cgraph_expand_function (cgraphunit.c:1047) ==28263== by 0x8403F84: cgraph_optimize (cgraphunit.c:1106) ==28263== by 0x805A1DB: c_write_global_declarations (c-decl.c:8118) ==28263== by 0x82B9839: toplev_main (toplev.c:981) ==28263== -- Summary: crash in get_last_value_validate Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rmansfield at qnx dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: mips-unknown-linux-uclibc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44145