Hello, 2014-05-15 8:58 GMT+08:00 Roy Tam <[email protected]>: > Hello list, > > win32 tcc build is broken now: > > GNU gdb (GDB) 7.5 > Copyright (C) 2012 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i686-pc-mingw32". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from D:\tinycc\tcc.exe...done. > (gdb) r > Starting program: D:\tinycc\tcc.exe -B../win32 -I../include -c > bcheck.c -o i386-win32/bcheck.o -I.. -g -DTCC_TARGET_I386 > -DTCC_TARGET_PE > [New Thread 808.0x1780] > > Program received signal SIGSEGV, Segmentation fault. > 0x7c92100b in ntdll!RtlEnumerateGenericTableLikeADirectory () > from C:\WINDOWS\system32\ntdll.dll > (gdb) bt > #0 0x7c92100b in ntdll!RtlEnumerateGenericTableLikeADirectory () > from C:\WINDOWS\system32\ntdll.dll > #1 0x77c0b90d in msvcrt!_lock () from C:\WINDOWS\system32\msvcrt.dll > #2 0x77c10efa in msvcrt!fputs () from C:\WINDOWS\system32\msvcrt.dll > #3 0x00000000 in ?? () > (gdb) frame 2 > #2 0x77c10efa in msvcrt!fputs () from C:\WINDOWS\system32\msvcrt.dll > (gdb) info frame > Stack level 2, frame at 0x12f2ac: > eip = 0x77c10efa in msvcrt!fputs; saved eip 0x0 > called by frame at 0x12f2b0, caller of frame at 0x12f2a8 > Arglist at 0x12f2a4, args: > Locals at 0x12f2a4, Previous frame's sp is 0x12f2ac > Saved registers: > eip at 0x12f2a8 > (gdb)
After some debugging, s1->ppfp is used without checking in tccpp.c:1760 http://repo.or.cz/w/tinycc.git/blob/07614b5e22073cbb2c1b298ab906d57372619604:/tccpp.c#l1760 _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
