Hello Oskar,
I've had another look and it seems that sometimes mprotect fails on
previously unused areas leaving the memory unwritable. There doesn't
seem to be any logic to it so instead the whole of the code region is
allocated at the start. That could result in the poly process requiring
a large swap space at the start but there doesn't seem to be any
alternative. This is in commit c92c335.
David
On 01/11/2021 14:22, Oskar Abrahamsson wrote:
Hello David,
Unfortunately the fix has caused the arm64 bootstrap to die during its 6th
stage on my machine. Here is an example of this error:
Making Lex
Making LEX_
Making SymbolsSig
Created signature SymbolsSig
Created functor LEX_
Making Pretty
Created structure Pretty
Making Symbols
Created structure Symbols
Making Debug
/bin/sh: line 1: 47319 Bus error: 10 ./polyimport
./bootstrap/bootstrap64.txt -I . < ./bootstrap/Stage1.sml
make[2]: *** [polyexport.o] Error 138
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
This happens after running ./configure and then make in a freshly checked out
repository. It also seems to fail at different places in the 6th bootstrap
stage (but always during that stage) if I run make again.
I also attempted building the compiler with arch -x86_64, and that works fine.
— Oskar
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml