We manually maintain a list of symbols to hide from JavaScriptCore in OTHER_LDFLAGS_HIDE_SYMBOLS, which (as I understand it) prevents us from inadvertently exporting weak symbols for C++ standard library operator instantiations. This is a bit of annoying maintenance, as the symbols we need to hide may change arbitrarily with toolchain updates (recently: https://github.com/WebKit/WebKit/pull/6060, https://github.com/WebKit/WebKit/pull/7352). Can we do anything to avoid the maintenance? One idea is to have a build step that analyzes object files as they are compiled and produces a list of weak stdlib symbols, which can then be passed to the linker via -unexported_symbols_list.
<rdar://problem/103150469>
Pull request: https://github.com/WebKit/WebKit/pull/13049
This commit message got rewritten during landing, so itβs confusingly named, but the code has indeed landed in https://commits.webkit.org/263507@main.