From 03ef105daeff4fef1fd66dbffb8e17d1f779b9ea Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Thu, 10 Oct 2019 16:16:54 +0000 Subject: 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 TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/cmd/asm/internal/arch/arch.go | 2 -- src/cmd/compile/internal/amd64/galign.go | 5 ----- src/cmd/compile/internal/ssa/config.go | 13 ------------- src/cmd/compile/internal/ssa/rewrite.go | 4 ++-- src/cmd/compile/main.go | 1 - src/cmd/dist/build.go | 2 +- src/cmd/go/internal/imports/build.go | 4 ++-- src/cmd/go/internal/work/exec.go | 2 +- src/cmd/internal/obj/x86/obj6.go | 10 ---------- src/cmd/internal/objfile/disasm.go | 30 ++++++++++++++---------------- src/cmd/internal/sys/arch.go | 13 +------------ src/cmd/link/internal/amd64/obj.go | 3 --- src/cmd/link/main.go | 2 +- 13 files changed, 22 insertions(+), 69 deletions(-) (limited to 'src/cmd') 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() -- cgit v1.3