emscripten-core / emscripten-core/emscripten

function signature mismatch with thinLTO and iostreams since 3.0.0

Open
#15,638 27 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
27.6k
Forks
3.6k
Avg merge
1d 1h
Merged PRs (30d)
105

Description

We ([libopenmpt](https://github.com/OpenMPT/openmpt/)) are seeing the following warnings in our CI builds since updating emscripten to 3.0.0:

```
wasm-ld: warning: function signature mismatch: _ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj
>>> defined as () -> void in /home/openmpt/opt/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libc++.a(ios.instantiations.o)
>>> defined as (i32, i32, i32, i32) -> void in lto.tmp

wasm-ld: warning: function signature mismatch: _ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj
>>> defined as () -> void in /home/openmpt/opt/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libc++.a(ios.instantiations.o)
>>> defined as (i32, i32, i64, i32, i32) -> void in lto.tmp
```

This is reproducible with Emscripten SDK 3.0.0 in PATH by running `make CONFIG=emscripten ONLY_TEST=1` in the root directory of the repository on Linux (maybe also macOS, but we do not test our emscripten build system from macOS).

I have not investigated any further about possible causes yet.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.