This patch improves support for a wider version range of emsdk
, avoiding breakage if struct layouts change.
- This removes hardcoded offsets from
h$base_fillStat
inbase/jsbits/base.js
, relying instead of values computed by the C compiler and inserted intoHsBaseConfig.h
- This adds a version check for
emsdk
, in particular ensuring that theemsdk
version on a user system is the same as the version a bindist was booted with
Note: there is currently no upper bound on the emsdk version. If we get all the data layouts from the C compiler, future breakage should be unlikely (hopefully, haha). There are lots of emsdk releases and not allowing anything newer than the GHC release would be rather inconvenient for users.