WebAssembly / tool-conventions

Conventions supporting interoperatibility between tools working with WebAssembly.
Artistic License 2.0
306 stars 66 forks source link

Document import and export info subsections of `dylink` section. #175

Closed sbc100 closed 3 years ago

dschuff commented 3 years ago

I guess this is just a dynamic equivalent of the linking symbol table? are all the same flags and linkage types valid?

dschuff commented 3 years ago

I guess the 2-level namespace is actually relevant here (compared to e.g. static linking, where it isn't?)

sbc100 commented 3 years ago

I guess this is just a dynamic equivalent of the linking symbol table? are all the same flags and linkage types valid?

This bares some similarity to the symbol table we use in static linking but its not quite the same. It can only refer to imports and exports. It can't refer to other things like functions, or data symbols which are not imported or exported. Its really just about marking certain exports as TLS and certain imports as weak.

sbc100 commented 3 years ago

Another way of putting it. Unlike in the static linking case there is no actual symbol table so we construct a kind of symbol table form imports and exports.. but since imports and exports are not expressive enough on their own we need some supplemental information.