[fpc-devel] Re: FPC related fairy tale

Sven Barth pascaldragon at googlemail.com
Tue Nov 6 16:39:13 CET 2012


Am 06.11.2012 09:13, schrieb Michael Schnell:
> On 11/05/2012 09:28 PM, Sven Barth wrote:
>> the "young mage" => me :)
>
> Could you publish a state report on how powerful the actual magic has 
> become ?

If you mean how far the m68k port has come now, sure:

* currently the only tested "environment" is QEMU's userspace emulation 
for Coldfire (v4e to be precise, though I currently try to stay with 
ISA_A without adding ISA_B features - I save that for later ;) ); I've 
not yet come around to test programs on Aranym (simulates a M68040) or 
real hardware (I plan to purchase a cfv4e development board though :) )
* the state of the Amiga and Atari targets is not yet known (I'd first 
need to build binutils for them); I stated that I won't really work on 
them, but I want them at least compiling and a working "Hello World" 
program on corresponding emulators (target "palmos" is definitely off 
for me though :) )
* no work was yet done for m68k-embedded (I plan it for the future once 
m68k-linux is working good enough)
* the test suite does not yet run unattended, because there are some 
tests that cause a hang in the emulator (not yet investigated) - the 
compiler itself is another example of such an application (so no native 
Coldfire compiler yet)
* primitve procedural programs do definitely work
* StdIO (to/from console/file) is working
* the Linux API can be used without problems (so far)
* signal handling works (recently I also managed to get the stack trace 
output working :) )
* command line parameters are handled correctly, environment variables 
don't work yet
* linking to C libraries was not tested (and from what I've seen so far 
in the startup assembly code it might not work)
* building Pascal libraries was not tested and might not work as well
* sets are currently problematic as well
* 64-Bit operations do work (since the weekend ;) )
* floating point operations don't work currently (includes Currency 
though it should be an Int64 on m68k...)
* the calculation of array element addresses in multi dimensional arrays 
might currently be wrong (at least I had troubles with the MonthDay 
array in SysUtils)

Nevertheless although it's quite hard work it's also a very rewarding 
work as you can see that after a bit of work another test compiles or 
even runs correctly (though most tests currently fail at runtime as you 
can see below).

Here are the testresults from the weekend before I fixed the 64-Bit 
operations (which caused at least 2 tests to fail, though it could be 
more as the compiler sometimes uses 64-Bit values for immediates) and 
the command line parameters.

=== testresults begin ===

Total = 5919 (1133:4786)
Total number of compilations = 3681 (172:3509)
Successfully compiled = 2603
Successfully failed = 906
Compilation failures = 170
Compilation that did not fail while they should = 2
Total number of runs = 2238 (961:1277)
Successful runs = 1277
Failed runs = 961
Number units compiled = 121
Number program that should not be run = 241
Number of skipped tests = 389
Number of skipped graph tests = 10
Number of skipped interactive tests = 29
Number of skipped known bug tests = 6
Number of skipped tests for other versions = 4
Number of skipped tests for other cpus = 282
Number of skipped tests for other targets = 58

=== testresults end ===

Regards,
Sven



More information about the fpc-devel mailing list