ack/plat
tevorbl 6fe335b9e9 another fix for printf(float) on m68k platform
bug caused by this instruction:

  fmove.l fp0,d0 

problem was caused by a conflict between the fpu emulator (softfloat) and the compiler.

the emulator implemented this as a purely arithmetic move & conversion,
but the compiler assumed that the result could be interpreted as a logical (ie unsigned) conversion.
rightly or wrongly.


for example, if fp0 contained the value 2576980377.0  which is unsigned integer -1717987328
the emulator would treat this as an integer overflow and move 0x7fffffff (INT_MAX) into d0.

The complier on the other hand would assume that d0 contained 2576980377 (the unsigned value).

I don't know which is correct, but this is my fix for the time being.
2020-06-02 13:00:03 +01:00
..
cpm Fix incorrect instruction in the emulator disassembler. 2020-02-05 22:43:27 +01:00
em Move time() into sys; change the name of the variable which controls it. 2018-06-23 19:40:50 +02:00
em22 Get em22 working. Remove the leading-underscore system calls from its libsys. 2018-06-23 15:57:57 +02:00
linux All the Linux include directories are the same, so common them all out into a 2018-06-24 19:57:43 +02:00
linux68k another fix for printf(float) on m68k platform 2020-06-02 13:00:03 +01:00
linux386 Define _EM_LLSIZE, int64_t, uint64_t for linux386. 2019-09-12 13:40:07 -04:00
linuxmips Add first long-long test for linux386. 2019-09-05 13:13:02 -04:00
linuxppc Add first long-long test for linux386. 2019-09-05 13:13:02 -04:00
osx Include more headers to declare functions. 2019-03-22 15:59:35 -04:00
osx386 Enable long long in ACK C for osx386. 2019-09-25 12:35:48 -04:00
osxppc For osxppc, change size 8 to alignment 4. 2018-01-27 16:35:48 -05:00
pc86 Add first long-long test for linux386. 2019-09-05 13:13:02 -04:00
pdpv7 Move time() into sys; change the name of the variable which controls it. 2018-06-23 19:40:50 +02:00
qemuppc Move time() into sys; change the name of the variable which controls it. 2018-06-23 19:40:50 +02:00
rpi Move time() into sys; change the name of the variable which controls it. 2018-06-23 19:40:50 +02:00
build.lua Turns out that the compiler needs access to the libpc headers too; refactor 2018-06-18 22:17:38 +02:00