[fpc-pascal] FPC compiled program stops with SIGILL on newer hardware (Pentium M 800 MHz)

Dirk Verwiebe dirk at verwiebe.de
Sat Mar 10 22:58:23 CET 2007


I have tried a small test program with cpu unit and it works neither
with dpmiexcp nor without dpmiexcp.
I get with dpmiexcp and snapshot 2.05 (10.3.2007) following error:

SIGSEGV
FPC General Protection Fault

2.05 without dpmiexcp

An unhandled exception occured at
EAccessViolation : Access Violation

List of adresses.....
...



It works with fpc 1.06(26.04.2002) and without dpmiexcp.

It crashs with dpmiexcp. Error:SIGILL


I can´t test the new compiler version for my "real program" because it
doesn´t compile my sources with graphix unit.

regards

Dirk


Florian Klaempfl schrieb:
> Dirk Verwiebe schrieb:
>> Hello Florian,
>>
>> exception handling was the problem.I have removed the dpmiexcp unit and
>> now it works again.
> 
> Well, this is only a workaround. In 6762 I tried to fix dpmiexcp, can
> you test if this works for you?
> 
>> Thank you very much !!!!
>>
>> regards
>>
>> Dirk
>>
>> Florian Klaempfl schrieb:
>>> Dirk Verwiebe schrieb:
>>>> Thank you very much for your quick reply.
>>>> Maybe you are right,but i have forgotten to write my program works
>>>> without the cpu unit, and the cpu unit works without my program.
>>>> It is a curios situation.
>>> Do you "mess" with exception/signal/interrupt handling? The cpu unit has
>>> to test SSE support of the OS by executing an sse instruction, if the OS
>>> doesn't support SSE one gets indeed a SIG_ILL but it should be catched
>>> by the cpu unit.
>>>
>>>> regards
>>>>
>>>> Dirk
>>>>
>>>>
>>>> Daniël Mantione schrieb:
>>>>> Op Fri, 9 Mar 2007, schreef Dirk Verwiebe:
>>>>>
>>>>>> Hello,
>>>>>> my program, written ca 5 years ago which worked all the time on several
>>>>>> hardware plattforms(486,AMD 64 ,Celeron 433)
>>>>>> crashs with a SIGILL error on my new Pentium M Board.
>>>>>> The program was compiled with debug information and so i can see it
>>>>>> stops if it in function getcpuinfo and cpu_init
>>>>>> in the cpu unit from Thomas Schatzl.
>>>>>> But when i write a small test program which uses the same functions of
>>>>>> the unit,too it works without problems.
>>>>>> How can i found out where the problems comes from and how can i solve it ?
>>>>>> Thanks in advance.
>>>>> It sounds like some kind of cpu instruction is no longer supported on the 
>>>>> Pentium M. You need to find out what instruction it is. Execute it in gdb 
>>>>> and check on which instruction it stops. 
>>>>>
>>>>> Daniël
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
>>>>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>>> _______________________________________________
>>>> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
>>>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>> _______________________________________________
>>> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
>>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>>
>> _______________________________________________
>> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
> 
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
> 




More information about the fpc-pascal mailing list