What to do with gmp wasm fixes
Sylvain Henry
sylvain at haskus.fr
Mon May 23 09:34:07 UTC 2022
Hi Cheng,
Couldn't the changes be upstreamed into libgmp directly? Other projects
may benefit from being able to compile libgmp into wasm. Or are the
changes specific to GHC?
> - Send a PR to gmp-tarballs, including our patch (doesn't alter
behavior on native archs) and the updated tarball build script
I'm not sure if it's still the case, but in the past we applied some
patches to gmp before building it (to use fPIC and to remove the docs).
So it should be possible to do it for wasm.
> - Give up gmp completely, only support native bignum for wasm32.
That's the solution we will use for the JS backend. For wasm, it would
be great to compare performance between both native and gmp ghc-bignum
backends. libgmp uses some asm code when it is directly compiled to
x86-64 asm for example and afaict passing through wasm will make it use
less optimized codes. It may make the gmp backend less relevant: only
benchmarks will tell. I would ensure that everything works with
ghc-bignum's native backend before worrying about using gmp.
Cheers,
Sylvain
On 20/05/2022 13:43, Cheng Shao wrote:
> Hi all,
>
> The ghc wasm32-wasi build needs to patch gmp. Currently, our working
> branch uses a fork of gmp-tarballs that includes the patch into the
> tarball, but at some point we need to upstream it. What's the best way
> to add these fixes?
>
> - Send a PR to gmp-tarballs, including our patch (doesn't alter
> behavior on native archs) and the updated tarball build script
> - Don't touch gmp-tarballs, use "system" gmp, so the wasm32-wasi gmp
> build process is decoupled from ghc build
> - Give up gmp completely, only support native bignum for wasm32.
>
> Cheers.
> Cheng
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
More information about the ghc-devs
mailing list