From b53d2f5ba7a09b60a3f3dda71a47149f41482290 Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Wed, 12 Mar 2014 19:41:36 -0700 Subject: [PATCH] cmd/gc: make the fpu handle all exceptions on Plan 9 The compilers expect to not be interrupted by floating point exceptions. On Plan 9, every process starts with interrupts enabled for invalid operation, stack overflow, and divide by zero exceptions. LGTM=rsc R=rsc, 0intro CC=golang-codereviews https://golang.org/cl/72750043 --- src/cmd/gc/lex.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index aeeac68a15..bc44145c7b 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -172,10 +172,6 @@ catcher(void *v, char *s) { USED(v); - if(strncmp(s, "sys: fp: invalid operation", 26) == 0) { - noted(NCONT); - return; - } if(strncmp(s, "sys: trap: fault read", 21) == 0) { if(nsavederrors + nerrors > 0) errorexit(); @@ -211,6 +207,8 @@ main(int argc, char *argv[]) #ifdef PLAN9 notify(catcher); + // Tell the FPU to handle all exceptions. + setfcr(FPPDBL|FPRNR); #endif // Allow GOARCH=thestring or GOARCH=thestringsuffix, // but not other values. -- 2.50.0