This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Honor WASM_SYMBOL_EXPORT symbol flag
ClosedPublic

Authored by sbc100 on Feb 6 2019, 5:42 PM.

Details

Summary

This flag means that symbol should be exported in the final binary.

The reason for this change is to allow source level annotations to
trigger a given symbol to be exported:
https://github.com/WebAssembly/tool-conventions/issues/64

Diff Detail

Repository
rL LLVM

Event Timeline

sbc100 created this revision.Feb 6 2019, 5:42 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 6 2019, 5:43 PM
sbc100 edited the summary of this revision. (Show Details)Feb 6 2019, 5:43 PM
sbc100 added reviewers: ruiu, kripken.
ruiu accepted this revision.Feb 6 2019, 5:50 PM

LGTM

I think I like the idea of adding a way to annotate a symbol at source level so that the symbol is exported. It is unfortunate that there's no way to express distinction between module-local (DSO-local) symbols and (truly) global symbols in C by default.

This revision is now accepted and ready to land.Feb 6 2019, 5:50 PM
sbc100 retitled this revision from [WebAssembly] Honor WASM_SYBMOL_EXPORT symbol flag to [WebAssembly] Honor WASM_SYMBOL_EXPORT symbol flag.Feb 6 2019, 5:52 PM
This revision was automatically updated to reflect the committed changes.