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.
