cmd/internal: disable OSQRT on GOARM=5

OSQRT currently produces incorrect results when used on arm with softfloat.
Disable it on GOARM=5 until the actual problem is found and fixed.

Updates #10641

Change-Id: Ia6f6879fbbb05cb24399c2feee93c1be21113e73
Reviewed-on: https://go-review.googlesource.com/9524
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
This commit is contained in:
Joel Sing 2015-05-01 04:19:34 +10:00
parent 1eebb91a58
commit 3120adc212
1 changed files with 5 additions and 0 deletions

View File

@ -627,6 +627,11 @@ func walkexpr(np **Node, init **NodeList) {
if n.Left.Op == ONAME && n.Left.Sym.Name == "Sqrt" && n.Left.Sym.Pkg.Path == "math" {
switch Thearch.Thechar {
case '5', '6', '7':
// TODO(jsing): This currently breaks math.Sqrt
// on GOARM=5 (see issue 10641).
if Thearch.Thechar == '5' && obj.Getgoarm() == "5" {
break
}
n.Op = OSQRT
n.Left = n.List.N
n.List = nil