From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 37F2F3857C5A; Tue, 19 Dec 2023 18:35:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 37F2F3857C5A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1703010950; bh=rreZ5I8yFtx6d6JfOCyogzEAZaDYerRRo480N1Av/3Y=; h=From:To:Subject:Date:From; b=Gu8ns395MUzZgM2/XvSSibiDpPu0c1HDZoCqMm9r1alz+Qd6W0yaGA/6d7zNkZaIJ /VUfqYqXUwPev5X7IVZTzIGLxy4vG38watwja7YANX8caz3hIGQJMvYrrTbH1yIivX y2KzkdKwKiDdrzQgJSBvOEdHPGJRMMTyUYrpHQ2A= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc] alpha: Fix fesetexceptflag (BZ 30998) X-Act-Checkin: glibc X-Git-Author: Bruno Haible X-Git-Refname: refs/heads/master X-Git-Oldrev: 802aef27b2d9f04b06344706f88d37bbe89629e9 X-Git-Newrev: 80a40a9e14d9a01e3f70c5b37ecd1da83033b6de Message-Id: <20231219183550.37F2F3857C5A@sourceware.org> Date: Tue, 19 Dec 2023 18:35:50 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=80a40a9e14d9a01e3f70c5b37ecd1da83033b6de commit 80a40a9e14d9a01e3f70c5b37ecd1da83033b6de Author: Bruno Haible Date: Thu Nov 2 11:23:48 2023 -0300 alpha: Fix fesetexceptflag (BZ 30998) It clears some exception flags that are outside the EXCEPTS argument. It fixes math/test-fexcept on qemu-user. Reviewed-by: Carlos O'Donell Diff: --- sysdeps/alpha/fpu/fsetexcptflg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/alpha/fpu/fsetexcptflg.c b/sysdeps/alpha/fpu/fsetexcptflg.c index 70f3666a6e..63eb06845d 100644 --- a/sysdeps/alpha/fpu/fsetexcptflg.c +++ b/sysdeps/alpha/fpu/fsetexcptflg.c @@ -27,7 +27,7 @@ __fesetexceptflag (const fexcept_t *flagp, int excepts) tmp = __ieee_get_fp_control (); /* Set all the bits that were called for. */ - tmp = (tmp & ~SWCR_STATUS_MASK) | (*flagp & excepts & SWCR_STATUS_MASK); + tmp ^= (tmp ^ *flagp) & excepts & SWCR_STATUS_MASK; /* And store it back. */ __ieee_set_fp_control (tmp);