Skip to content

Commit

Permalink
misc/wasm: move wasm runtime files to lib/wasm
Browse files Browse the repository at this point in the history
Fixes golang#68024

Change-Id: I730c3ecfb14472f3eea3895c2a4d5e1d4ac146f5
GitHub-Last-Rev: 4242f36
GitHub-Pull-Request: golang#68840
Reviewed-on: https://go-review.googlesource.com/c/go/+/604696
Reviewed-by: Cherry Mui <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
Reviewed-by: Johan Brandhorst-Satzkorn <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
Auto-Submit: Dmitri Shuralyov <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
  • Loading branch information
Zxilly authored and gopherbot committed Aug 30, 2024
1 parent 4f327f2 commit 6781ff2
Show file tree
Hide file tree
Showing 56 changed files with 74 additions and 8 deletions.
3 changes: 3 additions & 0 deletions doc/next/7-ports.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
## Ports {#ports}

### WebAssembly {#wasm}

The support files for WebAssembly have been moved to `lib/wasm` from `misc/wasm`.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion misc/wasm/wasm_exec.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/encoding.min.js"></script>
(see https://caniuse.com/#feat=textencoder)
-->
<script src="wasm_exec.js"></script>
<script src="../../lib/wasm/wasm_exec.js"></script>
<script>
if (!WebAssembly.instantiateStreaming) { // polyfill
WebAssembly.instantiateStreaming = async (resp, importObject) => {
Expand Down
5 changes: 5 additions & 0 deletions src/cmd/distpack/test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ var modRules = []testRule{
{name: "golang.org/toolchain@*/src/cmd/go/main.go"},
{name: "golang.org/toolchain@*/src/bytes/bytes.go"},

{name: "golang.org/toolchain@*/lib/wasm/go_js_wasm_exec"},
{name: "golang.org/toolchain@*/lib/wasm/go_wasip1_wasm_exec"},
{name: "golang.org/toolchain@*/lib/wasm/wasm_exec.js"},
{name: "golang.org/toolchain@*/lib/wasm/wasm_exec_node.js"},

{name: "**/.DS_Store", exclude: true},
{name: "golang.org/toolchain@*/.git", exclude: true},
{name: "golang.org/toolchain@*/.gitattributes", exclude: true},
Expand Down
20 changes: 14 additions & 6 deletions src/cmd/go/internal/toolchain/select.go
Original file line number Diff line number Diff line change
Expand Up @@ -353,13 +353,20 @@ func Exec(gotoolchain string) {
base.Fatalf("download %s: %v", gotoolchain, err)
}
if info.Mode()&0111 == 0 {
// allowExec sets the exec permission bits on all files found in dir.
allowExec := func(dir string) {
// allowExec sets the exec permission bits on all files found in dir if pattern is the empty string,
// or only those files that match the pattern if it's non-empty.
allowExec := func(dir, pattern string) {
err := filepath.WalkDir(dir, func(path string, d fs.DirEntry, err error) error {
if err != nil {
return err
}
if !d.IsDir() {
if pattern != "" {
if matched, _ := filepath.Match(pattern, d.Name()); !matched {
// Skip file.
return nil
}
}
info, err := os.Stat(path)
if err != nil {
return err
Expand All @@ -380,12 +387,13 @@ func Exec(gotoolchain string) {
// then the check of bin/go above might succeed, the other go command
// would skip its own mode-setting, and then the go command might
// try to run a tool before we get to setting the bits on pkg/tool.
// Setting pkg/tool before bin/go avoids that ordering problem.
// Setting pkg/tool and lib before bin/go avoids that ordering problem.
// The only other tool the go command invokes is gofmt,
// so we set that one explicitly before handling bin (which will include bin/go).
allowExec(filepath.Join(dir, "pkg/tool"))
allowExec(filepath.Join(dir, "bin/gofmt"))
allowExec(filepath.Join(dir, "bin"))
allowExec(filepath.Join(dir, "pkg/tool"), "")
allowExec(filepath.Join(dir, "lib"), "go_?*_?*_exec")
allowExec(filepath.Join(dir, "bin/gofmt"), "")
allowExec(filepath.Join(dir, "bin"), "")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- lib/wasm/go_js_wasm_exec --
2 changes: 1 addition & 1 deletion src/syscall/js/js_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// To run these tests:
//
// - Install Node
// - Add /path/to/go/misc/wasm to your $PATH (so that "go test" can find
// - Add /path/to/go/lib/wasm to your $PATH (so that "go test" can find
// "go_js_wasm_exec").
// - GOOS=js GOARCH=wasm go test
//
Expand Down

0 comments on commit 6781ff2

Please sign in to comment.