Reply 60 of 137, by kas1e
@jmarsh
Collected some more info. I have 2 PPC based machines which work under AmigaOS4, one of them is Pegasos2 with "true" ppc32 (i assume those ones were in some old PPC Macs too): Motorola MPC 7447/7457 running on 1ghz. And another machine is a more or less fresh one, AmigaONEx5000 which P5020 CPU running at 2.0Ghz (i do not understand fully at moment is it full PowerPC or Power + emulated calls to make it "PowerPC", at least it based on https://en.wikipedia.org/wiki/PowerPC_e5500 , but not sure if it really PowerPC.
Anyway, I run a compiled binary with your PPC-jit code on both machines, and it crashes the same. So at least it's for sure not differences between PowerPC vs Power, but something general about the handling of all this on AmigaOS4 itself.
There are crash logs with all the info about registers and stuff:
pegasos2 one (that one with Motorola MPC 7447/7457): http://kas1e.mikendezign.com/aos4/dosbox/jit/ … og_pegasos2.txt
x5000 one (that one with Freescales's P5020): http://kas1e.mikendezign.com/aos4/dosbox/jit/ … shlog_x5000.txt
As I can see, the content of special registers different in all cases. Only in the "MSR" register, while whole data different in, the last 4 bytes the same in both cases: F030. Not sure if it points us on anything anyway 😀
I also checked if in cache.h I go inside of "#if (C_HAVE_MPROTECT)" at all, and no, I didn't reach it. I.e. for me "C_HAVE_MPROTECT" parts skipped.
EDIT: And in case it matters, there is readelf's output (so to see sections, their flags, etc): http://kas1e.mikendezign.com/aos4/dosbox/jit/readelf.txt
EDIT2: And yep, we didn't have mprotect(), or sys/mman.h at all there.