[fpc-devel] win32 debugging broken in fixes_2_2?

vsnijders at quicknet.nl vsnijders at quicknet.nl
Tue Jul 10 14:33:14 CEST 2007



----- Original Message -----
From: Martin Schreiber <fpmse at bluewin.ch>
Date: Tuesday, July 10, 2007 2:38 pm
Subject: [fpc-devel] win32 debugging broken in fixes_2_2?

> Hi,
> Every program compiled with fixes_2_2 rev. 8006 crashes
> in gdb:
> "
> GNU gdb 6.6
> Copyright (C) 2006 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, 
> and you are
> welcome to change it and/or distribute copies of it under certain 
> conditions.Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for 
> details.This GDB was configured as "i686-pc-mingw32"...
> (gdb) run
> Starting program: G:\testcase\mse\console/console.exe
> Loaded symbols for C:\WINNT\system32\KERNEL32.DLL
> Loaded symbols for C:\WINNT\system32\OLEAUT32.DLL
> Loaded symbols for C:\WINNT\system32\OLE32.DLL
> Loaded symbols for C:\WINNT\system32\rpcrt4.dll
> Loaded symbols for C:\WINNT\system32\ADVAPI32.DLL
> Loaded symbols for C:\WINNT\system32\GDI32.DLL
> Loaded symbols for C:\WINNT\system32\USER32.DLL
> 
> Program received signal SIGILL, Illegal instruction.
> 0x00402091 in SYSTEM_FPC_CPUCODEINIT ()
> (gdb) bt
> #0  0x00402091 in SYSTEM_FPC_CPUCODEINIT ()
> #1  0x0040a504 in SYSTEM_init ()
> #2  0x00406114 in fpc_initializeunits ()
> #3  0x7ffdf000 in ?? ()
> #4  0x00000000 in ?? ()
> (gdb)
> "
> The programs work without gdb.
> System: win2000, PII.
> The problem seems not to exist on another PC with win2000 and an 
> AMD Athlon.
> Any hints?

It has to to with SSE2 detection. AFAIK the only reliable way to detect it, is execute a SSE2 instruction and capture the exection which it causes if it is not supported.

I don't know, how it can be circumvented (except for using a newer processor).

Vincent



More information about the fpc-devel mailing list