Yokemate of Keyboards
Posts: 12136 from 2003/5/22
From: Germany
Addendum:
> Interesting note:
> "
X5000s CPU is not compatible with any FreePascal program at the moment"
>
> Is this only true for OS4 or also for MorphOS on X5000?
"
Why my Programs does not work on AmigaOS4 X5000? The problem is, that FreePascal itself does not know the X5000 CPU, and it seems to be not a normal PowerPC, but needs some special care. I heard something about special alignment problems. I don’t have a X5000, Charlie doesn’t have a X5000 and we do not know whats special about it to fix that issue. Besides, we both are not really using OS4, we both use [...] MorphOS [...]. [...] If you are interested in Pascal and Amiga(OS4) and want to help with the compiler doing a better job on X5000 [...] you can just do it, it’s open source, send us a patch."
https://blog.alb42.de/2020/05/30/freepascal-and-x5000/I have a feeling this doesn't really answer the question, does it? ;-)
But this does:
"
I'd like to fix Free Pascal's code generator to work properly on the X5000 on AmigaOS4. [...] My guess is that OS4's kernel doesn't provide a full compatibility with the standard 603/G3 instruction set via emulation, esp. when it comes to various FPU alignment restrictions. (MorphOS might also affected partly, but its kernel is more robust in this regard.)"
https://twitter.com/chainq/status/1276276393610002433https://twitter.com/chainq/status/1276277113474220033Edit: Finally solved:
"
this issue, or at least the worst of it is now fixed in Free Pascal SVN trunk. As usual, the issue was solved with the help of a MorphOS Developer. They provided remote access to an X5000. [...] It was some optional optimization in some memory copy/fill routine, which only works on a subset of PowerPCs - primarily the ones shipped by Apple back then - as it assumes a certain cache line size. This optimization should have been disabled for OS4, but it wasn't. [...] Meanwhile, it was also uncovered, that FPC's PowerPC code generator doesn't really respect a set of FPU data access alignment restrictions, but these are normally hid by the OS via exception handling. These to be fixed soon."
https://twitter.com/chainq/status/1286752510313668612https://twitter.com/chainq/status/1286926079027011584https://twitter.com/chainq/status/1286927164303200256[ Edited by Andreas_Wolf 18.09.2020 - 22:39 ]