I still haven't been able to get a clean bootstrap on trunk for ppc64. This time, it seems as if a recent PRE change is overwriting memory. The failure shows up while building libgcc with the stage1 compiler (attached).
Running cc1 with valgrind shows a memory overwrite problem in tree-ssa-pre.c. So the failure may be related to this patch: +2007-07-11 Daniel Berlin <[EMAIL PROTECTED]> + + PR tree-optimization/32663 + + * tree.h (VALUE_HANDLE_VUSES): Remove. + (struct tree_value_handle): Remove vuses. + + * tree-vn.c (create_value_handle_for_expr): Don't set + VALUE_HANDLE_VUSES. + + * tree-ssa-pre.c (expression_vuses): New. + (alloc_expression_id): Set up expression_vuses. + (get_expression_vuses): New. + (set_expression_vuses): Ditto. + (clear_expression_ids): Modify for expression_vuses. + (phi_translate_1): Ditto. + (phi_translate_set): Ditto. + (value_dies_in_block_x): Ditto + (valid_in_sets): Ditto. + (add_to_sets): Ditto. + (find_existing_value_expr): Ditto. + (create_value_handle_for_expr): Ditto. + (make_values_for_stmt): Ditto. + (vuse_equiv): Remove. Valgrind shows: $ valgrind /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1 -fpreprocessed libgcc2.i -quiet -dumpbase libgcc2.c -mno-minimal-toc -mlong-double-128 -auxbase-strip _lshrdi3.o -g -g -g -O2 -O2 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version -fkeep-inline-functions -fPIC -fvisibility=hidden -o libgcc2.s ==15400== Memcheck, a memory error detector. ==15400== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==15400== Using LibVEX rev 1658, a library for dynamic binary translation. ==15400== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==15400== Using valgrind-3.2.1, a dynamic binary instrumentation framework. ==15400== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==15400== For more details, rerun with: -v ==15400== GNU C version 4.3.0 20070712 (experimental) (powerpc64-unknown-linux-gnu) compiled by GNU C version 4.1.2 20070626 (Red Hat 4.1.2-13), GMP version 4.2.1, MPFR version 2.2.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: f98afd126838ac20d9a920faa1d71e5c ==15400== Invalid read of size 8 ==15400== at 0x104AE494: VEC_vuse_vec_base_replace (tree-ssa-pre.c:189) ==15400== by 0x104AE440: set_expression_vuses (tree-ssa-pre.c:264) ==15400== by 0x104ADCD8: phi_translate_1 (tree-ssa-pre.c:1221) ==15400== by 0x104AE6CC: phi_translate (tree-ssa-pre.c:1355) ==15400== by 0x104AE778: phi_translate_set (tree-ssa-pre.c:1381) ==15400== by 0x104AFB9C: defer_or_phi_translate_block (tree-ssa-pre.c:1643) ==15400== by 0x104AFDF4: compute_antic_aux (tree-ssa-pre.c:1704) ==15400== by 0x104B19D8: compute_antic (tree-ssa-pre.c:2005) ==15400== by 0x104B89DC: execute_pre (tree-ssa-pre.c:3948) ==15400== by 0x104B8B44: do_pre (tree-ssa-pre.c:3981) ==15400== by 0x102B0A04: execute_one_pass (passes.c:1125) ==15400== by 0x102B0C38: execute_pass_list (passes.c:1178) ==15400== Address 0x4944C78 is 0 bytes after a block of size 440 free'd ==15400== at 0x4017090: realloc (vg_replace_malloc.c:306) ==15400== by 0x108D7FE4: xrealloc (xmalloc.c:179) ==15400== by 0x1055CBFC: vec_heap_o_reserve_1 (vec.c:177) ==15400== by 0x1055CC9C: vec_heap_p_reserve (vec.c:190) ==15400== by 0x104AB6D8: VEC_vuse_vec_heap_reserve (tree-ssa-pre.c:190) ==15400== by 0x104AB5E4: VEC_vuse_vec_heap_safe_push (tree-ssa-pre.c:190) ==15400== by 0x104AB29C: alloc_expression_id (tree-ssa-pre.c:212) ==15400== by 0x104AB198: get_or_alloc_expression_id (tree-ssa-pre.c:237) ==15400== by 0x104AE42C: set_expression_vuses (tree-ssa-pre.c:264) ==15400== by 0x104ADCD8: phi_translate_1 (tree-ssa-pre.c:1221) ==15400== by 0x104AE6CC: phi_translate (tree-ssa-pre.c:1355) ==15400== by 0x104AE778: phi_translate_set (tree-ssa-pre.c:1381) ==15400== ==15400== Invalid write of size 8 ==15400== at 0x104AE4B4: VEC_vuse_vec_base_replace (tree-ssa-pre.c:189) ==15400== by 0x104AE440: set_expression_vuses (tree-ssa-pre.c:264) ==15400== by 0x104ADCD8: phi_translate_1 (tree-ssa-pre.c:1221) ==15400== by 0x104AE6CC: phi_translate (tree-ssa-pre.c:1355) ==15400== by 0x104AE778: phi_translate_set (tree-ssa-pre.c:1381) ==15400== by 0x104AFB9C: defer_or_phi_translate_block (tree-ssa-pre.c:1643) ==15400== by 0x104AFDF4: compute_antic_aux (tree-ssa-pre.c:1704) ==15400== by 0x104B19D8: compute_antic (tree-ssa-pre.c:2005) ==15400== by 0x104B89DC: execute_pre (tree-ssa-pre.c:3948) ==15400== by 0x104B8B44: do_pre (tree-ssa-pre.c:3981) ==15400== by 0x102B0A04: execute_one_pass (passes.c:1125) ==15400== by 0x102B0C38: execute_pass_list (passes.c:1178) ==15400== Address 0x4944C78 is 0 bytes after a block of size 440 free'd ==15400== at 0x4017090: realloc (vg_replace_malloc.c:306) ==15400== by 0x108D7FE4: xrealloc (xmalloc.c:179) ==15400== by 0x1055CBFC: vec_heap_o_reserve_1 (vec.c:177) ==15400== by 0x1055CC9C: vec_heap_p_reserve (vec.c:190) ==15400== by 0x104AB6D8: VEC_vuse_vec_heap_reserve (tree-ssa-pre.c:190) ==15400== by 0x104AB5E4: VEC_vuse_vec_heap_safe_push (tree-ssa-pre.c:190) ==15400== by 0x104AB29C: alloc_expression_id (tree-ssa-pre.c:212) ==15400== by 0x104AB198: get_or_alloc_expression_id (tree-ssa-pre.c:237) ==15400== by 0x104AE42C: set_expression_vuses (tree-ssa-pre.c:264) ==15400== by 0x104ADCD8: phi_translate_1 (tree-ssa-pre.c:1221) ==15400== by 0x104AE6CC: phi_translate (tree-ssa-pre.c:1355) ==15400== by 0x104AE778: phi_translate_set (tree-ssa-pre.c:1381) ==15400== ==15400== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 2 from 1) ==15400== malloc/free: in use at exit: 650,642 bytes in 3,203 blocks. ==15400== malloc/free: 9,390 allocs, 6,187 frees, 4,095,695 bytes allocated. ==15400== For counts of detected errors, rerun with: -v ==15400== searching for pointers to 3,203 not-freed blocks. ==15400== checked 8,254,136 bytes. ==15400== ==15400== LEAK SUMMARY: ==15400== definitely lost: 17,104 bytes in 115 blocks. ==15400== possibly lost: 0 bytes in 0 blocks. ==15400== still reachable: 633,538 bytes in 3,088 blocks. ==15400== suppressed: 0 bytes in 0 blocks. ==15400== Use --leak-check=full to see details of leaked memory.
/home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/xgcc -B/home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/ -B/home/dnovillo/perf/sbox/gcc/local.ppc64/inst/powerpc64-unknown-linux-gnu/bin/ -B/home/dnovillo/perf/sbox/gcc/local.ppc64/inst/powerpc64-unknown-linux-gnu/lib/ -isystem /home/dnovillo/perf/sbox/gcc/local.ppc64/inst/powerpc64-unknown-linux-gnu/include -isystem /home/dnovillo/perf/sbox/gcc/local.ppc64/inst/powerpc64-unknown-linux-gnu/sys-include -g -fkeep-inline-functions -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -mno-minimal-toc -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -mlong-double-128 -I. -I. -I../.././gcc -I/home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc -I/home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/. -I/home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../gcc -I/home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../include -I/home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../libdecnumber/dpd -I/home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../libdecnumber -I../../libdecnumber -DHAVE_CC_TLS -o _lshrdi3.o -MT _lshrdi3.o -MD -MP -MF _lshrdi3.dep -DL_lshrdi3 -c /home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../gcc/libgcc2.c \ -fvisibility=hidden -DHIDE_EXPORTS *** glibc detected *** /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1: free(): invalid next size (normal): 0x0000000010c845b0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x80e29e699c] /lib64/libc.so.6[0x80e29e8894] /lib64/libc.so.6(realloc-0xe9b08)[0x80e29ea618] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x108d7fe8] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x1055cc00] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x1055cca0] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104ab470] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104ab37c] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104aba88] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104afa1c] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104b0234] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104b19dc] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104b89e0] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x104b8b48] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x102b0a08] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x102b0c3c] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x102b0c68] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x1040c130] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x1006a094] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x105a586c] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x105a5b4c] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x105a640c] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x10021a70] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x103a93d4] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x103abf54] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x103ac008] /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/./gcc/cc1[0x100a34e0] /lib64/libc.so.6[0x80e298980c] /lib64/libc.so.6(__libc_start_main-0x147240)[0x80e2989a88] ======= Memory map: ======== 00100000-00103000 r-xp 00100000 00:00 0 [vdso] 10000000-10a39000 r-xp 00000000 fd:00 82805610 /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/gcc/cc1 10a48000-10afe000 rw-p 00a38000 fd:00 82805610 /home/dnovillo/perf/sbox/gcc/local.ppc64/bld/gcc/cc1 10afe000-10c91000 rw-p 10afe000 00:00 0 [heap] 80e28f0000-80e2919000 r-xp 00000000 fd:00 58490883 /lib64/ld-2.5.so 80e292f000-80e2930000 r--p 0002f000 fd:00 58490883 /lib64/ld-2.5.so 80e2930000-80e2933000 rw-p 00030000 fd:00 58490883 /lib64/ld-2.5.so 80e2940000-80e2abf000 r-xp 00000000 fd:00 58490965 /lib64/libc-2.5.so 80e2abf000-80e2acc000 ---p 0017f000 fd:00 58490965 /lib64/libc-2.5.so 80e2acc000-80e2ad0000 r--p 0018c000 fd:00 58490965 /lib64/libc-2.5.so 80e2ad0000-80e2ae0000 rw-p 00190000 fd:00 58490965 /lib64/libc-2.5.so 80e2ae0000-80e2ae4000 rw-p 80e2ae0000 00:00 0 40000000000-40000002000 rw-p 40000000000 00:00 0 40000002000-4000004b000 r-xp 00000000 fd:00 47942480 /home/dnovillo/ppc64/lib/libgmp.so.3.4.1 4000004b000-4000005a000 ---p 00049000 fd:00 47942480 /home/dnovillo/ppc64/lib/libgmp.so.3.4.1 4000005a000-4000005d000 rw-p 00048000 fd:00 47942480 /home/dnovillo/ppc64/lib/libgmp.so.3.4.1 4000005d000-40000089000 rw-p 4000005d000 00:00 0 40000089000-400006ba000 rw-p 40000089000 00:00 0 fffffdad000-fffffdc2000 rwxp fffffdad000 00:00 0 [stack] fffffdc2000-fffffdc6000 rw-p fffffdc2000 00:00 0 /home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../gcc/libgcc2.c: In function '__lshrti3': /home/dnovillo/perf/sbox/gcc/local.ppc64/src/libgcc/../gcc/libgcc2.c:413: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make[3]: *** [_lshrdi3.o] Error 1 make[3]: Leaving directory `/home/dnovillo/perf/sbox/gcc/local.ppc64/bld/powerpc64-unknown-linux-gnu/libgcc' make[2]: *** [all-stage1-target-libgcc] Error 2 make[2]: Leaving directory `/home/dnovillo/perf/sbox/gcc/local.ppc64/bld' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/home/dnovillo/perf/sbox/gcc/local.ppc64/bld' make: *** [bootstrap] Error 2