<p>Am 09.09.2014 08:53 schrieb "Sergei Gorelkin" <<a href="mailto:sergei_gorelkin@mail.ru">sergei_gorelkin@mail.ru</a>>:<br>
><br>
> 09.09.2014 9:53, Sven Barth пишет:<br>
><br>
>> On 08.09.2014 22:54, Michael Ring wrote:<br>
>>><br>
>>> This smells like a problem I had on pic32. In my case the pic32 chips do<br>
>>> not have a floating point unit and the processor creates an illegal<br>
>>> instruction (or something similar) exception.<br>
>>><br>
>>> I solved this for me by patching out the call to the hardware<br>
>>> coprocessor when softfpu is selected.<br>
>><br>
>><br>
>> Which should be the correct approach for softfpu anyway. Afterall the premise of softfpu is that<br>
>> there is no hardware FPU to use and thus corresponding CPU instructions are useless (or as it seems<br>
>> in this case lead to nothing).<br>
>><br>
><br>
> This patch is correct only if the goal is do disable floating-point completely. If the goal is to have floating-point calculations available using emulation, then the entire procedures SysInitFPU and SysResetFPU together with {$define FPC_SYSTEM_HAS_SYSRESETFPU} and {$define FPC_SYSTEM_HAS_SYSINITFPU} must be disabled. Doing so will cause softfpu-specific routines from generic.inc to be used.</p>
<p>Well, according to Reinier's test at least the route seems to be correct. So we need to ensure that softfpu code for MIPS works correctly.</p>
<p>> I also wonder what is the correct way to generate code that calls softfpu:<br>
> 1) -SfSOFTFPU<br>
> 2) -CfSOFT<br>
> 3) -Ce<br>
> ?</p>
<p>I only know -CfSOFT and that is what I use for m68k. -Ce likely only does the same as -CfSOFT, but I don't know what -SfSOFTFPU is supposed to do.</p>
<p>Regards,<br>
Sven</p>