mirror of
https://github.com/golang/go.git
synced 2025-05-20 14:53:23 +00:00
This commit adds the wasm architecture to the compile command. A later commit will contain the corresponding linker changes. Design doc: https://docs.google.com/document/d/131vjr4DH6JFnb-blm_uRdaC0_Nv3OUwjEY5qVCxCup4 The following files are generated: - src/cmd/compile/internal/ssa/opGen.go - src/cmd/compile/internal/ssa/rewriteWasm.go - src/cmd/internal/obj/wasm/anames.go Updates #18892 Change-Id: Ifb4a96a3e427aac2362a1c97967d5667450fba3b Reviewed-on: https://go-review.googlesource.com/103295 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
// Copyright 2015 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
import (
|
|
"cmd/compile/internal/amd64"
|
|
"cmd/compile/internal/arm"
|
|
"cmd/compile/internal/arm64"
|
|
"cmd/compile/internal/gc"
|
|
"cmd/compile/internal/mips"
|
|
"cmd/compile/internal/mips64"
|
|
"cmd/compile/internal/ppc64"
|
|
"cmd/compile/internal/s390x"
|
|
"cmd/compile/internal/wasm"
|
|
"cmd/compile/internal/x86"
|
|
"cmd/internal/objabi"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
var archInits = map[string]func(*gc.Arch){
|
|
"386": x86.Init,
|
|
"amd64": amd64.Init,
|
|
"amd64p32": amd64.Init,
|
|
"arm": arm.Init,
|
|
"arm64": arm64.Init,
|
|
"mips": mips.Init,
|
|
"mipsle": mips.Init,
|
|
"mips64": mips64.Init,
|
|
"mips64le": mips64.Init,
|
|
"ppc64": ppc64.Init,
|
|
"ppc64le": ppc64.Init,
|
|
"s390x": s390x.Init,
|
|
"wasm": wasm.Init,
|
|
}
|
|
|
|
func main() {
|
|
// disable timestamps for reproducible output
|
|
log.SetFlags(0)
|
|
log.SetPrefix("compile: ")
|
|
|
|
archInit, ok := archInits[objabi.GOARCH]
|
|
if !ok {
|
|
fmt.Fprintf(os.Stderr, "compile: unknown architecture %q\n", objabi.GOARCH)
|
|
os.Exit(2)
|
|
}
|
|
|
|
gc.Main(archInit)
|
|
gc.Exit(0)
|
|
}
|