> > On Mon, Jan 23, 2006 at 03:28:59PM -0500, Andrew Pinski wrote: > > > > > > On Mon, Jan 23, 2006 at 03:16:56PM -0500, Andrew Pinski wrote: > > > > > > > > > > That's the genextract crash that rth is seeing on ppc-linux. Can you > > > > > also > > > > > reproduce the ppc-darwin genautomata crash? > > > > > > > > Nope. genautomata just works. > > > > > > Clarification please. In a cross configuration targeting ppc-darwin, > > > genextract > > > crashes and genautomata just works? Or, in a cross configuration > > > targeting > > > ppc-linux, genextract crashes and genautomata just works? Or what? > > > > in a cross to targetting powerpc-darwin, genextract crashes and genautomata > > works. > > > > Should I also see what happens for powerpc-linux? > > If you can, that would be helpful.
The same thing happens targetting powerpc-linux in that genextract crashes and genautomata works. > > Also, if you have access to valgrind (I can't remember if it works on x86-64 > yet?) > you could run both programs under it and report what it says, since this seems > to be a bad-memory-access issue. The output might be huge - maybe best to > take > that to private mail. Yes valgrind works on x86_64. The output is not that huge, it is only 17k. Attached is the output. Thanks, Andrew Pinski
==21865== Memcheck, a memory error detector. ==21865== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==21865== Using LibVEX rev 1367, a library for dynamic binary translation. ==21865== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==21865== Using valgrind-3.0.1, a dynamic binary instrumentation framework. ==21865== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==21865== For more details, rerun with: -v ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x119106B1: (within /lib/ld-2.3.5.so) ==21865== by 0x11904454: (within /lib/ld-2.3.5.so) ==21865== by 0x11904A9C: (within /lib/ld-2.3.5.so) ==21865== by 0x11902360: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x119104C0: (within /lib/ld-2.3.5.so) ==21865== by 0x11904034: (within /lib/ld-2.3.5.so) ==21865== by 0x1190659E: (within /lib/ld-2.3.5.so) ==21865== by 0x11900ACA: (within /lib/ld-2.3.5.so) ==21865== by 0x1190B13F: (within /lib/ld-2.3.5.so) ==21865== by 0x11902F06: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x119104CF: (within /lib/ld-2.3.5.so) ==21865== by 0x11904034: (within /lib/ld-2.3.5.so) ==21865== by 0x1190659E: (within /lib/ld-2.3.5.so) ==21865== by 0x11900ACA: (within /lib/ld-2.3.5.so) ==21865== by 0x1190B13F: (within /lib/ld-2.3.5.so) ==21865== by 0x11902F06: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x119104DE: (within /lib/ld-2.3.5.so) ==21865== by 0x11904034: (within /lib/ld-2.3.5.so) ==21865== by 0x1190659E: (within /lib/ld-2.3.5.so) ==21865== by 0x11900ACA: (within /lib/ld-2.3.5.so) ==21865== by 0x1190B13F: (within /lib/ld-2.3.5.so) ==21865== by 0x11902F06: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x1191067D: (within /lib/ld-2.3.5.so) ==21865== by 0x11904041: (within /lib/ld-2.3.5.so) ==21865== by 0x1190659E: (within /lib/ld-2.3.5.so) ==21865== by 0x11900ACA: (within /lib/ld-2.3.5.so) ==21865== by 0x1190B13F: (within /lib/ld-2.3.5.so) ==21865== by 0x11902F06: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x1191067D: (within /lib/ld-2.3.5.so) ==21865== by 0x1190887C: (within /lib/ld-2.3.5.so) ==21865== by 0x11904DF3: (within /lib/ld-2.3.5.so) ==21865== by 0x11906612: (within /lib/ld-2.3.5.so) ==21865== by 0x11900ACA: (within /lib/ld-2.3.5.so) ==21865== by 0x1190B13F: (within /lib/ld-2.3.5.so) ==21865== by 0x11902F06: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x11908F11: (within /lib/ld-2.3.5.so) ==21865== by 0x1190264D: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Conditional jump or move depends on uninitialised value(s) ==21865== at 0x11908F51: (within /lib/ld-2.3.5.so) ==21865== by 0x1190264D: (within /lib/ld-2.3.5.so) ==21865== by 0x1190EB6F: (within /lib/ld-2.3.5.so) ==21865== by 0x119014ED: (within /lib/ld-2.3.5.so) ==21865== by 0x11900A37: (within /lib/ld-2.3.5.so) ==21865== ==21865== Invalid read of size 4 ==21865== at 0x40199B: VEC_locstr_base_length (genextract.c:74) ==21865== by 0x401CA3: VEC_safe_set_locstr (genextract.c:192) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7260 is 0 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 4 ==21865== at 0x40192E: VEC_locstr_base_index (genextract.c:74) ==21865== by 0x401CE3: VEC_safe_set_locstr (genextract.c:194) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7260 is 0 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 8 ==21865== at 0x40195B: VEC_locstr_base_index (genextract.c:74) ==21865== by 0x401CE3: VEC_safe_set_locstr (genextract.c:194) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F72B0 is 80 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 4 ==21865== at 0x401FC1: VEC_locstr_base_replace (genextract.c:74) ==21865== by 0x401D38: VEC_safe_set_locstr (genextract.c:195) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7260 is 0 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 8 ==21865== at 0x401FEE: VEC_locstr_base_replace (genextract.c:74) ==21865== by 0x401D38: VEC_safe_set_locstr (genextract.c:195) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F72B0 is 80 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid write of size 8 ==21865== at 0x402004: VEC_locstr_base_replace (genextract.c:74) ==21865== by 0x401D38: VEC_safe_set_locstr (genextract.c:195) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F72B0 is 80 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 4 ==21865== at 0x40199B: VEC_locstr_base_length (genextract.c:74) ==21865== by 0x40137F: gen_insn (genextract.c:122) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7260 is 0 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 4 ==21865== at 0x40192E: VEC_locstr_base_index (genextract.c:74) ==21865== by 0x40148D: gen_insn (genextract.c:134) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7260 is 0 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 8 ==21865== at 0x40195B: VEC_locstr_base_index (genextract.c:74) ==21865== by 0x40148D: gen_insn (genextract.c:134) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7268 is 8 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid read of size 1 ==21865== at 0x401706: gen_insn (genextract.c:174) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7268 is 8 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== Invalid free() / delete / delete[] ==21865== at 0x11B1DA33: free (vg_replace_malloc.c:235) ==21865== by 0x40184D: VEC_locstr_heap_free (genextract.c:77) ==21865== by 0x40179E: gen_insn (genextract.c:179) ==21865== by 0x40298D: main (genextract.c:418) ==21865== Address 0x123F7260 is 0 bytes inside a block of size 88 free'd ==21865== at 0x11B1E2F2: realloc (vg_replace_malloc.c:306) ==21865== by 0x40A52C: xrealloc (xmalloc.c:179) ==21865== by 0x408D47: vec_heap_o_reserve (vec.c:138) ==21865== by 0x408CEF: vec_heap_p_reserve (vec.c:121) ==21865== by 0x401F19: VEC_locstr_heap_reserve (genextract.c:77) ==21865== by 0x401DD7: VEC_locstr_heap_safe_push (genextract.c:77) ==21865== by 0x401D9E: VEC_safe_set_locstr (genextract.c:201) ==21865== by 0x402194: walk_rtx (genextract.c:238) ==21865== by 0x402431: walk_rtx (genextract.c:286) ==21865== by 0x402234: walk_rtx (genextract.c:251) ==21865== by 0x401295: gen_insn (genextract.c:108) ==21865== by 0x40298D: main (genextract.c:418) ==21865== ==21865== ERROR SUMMARY: 290 errors from 19 contexts (suppressed: 0 from 0) ==21865== malloc/free: in use at exit: 2185158 bytes in 38934 blocks. ==21865== malloc/free: 50603 allocs, 11671 frees, 16836446 bytes allocated. ==21865== For counts of detected errors, rerun with: -v ==21865== searching for pointers to 38934 not-freed blocks. ==21865== checked 1459296 bytes. ==21865== ==21865== LEAK SUMMARY: ==21865== definitely lost: 810832 bytes in 34096 blocks. ==21865== possibly lost: 0 bytes in 0 blocks. ==21865== still reachable: 1374326 bytes in 4838 blocks. ==21865== suppressed: 0 bytes in 0 blocks. ==21865== Use --leak-check=full to see details of leaked memory.