Module Name:    src
Committed By:   rin
Date:           Sat Jun 27 04:29:27 UTC 2020

Modified Files:
        src/sys/arch/powerpc/fpu: fpu_sqrt.c

Log Message:
Return +INF without exception for +INF, as required by the architecture.
Also, avoid NULL dereference for fpu_dumpfpn() aka DUMPFPN().

Taken from (remaining part of) FreeBSD Revision 343078:
https://svnweb.freebsd.org/base?view=revision&revision=343078


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/powerpc/fpu/fpu_sqrt.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/powerpc/fpu/fpu_sqrt.c
diff -u src/sys/arch/powerpc/fpu/fpu_sqrt.c:1.8 src/sys/arch/powerpc/fpu/fpu_sqrt.c:1.9
--- src/sys/arch/powerpc/fpu/fpu_sqrt.c:1.8	Sat Jun 27 04:17:51 2020
+++ src/sys/arch/powerpc/fpu/fpu_sqrt.c	Sat Jun 27 04:29:27 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpu_sqrt.c,v 1.8 2020/06/27 04:17:51 rin Exp $ */
+/*	$NetBSD: fpu_sqrt.c,v 1.9 2020/06/27 04:29:27 rin Exp $ */
 
 /*
  * Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fpu_sqrt.c,v 1.8 2020/06/27 04:17:51 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fpu_sqrt.c,v 1.9 2020/06/27 04:29:27 rin Exp $");
 
 #include <sys/types.h>
 #if defined(DIAGNOSTIC)||defined(DEBUG)
@@ -230,9 +230,8 @@ fpu_sqrt(struct fpemu *fe)
 		return (fpu_newnan(fe));
 	}
 	if (ISINF(x)) {
-		fe->fe_cx |= FPSCR_VXSQRT;
-		DUMPFPN(FPE_REG, 0);
-		return (0);
+		DUMPFPN(FPE_REG, x);
+		return (x);
 	}
 
 	/*

Reply via email to