Skip to content

Commit ea7f5cc

Browse files
committed
Use mips64 instead of mips
For GOARCH=mips the Go compiler will use the newer MIPS32-r1 ISA, whereas for GOARCH=mips64 it will use the MIPS-III ISA, which is the highest N64 supports. See golang#60072
1 parent c0e9cef commit ea7f5cc

File tree

13 files changed

+19
-19
lines changed

13 files changed

+19
-19
lines changed

src/cmd/dist/build.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1630,7 +1630,7 @@ var cgoEnabled = map[string]bool{
16301630
"windows/arm64": true,
16311631
"noos/thumb": false,
16321632
"noos/riscv64": false,
1633-
"noos/mips": false,
1633+
"noos/mips64": false,
16341634
}
16351635

16361636
// List of platforms which are supported but not complete yet. These get

src/cmd/link/internal/mips/obj.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,5 @@ func archinit(ctxt *ld.Link) {
8888
if *ld.FlagRound == -1 {
8989
*ld.FlagRound = 0x10000
9090
}
91-
case objabi.Hnoos:
92-
*ld.FlagD = true
93-
ld.Elfinit(ctxt)
94-
ld.HEADR = ld.ELFRESERVE
95-
if *ld.FlagTextAddr == -1 {
96-
*ld.FlagTextAddr = 0
97-
}
98-
if *ld.FlagRound == -1 {
99-
*ld.FlagRound = 8
100-
}
10191
}
10292
}

src/cmd/link/internal/mips64/obj.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,15 @@ func archinit(ctxt *ld.Link) {
9898
if *ld.FlagRound == -1 {
9999
*ld.FlagRound = 0x10000
100100
}
101+
case objabi.Hnoos:
102+
*ld.FlagD = true
103+
ld.Elfinit(ctxt)
104+
ld.HEADR = ld.ELFRESERVE
105+
if *ld.FlagTextAddr == -1 {
106+
*ld.FlagTextAddr = 0
107+
}
108+
if *ld.FlagRound == -1 {
109+
*ld.FlagRound = 8
110+
}
101111
}
102112
}

src/runtime/asm_mips64x.s

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
#define REGCTXT R22
1313

14+
#ifndef GOOS_noos
15+
1416
TEXT runtime·rt0_go(SB),NOSPLIT|TOPFRAME,$0
1517
// R29 = stack; R4 = argc; R5 = argv
1618

@@ -74,6 +76,8 @@ nocgo:
7476
MOVV R0, 1(R0)
7577
RET
7678

79+
#endif
80+
7781
DATA runtime·mainPC+0(SB)/8,$runtime·main(SB)
7882
GLOBL runtime·mainPC(SB),RODATA,$8
7983

src/runtime/asm_mipsx.s

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
#define REGCTXT R22
1313

14-
#ifndef GOOS_noos
15-
1614
TEXT runtime·rt0_go(SB),NOSPLIT|TOPFRAME,$0
1715
// R29 = stack; R4 = argc; R5 = argv
1816

@@ -77,8 +75,6 @@ nocgo:
7775
UNDEF
7876
RET
7977

80-
#endif
81-
8278
DATA runtime·mainPC+0(SB)/4,$runtime·main(SB)
8379
GLOBL runtime·mainPC(SB),RODATA,$4
8480

src/runtime/mksizeclasses_mcu64.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func main() {
5252
fmt.Fprintln(&b, "// Code generated by mksizeclasses_mcu64.go; DO NOT EDIT.")
5353
fmt.Fprintln(&b, "//go:generate go run mksizeclasses_mcu64.go")
5454
fmt.Fprintln(&b)
55-
fmt.Fprintln(&b, "//go:build noos && riscv64")
55+
fmt.Fprintln(&b, "//go:build noos && (riscv64 || mips64)")
5656
fmt.Fprintln(&b)
5757
fmt.Fprintln(&b, "package runtime")
5858
classes := makeClasses()
File renamed without changes.

src/runtime/rt0_noos_mips.s renamed to src/runtime/rt0_noos_mips64.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include "textflag.h"
99

1010

11-
TEXT _rt0_mips_noos(SB),NOSPLIT|NOFRAME,$0
11+
TEXT _rt0_mips64_noos(SB),NOSPLIT|NOFRAME,$0
1212
// TODO implement
1313
RET
1414

src/runtime/sizeclasses_mcu.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/runtime/sizeclasses_mcu64.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)