You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like the floating-point simulator for arm5 can't handle floating point writes at large offsets to pointers.
func TestArmFloatBigOffset(t *testing.T) {
type X struct {
pad [1024]byte
v float64
}
f := func(x *X, v float64) {
x.v = v
}
var x X
f(&x, 2.0)
if v := x.v; v != 2.0 {
t.Errorf("bad x.v=%f\n", v)
}
}
The problem (I think) is the sfloat interpreter stops interpreting when it gets to the ldr, and the store doesn't work due to there not being a sfloat call before it.
This issue is what is currently breaking the linux-arm-arm5 build.
Looks like the floating-point simulator for arm5 can't handle floating point writes at large offsets to pointers.
The Go compiler compiles the write in f to:
which all looks ok, until you see what the obj library did to it:
The problem (I think) is the sfloat interpreter stops interpreting when it gets to the ldr, and the store doesn't work due to there not being a sfloat call before it.
This issue is what is currently breaking the linux-arm-arm5 build.
@minux
The text was updated successfully, but these errors were encountered: