diff options
author | Takeshi Yoneda <[email protected]> | 2020-09-30 04:58:03 +0900 |
---|---|---|
committer | GitHub <[email protected]> | 2020-09-29 21:58:03 +0200 |
commit | f50ad3585d084b17f7754f4b3cb0d42661fee036 (patch) | |
tree | af67bd0e7bcf470cf703ffa70fa6ee7b48e7bdb5 /loader | |
parent | d39c7abb4d618b817e8ae0bd77eb54c7ba3a61bb (diff) | |
download | tinygo-f50ad3585d084b17f7754f4b3cb0d42661fee036.tar.gz tinygo-f50ad3585d084b17f7754f4b3cb0d42661fee036.zip |
support WASI target (#1373)
* initial commit for WASI support
* merge "time" package with wasi build tag
* override syscall package with wasi build tag
* create runtime_wasm_{js,wasi}.go files
* create syscall_wasi.go file
* create time/zoneinfo_wasi.go file as the replacement of zoneinfo_js.go
* add targets/wasi.json target
* set visbility hidden for runtime extern variables
Accodring to the WASI docs (https://github.com/WebAssembly/WASI/blob/master/design/application-abi.md#current-unstable-abi),
none of exports of WASI executable(Command) should no be accessed.
v0.19.0 of bytecodealliance/wasmetime, which is often refered to as the reference implementation of WASI,
does not accept any exports except functions and the only limited variables like "table", "memory".
* merge syscall_{baremetal,wasi}.go
* fix js target build
* mv wasi functions to syscall/wasi && implement sleepTicks
* WASI: set visibility hidden for globals variables
* mv back syscall/wasi/* to runtime package
* WASI: add test
* unexport wasi types
* WASI test: fix wasmtime path
* stop changing visibility of runtime.alloc
* use GOOS=linux, GOARCH=arm for wasi target
Signed-off-by: mathetake <[email protected]>
* WASI: fix build tags for os/runtime packages
Signed-off-by: mathetake <[email protected]>
* run WASI test only on Linux
Signed-off-by: mathetake <[email protected]>
* set InternalLinkage instead of changing visibility
Signed-off-by: mathetake <[email protected]>
Diffstat (limited to 'loader')
-rw-r--r-- | loader/goroot.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/loader/goroot.go b/loader/goroot.go index 964855071..5fa4bea07 100644 --- a/loader/goroot.go +++ b/loader/goroot.go @@ -189,7 +189,7 @@ func mergeDirectory(goroot, tinygoroot, tmpgoroot, importPath string, overrides // with the TinyGo version. This is the case on some targets. func needsSyscallPackage(buildTags []string) bool { for _, tag := range buildTags { - if tag == "baremetal" || tag == "darwin" || tag == "nintendoswitch" { + if tag == "baremetal" || tag == "darwin" || tag == "nintendoswitch" || tag == "wasi" { return true } } |