Skip to content

Commit 03ef105

Browse files
committed
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 golang#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>
1 parent 6dc740f commit 03ef105

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+56
-154
lines changed

src/cmd/asm/internal/arch/arch.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ func Set(GOARCH string) *Arch {
5656
return archX86(&x86.Link386)
5757
case "amd64":
5858
return archX86(&x86.Linkamd64)
59-
case "amd64p32":
60-
return archX86(&x86.Linkamd64p32)
6159
case "arm":
6260
return archArm()
6361
case "arm64":

src/cmd/compile/internal/amd64/galign.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,12 @@ package amd64
77
import (
88
"cmd/compile/internal/gc"
99
"cmd/internal/obj/x86"
10-
"cmd/internal/objabi"
1110
)
1211

1312
var leaptr = x86.ALEAQ
1413

1514
func Init(arch *gc.Arch) {
1615
arch.LinkArch = &x86.Linkamd64
17-
if objabi.GOARCH == "amd64p32" {
18-
arch.LinkArch = &x86.Linkamd64p32
19-
leaptr = x86.ALEAL
20-
}
2116
arch.REGSP = x86.REGSP
2217
arch.MAXWIDTH = 1 << 50
2318

src/cmd/compile/internal/ssa/config.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -210,19 +210,6 @@ func NewConfig(arch string, types Types, ctxt *obj.Link, optimize bool) *Config
210210
c.FPReg = framepointerRegAMD64
211211
c.LinkReg = linkRegAMD64
212212
c.hasGReg = false
213-
case "amd64p32":
214-
c.PtrSize = 4
215-
c.RegSize = 8
216-
c.lowerBlock = rewriteBlockAMD64
217-
c.lowerValue = rewriteValueAMD64
218-
c.splitLoad = rewriteValueAMD64splitload
219-
c.registers = registersAMD64[:]
220-
c.gpRegMask = gpRegMaskAMD64
221-
c.fpRegMask = fpRegMaskAMD64
222-
c.FPReg = framepointerRegAMD64
223-
c.LinkReg = linkRegAMD64
224-
c.hasGReg = false
225-
c.noDuffDevice = true
226213
case "386":
227214
c.PtrSize = 4
228215
c.RegSize = 4

src/cmd/compile/internal/ssa/rewrite.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,7 +1061,7 @@ func isInlinableMemmove(dst, src *Value, sz int64, c *Config) bool {
10611061
// lowers them, so we only perform this optimization on platforms that we know to
10621062
// have fast Move ops.
10631063
switch c.arch {
1064-
case "amd64", "amd64p32":
1064+
case "amd64":
10651065
return sz <= 16 || (sz < 1024 && disjoint(dst, sz, src, sz))
10661066
case "386", "ppc64", "ppc64le", "arm64":
10671067
return sz <= 8
@@ -1077,7 +1077,7 @@ func isInlinableMemmove(dst, src *Value, sz int64, c *Config) bool {
10771077
// for sizes < 32-bit. This is used to decide whether to promote some rotations.
10781078
func hasSmallRotate(c *Config) bool {
10791079
switch c.arch {
1080-
case "amd64", "amd64p32", "386":
1080+
case "amd64", "386":
10811081
return true
10821082
default:
10831083
return false

src/cmd/compile/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
var archInits = map[string]func(*gc.Arch){
2525
"386": x86.Init,
2626
"amd64": amd64.Init,
27-
"amd64p32": amd64.Init,
2827
"arm": arm.Init,
2928
"arm64": arm64.Init,
3029
"mips": mips.Init,

src/cmd/dist/build.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ var (
6161
var okgoarch = []string{
6262
"386",
6363
"amd64",
64-
"amd64p32",
6564
"arm",
6665
"arm64",
6766
"mips",
@@ -86,6 +85,7 @@ var okgoos = []string{
8685
"android",
8786
"solaris",
8887
"freebsd",
88+
"nacl", // keep;
8989
"netbsd",
9090
"openbsd",
9191
"plan9",

src/cmd/go/internal/imports/build.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ var KnownOS = map[string]bool{
210210
"illumos": true,
211211
"js": true,
212212
"linux": true,
213-
"nacl": true,
213+
"nacl": true, // legacy; don't remove
214214
"netbsd": true,
215215
"openbsd": true,
216216
"plan9": true,
@@ -222,7 +222,7 @@ var KnownOS = map[string]bool{
222222
var KnownArch = map[string]bool{
223223
"386": true,
224224
"amd64": true,
225-
"amd64p32": true,
225+
"amd64p32": true, // legacy; don't remove
226226
"arm": true,
227227
"armbe": true,
228228
"arm64": true,

src/cmd/go/internal/work/exec.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2390,7 +2390,7 @@ func (b *Builder) gccArchArgs() []string {
23902390
switch cfg.Goarch {
23912391
case "386":
23922392
return []string{"-m32"}
2393-
case "amd64", "amd64p32":
2393+
case "amd64":
23942394
return []string{"-m64"}
23952395
case "arm":
23962396
return []string{"-marm"} // not thumb

src/cmd/internal/obj/x86/obj6.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,16 +1226,6 @@ var Linkamd64 = obj.LinkArch{
12261226
DWARFRegisters: AMD64DWARFRegisters,
12271227
}
12281228

1229-
var Linkamd64p32 = obj.LinkArch{
1230-
Arch: sys.ArchAMD64P32,
1231-
Init: instinit,
1232-
Preprocess: preprocess,
1233-
Assemble: span6,
1234-
Progedit: progedit,
1235-
UnaryDst: unaryDst,
1236-
DWARFRegisters: AMD64DWARFRegisters,
1237-
}
1238-
12391229
var Link386 = obj.LinkArch{
12401230
Arch: sys.Arch386,
12411231
Init: instinit,

src/cmd/internal/objfile/disasm.go

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ func (d *Disasm) Print(w io.Writer, filter *regexp.Regexp, start, end uint64, pr
241241
fmt.Fprintf(tw, " %s:%d\t%#x\t", base(file), line, pc)
242242
}
243243

244-
if size%4 != 0 || d.goarch == "386" || d.goarch == "amd64" || d.goarch == "amd64p32" {
244+
if size%4 != 0 || d.goarch == "386" || d.goarch == "amd64" {
245245
// Print instruction as bytes.
246246
fmt.Fprintf(tw, "%x", code[i:i+size])
247247
} else {
@@ -367,24 +367,22 @@ func disasm_ppc64(code []byte, pc uint64, lookup lookupFunc, byteOrder binary.By
367367
}
368368

369369
var disasms = map[string]disasmFunc{
370-
"386": disasm_386,
371-
"amd64": disasm_amd64,
372-
"amd64p32": disasm_amd64,
373-
"arm": disasm_arm,
374-
"arm64": disasm_arm64,
375-
"ppc64": disasm_ppc64,
376-
"ppc64le": disasm_ppc64,
370+
"386": disasm_386,
371+
"amd64": disasm_amd64,
372+
"arm": disasm_arm,
373+
"arm64": disasm_arm64,
374+
"ppc64": disasm_ppc64,
375+
"ppc64le": disasm_ppc64,
377376
}
378377

379378
var byteOrders = map[string]binary.ByteOrder{
380-
"386": binary.LittleEndian,
381-
"amd64": binary.LittleEndian,
382-
"amd64p32": binary.LittleEndian,
383-
"arm": binary.LittleEndian,
384-
"arm64": binary.LittleEndian,
385-
"ppc64": binary.BigEndian,
386-
"ppc64le": binary.LittleEndian,
387-
"s390x": binary.BigEndian,
379+
"386": binary.LittleEndian,
380+
"amd64": binary.LittleEndian,
381+
"arm": binary.LittleEndian,
382+
"arm64": binary.LittleEndian,
383+
"ppc64": binary.BigEndian,
384+
"ppc64le": binary.LittleEndian,
385+
"s390x": binary.BigEndian,
388386
}
389387

390388
type Liner interface {

0 commit comments

Comments
 (0)