This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

New bootstrap failure ppc64


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  <dberlin@dberlin.org>
+
+       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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]