tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Lcc's yacc.c test crashes tcc


From: charlesrandall4-tinycc
Subject: Re: [Tinycc-devel] Lcc's yacc.c test crashes tcc
Date: Fri, 11 May 2007 00:55:09 -0700 (PDT)

Those traces were worthless because they didn't include function names.

It appears that the tcc_g target has been removed from the makefile. Rolling my own tcc_g, it doesn't crash when compiling but does with -run.

Valgrind of both cases below. They appear to be the same.

-Charles

% valgrind ./tcc_g -run ~/src/lcc-4.2/tst/yacc.c
==7432== Memcheck, a memory error detector.
==7432== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==7432== Using LibVEX rev 1658, a library for dynamic binary translation.
==7432== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==7432== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==7432== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==7432== For more details, rerun with: -v
==7432==
==7432== Invalid free() / delete / delete[]
==7432==    at 0x4004FDA: free (vg_replace_malloc.c:233)
==7432==    by 0x804AF09: tcc_free (tcc.c:206)
==7432==    by 0x804CC98: tok_str_free (tcc.c:1498)
==7432==    by 0x8051073: next (tcc.c:3591)
==7432==    by 0x805946F: decl_initializer (tcc.c:7887)
==7432==    by 0x80589AE: decl_designator (tcc.c:7563)
==7432==    by 0x80592EA: decl_initializer (tcc.c:7847)
==7432==    by 0x80589AE: decl_designator (tcc.c:7563)
==7432==    by 0x80590A8: decl_initializer (tcc.c:7774)
==7432==    by 0x8059625: decl_initializer_alloc (tcc.c:7957)
==7432==    by 0x805A435: decl (tcc.c:8427)
==7432==    by 0x805A996: tcc_compile (tcc.c:8588)
==7432==  Address 0x4097F50 is 0 bytes inside a block of size 32 free'd
==7432==    at 0x4004FDA: free (vg_replace_malloc.c:233)
==7432==    by 0x804AF09: tcc_free (tcc.c:206)
==7432==    by 0x804CC98: tok_str_free (tcc.c:1498)
==7432==    by 0x8051073: next (tcc.c:3591)
==7432==    by 0x805581D: parse_btype (tcc.c:5916)
==7432==    by 0x805537E: struct_decl (tcc.c:5767)
==7432==    by 0x8055930: parse_btype (tcc.c:5967)
==7432==    by 0x8059FC8: decl (tcc.c:8268)
==7432==    by 0x805A996: tcc_compile (tcc.c:8588)
==7432==    by 0x8063CC7: tcc_add_file_internal (tcc.c:9038)
==7432==    by 0x8063F52: tcc_add_file (tcc.c:9124)
==7432==    by 0x8064E72: main (tcc.c:9811)
/home/crandall/src/lcc-4.2/tst/yacc.c:138: identifier expected
==7432==
==7432== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 13 from 1)
==7432== malloc/free: in use at exit: 50,188 bytes in 9 blocks.
==7432== malloc/free: 3,488 allocs, 3,481 frees, 405,249 bytes allocated.
==7432== For counts of detected errors, rerun with: -v
==7432== searching for pointers to 9 not-freed blocks.
==7432== checked 126,748 bytes.
==7432==
==7432== LEAK SUMMARY:
==7432==    definitely lost: 1,024 bytes in 1 blocks.
==7432==      possibly lost: 0 bytes in 0 blocks.
==7432==    still reachable: 49,164 bytes in 8 blocks.
==7432==         suppressed: 0 bytes in 0 blocks.
==7432== Use --leak-check=full to see details of leaked memory.



% valgrind ./tcc_g -run ~/src/lcc-4.2/tst/yacc.c
==7432== Memcheck, a memory error detector.
==7432== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==7432== Using LibVEX rev 1658, a library for dynamic binary translation.
==7432== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==7432== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==7432== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==7432== For more details, rerun with: -v
==7432==
==7432== Invalid free() / delete / delete[]
==7432==    at 0x4004FDA: free (vg_replace_malloc.c:233)
==7432==    by 0x804AF09: tcc_free (tcc.c:206)
==7432==    by 0x804CC98: tok_str_free (tcc.c:1498)
==7432==    by 0x8051073: next (tcc.c:3591)
==7432==    by 0x805946F: decl_initializer (tcc.c:7887)
==7432==    by 0x80589AE: decl_designator (tcc.c:7563)
==7432==    by 0x80592EA: decl_initializer (tcc.c:7847)
==7432==    by 0x80589AE: decl_designator (tcc.c:7563)
==7432==    by 0x80590A8: decl_initializer (tcc.c:7774)
==7432==    by 0x8059625: decl_initializer_alloc (tcc.c:7957)
==7432==    by 0x805A435: decl (tcc.c:8427)
==7432==    by 0x805A996: tcc_compile (tcc.c:8588)
==7432==  Address 0x4097F50 is 0 bytes inside a block of size 32 free'd
==7432==    at 0x4004FDA: free (vg_replace_malloc.c:233)
==7432==    by 0x804AF09: tcc_free (tcc.c:206)
==7432==    by 0x804CC98: tok_str_free (tcc.c:1498)
==7432==    by 0x8051073: next (tcc.c:3591)
==7432==    by 0x805581D: parse_btype (tcc.c:5916)
==7432==    by 0x805537E: struct_decl (tcc.c:5767)
==7432==    by 0x8055930: parse_btype (tcc.c:5967)
==7432==    by 0x8059FC8: decl (tcc.c:8268)
==7432==    by 0x805A996: tcc_compile (tcc.c:8588)
==7432==    by 0x8063CC7: tcc_add_file_internal (tcc.c:9038)
==7432==    by 0x8063F52: tcc_add_file (tcc.c:9124)
==7432==    by 0x8064E72: main (tcc.c:9811)
/home/crandall/src/lcc-4.2/tst/yacc.c:138: identifier expected
==7432==
==7432== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 13 from 1)
==7432== malloc/free: in use at exit: 50,188 bytes in 9 blocks.
==7432== malloc/free: 3,488 allocs, 3,481 frees, 405,249 bytes allocated.
==7432== For counts of detected errors, rerun with: -v
==7432== searching for pointers to 9 not-freed blocks.
==7432== checked 126,748 bytes.
==7432==
==7432== LEAK SUMMARY:
==7432==    definitely lost: 1,024 bytes in 1 blocks.
==7432==      possibly lost: 0 bytes in 0 blocks.
==7432==    still reachable: 49,164 bytes in 8 blocks.
==7432==         suppressed: 0 bytes in 0 blocks.
==7432== Use --leak-check=full to see details of leaked memory.




Charles F. Randall, IV
address@hidden (always forwarded)
reply via email to

[Prev in Thread] Current Thread [Next in Thread]