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);
}
/*