WebGHC/wasm-cross

musl sizeof(long double)

Closed this issue · 2 comments

In the configure phase of musl for wasm32, you get this error:

checking whether compiler's long double definition matches float.h... no
./configure: error: unsupported long double type

It is because of this part of musl's configure script. It seems that Clang thinks long double has size 16, and musl is expecting it to be 8.

Looks like emscripten solves this with compiler primitives. It might be worth using their libc, but that could incur a bunch of their runtime stuff, which would be a pain to integrate.

hi Elvish,
I am now trying to build openwork for a mips board on my macOS Monterey. I am also getting stuck to this issue. My debugging information is as follows, which is the same with you mentioned in this issue. I am not sure about your solution suggestions. Would you please give me some hints for my problem? Thanks a lot.

using compiler runtime libraries: -lgcc -lgcc_eh
checking preprocessor condition __mips_isa_rev >= 6... false
checking preprocessor condition _MIPSEL || __MIPSEL || MIPSEL... false
checking preprocessor condition __mips_soft_float... false
checking whether compiler's long double definition matches float.h... no
/Volumes/Dev/2K1000/loongwrt-loongson64-3.10/build_dir/toolchain-mips_mips64_64_gcc-7.4.0_musl/musl-1.1.22/configure: error: unsupported long double type
make[3]: *** [/Volumes/Dev/2K1000/loongwrt-loongson64-3.10/build_dir/toolchain-mips_mips64_64_gcc-7.4.0_musl/musl-1.1.22/.configured] Error 1
make[3]: Leaving directory `/Volumes/Dev/2K1000/loongwrt-loongson64-3.10/toolchain/musl'
time: toolchain/musl/compile#0.52#0.62#1.53