emscripten-core / emscripten-core/emscripten
function signature mismatch with thinLTO and iostreams since 3.0.0
- 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
Assessment
This issue has not been assessed yet.