mips: fix big-endian (GOARCH=mips) support

I made an awkward mistake, mixing up GOOS and GOARCH. So here is a fix,
with an associated test.
This commit is contained in:
Ayke van Laethem
2024-08-22 15:16:15 +02:00
committed by Ron Evans
parent 83c98a23ce
commit 1ef1aa7862
2 changed files with 9 additions and 1 deletions
+1 -1
View File
@@ -338,7 +338,7 @@ func defaultTarget(options *Options) (*TargetSpec, error) {
case "mips", "mipsle":
spec.CPU = "mips32r2"
spec.CFlags = append(spec.CFlags, "-fno-pic")
if options.GOOS == "mips" {
if options.GOARCH == "mips" {
llvmarch = "mips" // big endian
} else {
llvmarch = "mipsel" // little endian
+8
View File
@@ -177,6 +177,14 @@ func TestBuild(t *testing.T) {
})
}
}
t.Run("MIPS big-endian", func(t *testing.T) {
// Run a single test for GOARCH=mips to see whether it works at all.
// Big-endian MIPS isn't fully supported yet, but simple examples
// should work.
t.Parallel()
options := optionsFromOSARCH("linux/mips/softfloat", sema)
runTest("alias.go", options, t, nil, nil)
})
t.Run("WebAssembly", func(t *testing.T) {
t.Parallel()
runPlatTests(optionsFromTarget("wasm", sema), tests, t)