diff --git a/src/cmd/link/internal/wasm/asm.go b/src/cmd/link/internal/wasm/asm.go index 7cc6bef6b78daa888c45f1ab26b19208efb280e1..bffbc7c8a671ed9fbb9602f2b2bff207efb69601 100644 --- a/src/cmd/link/internal/wasm/asm.go +++ b/src/cmd/link/internal/wasm/asm.go @@ -11,6 +11,7 @@ import ( "cmd/link/internal/sym" "io" "regexp" + "runtime" ) const ( @@ -172,6 +173,7 @@ func asmb(ctxt *ld.Link) { writeBuildID(ctxt, buildid) } + writeGoVersion(ctxt) writeTypeSec(ctxt, types) writeImportSec(ctxt, hostImports) writeFunctionSec(ctxt, fns) @@ -220,6 +222,13 @@ func writeBuildID(ctxt *ld.Link, buildid []byte) { writeSecSize(ctxt, sizeOffset) } +func writeGoVersion(ctxt *ld.Link) { + sizeOffset := writeSecHeader(ctxt, sectionCustom) + writeName(ctxt.Out, "go.version") + ctxt.Out.Write([]byte(runtime.Version())) + writeSecSize(ctxt, sizeOffset) +} + // writeTypeSec writes the section that declares all function types // so they can be referenced by index. func writeTypeSec(ctxt *ld.Link, types []*wasmFuncType) {