mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Based on riscv-go port. Updates #27532 Change-Id: Ia329daa243db63ff334053b8807ea96b97ce3acf Reviewed-on: https://go-review.googlesource.com/c/go/+/204631 Run-TryBot: Joel Sing <joel@sing.id.au> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
54 lines
1.2 KiB
Go
54 lines
1.2 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/riscv64"
|
|
"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,
|
|
"arm": arm.Init,
|
|
"arm64": arm64.Init,
|
|
"mips": mips.Init,
|
|
"mipsle": mips.Init,
|
|
"mips64": mips64.Init,
|
|
"mips64le": mips64.Init,
|
|
"ppc64": ppc64.Init,
|
|
"ppc64le": ppc64.Init,
|
|
"riscv64": riscv64.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)
|
|
}
|