aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2019-10-10 16:16:54 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2019-10-10 22:38:38 +0000
commit03ef105daeff4fef1fd66dbffb8e17d1f779b9ea (patch)
tree8ff0605ba1cd68688784f5825c47fac28803c47d /src/cmd
parent6dc740f0928e4c1b43697d8e2d4dbc9804911e79 (diff)
downloadgo-03ef105daeff4fef1fd66dbffb8e17d1f779b9ea.tar.xz
all: remove nacl (part 3, more amd64p32)
Part 1: CL 199499 (GOOS nacl) Part 2: CL 200077 (amd64p32 files, toolchain) Part 3: stuff that arguably should've been part of Part 2, but I forgot one of my grep patterns when splitting the original CL up into two parts. This one might also have interesting stuff to resurrect for any future x32 ABI support. Updates #30439 Change-Id: I2b4143374a253a003666f3c69e776b7e456bdb9c Reviewed-on: https://go-review.googlesource.com/c/go/+/200318 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/asm/internal/arch/arch.go2
-rw-r--r--src/cmd/compile/internal/amd64/galign.go5
-rw-r--r--src/cmd/compile/internal/ssa/config.go13
-rw-r--r--src/cmd/compile/internal/ssa/rewrite.go4
-rw-r--r--src/cmd/compile/main.go1
-rw-r--r--src/cmd/dist/build.go2
-rw-r--r--src/cmd/go/internal/imports/build.go4
-rw-r--r--src/cmd/go/internal/work/exec.go2
-rw-r--r--src/cmd/internal/obj/x86/obj6.go10
-rw-r--r--src/cmd/internal/objfile/disasm.go30
-rw-r--r--src/cmd/internal/sys/arch.go13
-rw-r--r--src/cmd/link/internal/amd64/obj.go3
-rw-r--r--src/cmd/link/main.go2
13 files changed, 22 insertions, 69 deletions
diff --git a/src/cmd/asm/internal/arch/arch.go b/src/cmd/asm/internal/arch/arch.go
index 5d1f9a5326..f090d12bed 100644
--- a/src/cmd/asm/internal/arch/arch.go
+++ b/src/cmd/asm/internal/arch/arch.go
@@ -56,8 +56,6 @@ func Set(GOARCH string) *Arch {
return archX86(&x86.Link386)
case "amd64":
return archX86(&x86.Linkamd64)
- case "amd64p32":
- return archX86(&x86.Linkamd64p32)
case "arm":
return archArm()
case "arm64":
diff --git a/src/cmd/compile/internal/amd64/galign.go b/src/cmd/compile/internal/amd64/galign.go
index f6bb961c29..4e7e762d7d 100644
--- a/src/cmd/compile/internal/amd64/galign.go
+++ b/src/cmd/compile/internal/amd64/galign.go
@@ -7,17 +7,12 @@ package amd64
import (
"cmd/compile/internal/gc"
"cmd/internal/obj/x86"
- "cmd/internal/objabi"
)
var leaptr = x86.ALEAQ
func Init(arch *gc.Arch) {
arch.LinkArch = &x86.Linkamd64
- if objabi.GOARCH == "amd64p32" {
- arch.LinkArch = &x86.Linkamd64p32
- leaptr = x86.ALEAL
- }
arch.REGSP = x86.REGSP
arch.MAXWIDTH = 1 << 50
diff --git a/src/cmd/compile/internal/ssa/config.go b/src/cmd/compile/internal/ssa/config.go
index 770f92cc8e..4041a480b3 100644
--- a/src/cmd/compile/internal/ssa/config.go
+++ b/src/cmd/compile/internal/ssa/config.go
@@ -210,19 +210,6 @@ func NewConfig(arch string, types Types, ctxt *obj.Link, optimize bool) *Config
c.FPReg = framepointerRegAMD64
c.LinkReg = linkRegAMD64
c.hasGReg = false
- case "amd64p32":
- c.PtrSize = 4
- c.RegSize = 8
- c.lowerBlock = rewriteBlockAMD64
- c.lowerValue = rewriteValueAMD64
- c.splitLoad = rewriteValueAMD64splitload
- c.registers = registersAMD64[:]
- c.gpRegMask = gpRegMaskAMD64
- c.fpRegMask = fpRegMaskAMD64
- c.FPReg = framepointerRegAMD64
- c.LinkReg = linkRegAMD64
- c.hasGReg = false
- c.noDuffDevice = true
case "386":
c.PtrSize = 4
c.RegSize = 4
diff --git a/src/cmd/compile/internal/ssa/rewrite.go b/src/cmd/compile/internal/ssa/rewrite.go
index 9e8cda978e..539941001d 100644
--- a/src/cmd/compile/internal/ssa/rewrite.go
+++ b/src/cmd/compile/internal/ssa/rewrite.go
@@ -1061,7 +1061,7 @@ func isInlinableMemmove(dst, src *Value, sz int64, c *Config) bool {
// lowers them, so we only perform this optimization on platforms that we know to
// have fast Move ops.
switch c.arch {
- case "amd64", "amd64p32":
+ case "amd64":
return sz <= 16 || (sz < 1024 && disjoint(dst, sz, src, sz))
case "386", "ppc64", "ppc64le", "arm64":
return sz <= 8
@@ -1077,7 +1077,7 @@ func isInlinableMemmove(dst, src *Value, sz int64, c *Config) bool {
// for sizes < 32-bit. This is used to decide whether to promote some rotations.
func hasSmallRotate(c *Config) bool {
switch c.arch {
- case "amd64", "amd64p32", "386":
+ case "amd64", "386":
return true
default:
return false
diff --git a/src/cmd/compile/main.go b/src/cmd/compile/main.go
index bf4289e8f1..e3ec3361f9 100644
--- a/src/cmd/compile/main.go
+++ b/src/cmd/compile/main.go
@@ -24,7 +24,6 @@ import (
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,
diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
index 8f2f57dc22..ea290b1069 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
@@ -61,7 +61,6 @@ var (
var okgoarch = []string{
"386",
"amd64",
- "amd64p32",
"arm",
"arm64",
"mips",
@@ -86,6 +85,7 @@ var okgoos = []string{
"android",
"solaris",
"freebsd",
+ "nacl", // keep;
"netbsd",
"openbsd",
"plan9",
diff --git a/src/cmd/go/internal/imports/build.go b/src/cmd/go/internal/imports/build.go
index 3e9fe357e0..eb070eef4c 100644
--- a/src/cmd/go/internal/imports/build.go
+++ b/src/cmd/go/internal/imports/build.go
@@ -210,7 +210,7 @@ var KnownOS = map[string]bool{
"illumos": true,
"js": true,
"linux": true,
- "nacl": true,
+ "nacl": true, // legacy; don't remove
"netbsd": true,
"openbsd": true,
"plan9": true,
@@ -222,7 +222,7 @@ var KnownOS = map[string]bool{
var KnownArch = map[string]bool{
"386": true,
"amd64": true,
- "amd64p32": true,
+ "amd64p32": true, // legacy; don't remove
"arm": true,
"armbe": true,
"arm64": true,
diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
index 68ab85ae07..71eb5d9cd3 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
@@ -2390,7 +2390,7 @@ func (b *Builder) gccArchArgs() []string {
switch cfg.Goarch {
case "386":
return []string{"-m32"}
- case "amd64", "amd64p32":
+ case "amd64":
return []string{"-m64"}
case "arm":
return []string{"-marm"} // not thumb
diff --git a/src/cmd/internal/obj/x86/obj6.go b/src/cmd/internal/obj/x86/obj6.go
index 6716372460..4554d4a525 100644
--- a/src/cmd/internal/obj/x86/obj6.go
+++ b/src/cmd/internal/obj/x86/obj6.go
@@ -1226,16 +1226,6 @@ var Linkamd64 = obj.LinkArch{
DWARFRegisters: AMD64DWARFRegisters,
}
-var Linkamd64p32 = obj.LinkArch{
- Arch: sys.ArchAMD64P32,
- Init: instinit,
- Preprocess: preprocess,
- Assemble: span6,
- Progedit: progedit,
- UnaryDst: unaryDst,
- DWARFRegisters: AMD64DWARFRegisters,
-}
-
var Link386 = obj.LinkArch{
Arch: sys.Arch386,
Init: instinit,
diff --git a/src/cmd/internal/objfile/disasm.go b/src/cmd/internal/objfile/disasm.go
index 50fc51be87..b979a7f8aa 100644
--- a/src/cmd/internal/objfile/disasm.go
+++ b/src/cmd/internal/objfile/disasm.go
@@ -241,7 +241,7 @@ func (d *Disasm) Print(w io.Writer, filter *regexp.Regexp, start, end uint64, pr
fmt.Fprintf(tw, " %s:%d\t%#x\t", base(file), line, pc)
}
- if size%4 != 0 || d.goarch == "386" || d.goarch == "amd64" || d.goarch == "amd64p32" {
+ if size%4 != 0 || d.goarch == "386" || d.goarch == "amd64" {
// Print instruction as bytes.
fmt.Fprintf(tw, "%x", code[i:i+size])
} else {
@@ -367,24 +367,22 @@ func disasm_ppc64(code []byte, pc uint64, lookup lookupFunc, byteOrder binary.By
}
var disasms = map[string]disasmFunc{
- "386": disasm_386,
- "amd64": disasm_amd64,
- "amd64p32": disasm_amd64,
- "arm": disasm_arm,
- "arm64": disasm_arm64,
- "ppc64": disasm_ppc64,
- "ppc64le": disasm_ppc64,
+ "386": disasm_386,
+ "amd64": disasm_amd64,
+ "arm": disasm_arm,
+ "arm64": disasm_arm64,
+ "ppc64": disasm_ppc64,
+ "ppc64le": disasm_ppc64,
}
var byteOrders = map[string]binary.ByteOrder{
- "386": binary.LittleEndian,
- "amd64": binary.LittleEndian,
- "amd64p32": binary.LittleEndian,
- "arm": binary.LittleEndian,
- "arm64": binary.LittleEndian,
- "ppc64": binary.BigEndian,
- "ppc64le": binary.LittleEndian,
- "s390x": binary.BigEndian,
+ "386": binary.LittleEndian,
+ "amd64": binary.LittleEndian,
+ "arm": binary.LittleEndian,
+ "arm64": binary.LittleEndian,
+ "ppc64": binary.BigEndian,
+ "ppc64le": binary.LittleEndian,
+ "s390x": binary.BigEndian,
}
type Liner interface {
diff --git a/src/cmd/internal/sys/arch.go b/src/cmd/internal/sys/arch.go
index 2e07482c1a..e8687363de 100644
--- a/src/cmd/internal/sys/arch.go
+++ b/src/cmd/internal/sys/arch.go
@@ -7,8 +7,7 @@ package sys
import "encoding/binary"
// ArchFamily represents a family of one or more related architectures.
-// For example, amd64 and amd64p32 are both members of the AMD64 family,
-// and ppc64 and ppc64le are both members of the PPC64 family.
+// For example, ppc64 and ppc64le are both members of the PPC64 family.
type ArchFamily byte
const (
@@ -72,15 +71,6 @@ var ArchAMD64 = &Arch{
MinLC: 1,
}
-var ArchAMD64P32 = &Arch{
- Name: "amd64p32",
- Family: AMD64,
- ByteOrder: binary.LittleEndian,
- PtrSize: 4,
- RegSize: 8,
- MinLC: 1,
-}
-
var ArchARM = &Arch{
Name: "arm",
Family: ARM,
@@ -183,7 +173,6 @@ var ArchWasm = &Arch{
var Archs = [...]*Arch{
Arch386,
ArchAMD64,
- ArchAMD64P32,
ArchARM,
ArchARM64,
ArchMIPS,
diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
index 537a241baa..029a24d7c1 100644
--- a/src/cmd/link/internal/amd64/obj.go
+++ b/src/cmd/link/internal/amd64/obj.go
@@ -38,9 +38,6 @@ import (
func Init() (*sys.Arch, ld.Arch) {
arch := sys.ArchAMD64
- if objabi.GOARCH == "amd64p32" {
- arch = sys.ArchAMD64P32
- }
theArch := ld.Arch{
Funcalign: funcAlign,
diff --git a/src/cmd/link/main.go b/src/cmd/link/main.go
index 4b8df11451..99550b0584 100644
--- a/src/cmd/link/main.go
+++ b/src/cmd/link/main.go
@@ -45,7 +45,7 @@ func main() {
os.Exit(2)
case "386":
arch, theArch = x86.Init()
- case "amd64", "amd64p32":
+ case "amd64":
arch, theArch = amd64.Init()
case "arm":
arch, theArch = arm.Init()