The LLVM "hidden" flag needs to be passed through the Wasm intermediate objects in order for the linker to apply it to the final Wasm object.
The corresponding change in LLD is here: https://github.com/WebAssembly/lld/pull/14
|  Differential  D40442  
Add visibility flag to Wasm symbol flags Authored by ncw on Nov 24 2017, 7:24 AM. 
Details The LLVM "hidden" flag needs to be passed through the Wasm intermediate objects in order for the linker to apply it to the final Wasm object. The corresponding change in LLD is here: https://github.com/WebAssembly/lld/pull/14 
Diff Detail 
 Event Timeline
 Comment Actions lgtm, with a minor change 
 | ||||||||||||||||||
Why not make this 0 and 1?