Open jmillikin opened 2 days ago
Because wasm-unknown by default doesn't target a particular platform, it's difficult to say whether memory should be imported or exported by default. @deadprogram what do environments like wazero expect? Memory, or no memory? Or do they support both?
The
wasm-unknown
target invokeswasm-ld
with the--import-memory
option, which causes the following import to be emitted in the output:This is undesirable to have as default behavior for
wasm-unknown
, because it introduces a mandatory import into what is otherwise a freestanding module.If the
--import-memory
were to be removed fromtargets/wasm-unknown.json
ldflags, thenwasm-ld
would emit this instead:This option appears to have been added as part of a larger change in https://github.com/tinygo-org/tinygo/pull/4125/commits/2cd966d6d577df17cfde3869ee7e0dbb4da9307f, but it's unclear from the commit message why
--import-memory
was added. Based on discussion in the PR, I think it was simply to reduce the number of bytes in an absolute bare-bones "hello world" module, which IMO is not a compelling reason to have it set by default.