[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bootstrapping ghc through cross-build?



Hello,

Ilias Tsitsimpis, le ven. 06 sept. 2024 15:10:25 +0300, a ecrit:
> On Wed, Jul 31, 2024 at 10:14PM, Samuel Thibault wrote:
> > It looks like it's confusing the pointer size of the builder and the
> > target? (SIZEOF_VOID_P is defined to 8 in config.logand mk/config.h)
> 
> The bug manifests when the bootstrap compiler is unregisterised. GHC on
> i386 is unregisterised because the native backend uses SSE2 instructions
> and violates the architecture baseline.
> 
> As a next step, I would suggest to:
> 
>   1. Try using a different builder architecture that has a registerised
>      GHC. As an example, hurd-i386 has a registerised GHC, or
> 
>   2. Build a registerised GHC on i386 first, and use that.

Thanks for the hint!

I tried to build a registerised i386 ghc, but then cross-building
hurd-amd64 got

out of memory (requested 1048576...

I tried to run through strace, and got 

https://dept-info.labri.fr/~thibault/tmp/strace.log

it seems it indeed needs a lot of memory.

I eventually reserved an arm64 node to get more memory addressing space,
and that did work. I had to tinker a couple things (will report them),
and eventually got a ghc_hurd-amd64.deb. Now building it natively.

Thanks again,
Samuel


Reply to: