Closed
Description
Both test/abi/leaf.go
and test/abi/spills4.go
currently SIGBUS
on openbsd/mips64
:
##### ../test
# go run run.go -- abi/leaf.go
exit status 2
unexpected fault address 0xc0000bcf34
fatal error: fault
[signal SIGBUS: bus error code=0x1 addr=0xc0000bcf34 pc=0x12e5c]
...
# go run run.go -- abi/spills4.go
exit status 2
unexpected fault address 0xc0000bcf34
fatal error: fault
[signal SIGBUS: bus error code=0x1 addr=0xc0000bcf34 pc=0x12e5c]
...
This is due to an unaligned access, resulting from an ld
instruction with an address that is not a multiple of 8:
0000000000012e58 <runtime.memequal128>:
12e58: dfa10008 ld at,8(sp)
12e5c: dc220000 ld v0,0(at)
I've bisected this to:
[84ca4949a71554265b3c8a99359a5fad6ca0cab1] cmd/compile: remove 8-byte alignment requirement of stack slot on mips64
Prior to that commit test/abi/leaf.go
(although introduced later on) builds and runs, after that commit it fails. Note that this test probably passes on linux/mips64
, although there will be a performance penalty due to the kernel handling the unaligned access fault. Unfortunately we do not run test
on the openbsd/mips64
builder for performance reasons.