Hello everyone,

In the just-tagged release 1.38.46 there are changes to our internal ABI,
specifically, the errno constants have changed.

This should not be noticeable in portable code, that is, if you use the
errno C constants (EBADF, EINVAL, etc.) then everything should be fine.
However, if you assume the actual integer value of those, or mix code built
with the old ABI with the new compiler, you can get errors.

To be safe, you should always rebuild from source all code and libraries in
every emscripten release, as we do not guarantee that the internal ABI is
stable (intentionally, so that we can improve it over time, as we are doing
now).

Background: The new errno constants match the ones in wasi, see
https://github.com/emscripten-core/emscripten/pull/9545 This is part of a
refactoring of our syscalls that will both decrease code size (by avoiding
annoyances in musl's syscalls like being variadic) and also allow emcc
output to run in wasm runtimes like wasmer and wasmtime. Note that this
process will take more than one release (we are doing one syscall at a
time, gradually), so the ABI will keep changing for a while.

Please test and report any unexpected breakage!

- Alon

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQentE24B2rJENfAXQMB3g97rU%2BBQ8HDixmO6i5nuCuMQ%40mail.gmail.com.

Reply via email to