[llvm] [WebAssembly] Define `__funcref_call_table` in generated asm and objects (PR #180900)

Demetrius Kanios via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 22:40:46 PDT 2026


QuantumSegfault wrote:

No...this is ugly. Trying to thread `funcref_call_table` into all the necessary spots in `wasm-ld` ends up being more than a neat <20 lines in a single file.

No...all considered, I still strongly believe that a weak symbol, as was originally intended by @pmatos is the best way. There's nowhere it fits as cleanly.

-------

So, as I've said before already

> So the question still remains, what's the most appropriate way to mark a MCSymbol we magicked into existence as "defined" (having an appropriate "Fragment").

As far as I can tell, this IS the way to define it (as it is not attached to an IR global). As odd as it seems. `emitLabel` is the magic word.

Maybe it looks better now? I shifted it into `emitDecls` and replaced a couple of the conditionals with asserts instead. Make the expectations clearer



https://github.com/llvm/llvm-project/pull/180900


More information about the llvm-commits mailing list