1
0
mirror of https://github.com/golang/go synced 2024-11-23 07:50:05 -07:00

cmd/dist: enable GOARM>5 on NetBSD/ARM.

Tested GOARM=6 on Raspberry Pi, and I found only a few tests that
use sub-normal numbers fails. I have a patch to NetBSD kernel pending
that fixes this issue (NetBSD kernel doesn't allow us to disable the
Flush-to-Zero feature).

LGTM=jsing
R=golang-codereviews, jsing
CC=golang-codereviews
https://golang.org/cl/70730043
This commit is contained in:
Shenghou Ma 2014-03-06 00:57:23 -05:00
parent 30d60936d9
commit 56e261ef2f

12
src/cmd/dist/arm.c vendored
View File

@ -17,16 +17,8 @@ static void useVFPv1(void);
char *
xgetgoarm(void)
{
#if defined(__NetBSD__) || defined(__FreeBSD__)
// NetBSD has buggy support for VFPv2 (incorrect inexact,
// denormial, and NaN handling). When GOARM=6, some of our
// math tests fails on Raspberry Pi.
// Thus we return "5" here for safety, the user is free
// to override.
// Note: using GOARM=6 with cgo can trigger a kernel assertion
// failure and crash NetBSD/evbarm kernel.
// FreeBSD also have broken VFP support, so disable VFP also
// on FreeBSD.
#if defined(__FreeBSD__)
// FreeBSD has broken VFP support
return "5";
#endif
if(xtryexecfunc(useVFPv3))