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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to