-
Notifications
You must be signed in to change notification settings - Fork 695
Closed
Milestone
Description
Symbol re-exporting is when an export (publicly visible and linkable symbol) is tagged with meta-data that signals to the linker or dynamic loader/linker that the symbol either:
- resides in another library with:
a. same name
b. different name - resides in the same library with:
a. same name
b. different name
Ostensibly, the point of the re-exporting mechanism is to:
- decouple the symbol from its implementation
- allow platform specific code for linking against the same symbol
- allow forwarding symbol names to other/different symbol names
There are various reasons why you'd want to do this, some applicable to wasm, some not.
In the three major binary container formats, each implement a version of re-exporting for their declared exports.
- PE32 uses the
ForwarderChain
- ELF uses the
GNU_IFUNC
- Mach-o uses special tagging in the export trie's entry
So can (or should) exports in wasm be able to re-export, and if so, how would this be implemented/represented?