mirror of https://github.com/golang/go.git
cmd/dist,cmd/go: define assembly macros, handle GOARM value with soft/hardfloat
CL 525637 added GOARM_x assembly macros based on GOARM value. But it did not define the macro in cmd/dist, so the macro is not set during bootstrapping. This CL defines them. With CL 514907, cfg.GOARM can also take a soft/hardfloat suffix, like "7,hardfloat". Handle that case. For #65601. Change-Id: I60ffe7e8b623ae693d91d6e8595067a6f76565b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/562995 Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
a0226c5680
commit
e4ebd13f7a
|
|
@ -903,6 +903,20 @@ func runInstall(pkg string, ch chan struct{}) {
|
|||
// Define GORISCV64_value from goriscv64
|
||||
asmArgs = append(asmArgs, "-D", "GORISCV64_"+goriscv64)
|
||||
}
|
||||
if goarch == "arm" {
|
||||
// Define GOARM_value from goarm, which can be either a version
|
||||
// like "6", or a version and a FP mode, like "7,hardfloat".
|
||||
switch {
|
||||
case strings.Contains(goarm, "7"):
|
||||
asmArgs = append(asmArgs, "-D", "GOARM_7")
|
||||
fallthrough
|
||||
case strings.Contains(goarm, "6"):
|
||||
asmArgs = append(asmArgs, "-D", "GOARM_6")
|
||||
fallthrough
|
||||
default:
|
||||
asmArgs = append(asmArgs, "-D", "GOARM_5")
|
||||
}
|
||||
}
|
||||
goasmh := pathf("%s/go_asm.h", workdir)
|
||||
|
||||
// Collect symabis from assembly code.
|
||||
|
|
@ -1760,8 +1774,8 @@ var cgoEnabled = map[string]bool{
|
|||
// get filtered out of cgoEnabled for 'dist list'.
|
||||
// See go.dev/issue/56679.
|
||||
var broken = map[string]bool{
|
||||
"linux/sparc64": true, // An incomplete port. See CL 132155.
|
||||
"openbsd/mips64": true, // Broken: go.dev/issue/58110.
|
||||
"linux/sparc64": true, // An incomplete port. See CL 132155.
|
||||
"openbsd/mips64": true, // Broken: go.dev/issue/58110.
|
||||
}
|
||||
|
||||
// List of platforms which are first class ports. See go.dev/issue/38874.
|
||||
|
|
|
|||
|
|
@ -367,12 +367,13 @@ func asmArgs(a *Action, p *load.Package) []any {
|
|||
}
|
||||
|
||||
if cfg.Goarch == "arm" {
|
||||
// Define GOARM_value from cfg.GOARM.
|
||||
switch cfg.GOARM {
|
||||
case "7":
|
||||
// Define GOARM_value from cfg.GOARM, which can be either a version
|
||||
// like "6", or a version and a FP mode, like "7,hardfloat".
|
||||
switch {
|
||||
case strings.Contains(cfg.GOARM, "7"):
|
||||
args = append(args, "-D", "GOARM_7")
|
||||
fallthrough
|
||||
case "6":
|
||||
case strings.Contains(cfg.GOARM, "6"):
|
||||
args = append(args, "-D", "GOARM_6")
|
||||
fallthrough
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue