As of today the wasm-ld linker only supports undefined symbols if they are function symbols. As you can see from the error message the error all relate to data symbols (in this case vtable and typinfo data symbols). This is because, for function symbols, it is able to include a function import in place of the undefined symbol allowing it to be undefined at link time and yet defined at runtime. For data symbols there is no logical equivalent. The best the linker can do is write a zero (or some other constant) in the place of the undefined symbol's address.
I am curious what the native linker does when in order to handle a reference to an undefined data symbol. I'm assuming it writes zeros, but I would guess that would result in a program that would crash as soon as one of those symbols was accessed? I'll take a look to see if I can do the same thing in wasm-ld that the native linker would do. How does the program in question end up being linked into something that doesn't crash?
cheers,
sam