2016-03-01 22:57:46 +00:00
|
|
|
// Copyright 2015 The Go Authors. All rights reserved.
|
2015-05-21 13:28:10 -04:00
|
|
|
// 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"
|
2016-09-16 13:56:39 -07:00
|
|
|
"cmd/compile/internal/gc"
|
2016-10-19 17:55:10 +02:00
|
|
|
"cmd/compile/internal/mips"
|
2015-09-10 11:33:09 -04:00
|
|
|
"cmd/compile/internal/mips64"
|
2015-05-21 13:28:10 -04:00
|
|
|
"cmd/compile/internal/ppc64"
|
2019-11-04 04:40:47 +11:00
|
|
|
"cmd/compile/internal/riscv64"
|
2016-04-11 20:23:19 -04:00
|
|
|
"cmd/compile/internal/s390x"
|
2018-03-29 00:55:53 +02:00
|
|
|
"cmd/compile/internal/wasm"
|
2015-05-21 13:28:10 -04:00
|
|
|
"cmd/compile/internal/x86"
|
2017-04-18 12:53:25 -07:00
|
|
|
"cmd/internal/objabi"
|
2015-05-21 13:28:10 -04:00
|
|
|
"fmt"
|
2015-11-18 23:39:53 -05:00
|
|
|
"log"
|
2015-05-21 13:28:10 -04:00
|
|
|
"os"
|
|
|
|
|
)
|
|
|
|
|
|
2017-03-17 13:35:31 -07:00
|
|
|
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,
|
2019-11-04 04:40:47 +11:00
|
|
|
"riscv64": riscv64.Init,
|
2017-03-17 13:35:31 -07:00
|
|
|
"s390x": s390x.Init,
|
2018-03-29 00:55:53 +02:00
|
|
|
"wasm": wasm.Init,
|
2017-03-17 13:35:31 -07:00
|
|
|
}
|
|
|
|
|
|
2015-05-21 13:28:10 -04:00
|
|
|
func main() {
|
2015-11-18 23:39:53 -05:00
|
|
|
// disable timestamps for reproducible output
|
|
|
|
|
log.SetFlags(0)
|
|
|
|
|
log.SetPrefix("compile: ")
|
|
|
|
|
|
2017-04-18 12:53:25 -07:00
|
|
|
archInit, ok := archInits[objabi.GOARCH]
|
2017-03-17 13:35:31 -07:00
|
|
|
if !ok {
|
2017-04-18 12:53:25 -07:00
|
|
|
fmt.Fprintf(os.Stderr, "compile: unknown architecture %q\n", objabi.GOARCH)
|
2015-05-21 13:28:10 -04:00
|
|
|
os.Exit(2)
|
|
|
|
|
}
|
2016-09-16 13:56:39 -07:00
|
|
|
|
2017-03-17 13:35:31 -07:00
|
|
|
gc.Main(archInit)
|
2016-09-16 13:56:39 -07:00
|
|
|
gc.Exit(0)
|
2015-05-21 13:28:10 -04:00
|
|
|
}
|