Module Name: src Committed By: rillig Date: Tue Apr 2 20:42:13 UTC 2024
Modified Files: src/lib/libc/arch/sparc/gen: fpsetround.c Log Message: sparc/fpsetround: fix the nearby signed integer overflow as well Same as for sparc64 a few days ago. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/sparc/gen/fpsetround.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/sparc/gen/fpsetround.c diff -u src/lib/libc/arch/sparc/gen/fpsetround.c:1.7 src/lib/libc/arch/sparc/gen/fpsetround.c:1.8 --- src/lib/libc/arch/sparc/gen/fpsetround.c:1.7 Tue Apr 2 20:27:44 2024 +++ src/lib/libc/arch/sparc/gen/fpsetround.c Tue Apr 2 20:42:12 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetround.c,v 1.7 2024/04/02 20:27:44 christos Exp $ */ +/* $NetBSD: fpsetround.c,v 1.8 2024/04/02 20:42:12 rillig Exp $ */ /* * Written by J.T. Conklin, Apr 10, 1995 @@ -7,7 +7,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetround.c,v 1.7 2024/04/02 20:27:44 christos Exp $"); +__RCSID("$NetBSD: fpsetround.c,v 1.8 2024/04/02 20:42:12 rillig Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -27,8 +27,8 @@ fpsetround(fp_rnd rnd_dir) __asm("st %%fsr,%0" : "=m" (*&old)); new = old; - new &= ~(0x03U << 30); - new |= ((rnd_dir & 0x03) << 30); + new &= ~(0x03U << 30); + new |= ((rnd_dir & 0x03U) << 30); __asm("ld %0,%%fsr" : : "m" (*&new));