Hello Oskar,
On 01/11/2021 18:01, Oskar Abrahamsson wrote:
With this fix, the bootstrap now completes on arm64 and I get a compiler executable. I was able to build the previously failing example (poly-mlyacc.ML from HOL4). However: the bootstrap no longer works under Rosetta:
I've had a look at this and pushed a fix so that the bootstrap now builds with both native ARM64 code and X86+Rosetta. The MAP_JIT option to mmap is needed in ARM code as part of the way of getting round the write+execute problem but seems to have a different effect in X86+Rosetta. It isn't actually needed in X86 code so it's now no longer used.
I?m also experiencing a new failure when building the HOL4 base theories, where HOL4 (or rather, its own variant of make called ?Holmake?) fails with a SIGSEGV. I don?t know what Holmake is doing when this failure occurs; I can?t get the --debug flags show anything. Given that it?s a segfault it seems possible that this error is related, even if this is the first time I have managed to run the arm64 compiler on this code.
It's quite possible there's a bug in the ARM code generator.
David