This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.28.9000-587-g8d01682


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8d0168264a689ab82b55887132a4db0081a24f93 (commit)
      from  a0bb5abd09e3d0f66c3dccf70bf74c8b2d7cc1c2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8d0168264a689ab82b55887132a4db0081a24f93

commit 8d0168264a689ab82b55887132a4db0081a24f93
Author: Uroš Bizjak <ubizjak@gmail.com>
Date:   Thu Jan 24 10:22:55 2019 -0800

    alpha: Fix __remqu corrupting $f3 register
    
    There was missing restore of $f3 before the return from the function
    via the $y_is_neg path.  This caused the math/big testcase from Go-1.11
    testsuite (that includes lots of corner cases that exercise remqu) FAIL.
    
    	[BZ #24130]
    	* sysdeps/alpha/remqu.S (__remqu): Add missing restore
    	of $f3 register on $y_is_neg path.

diff --git a/ChangeLog b/ChangeLog
index 60f4e60..b9e3d92 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-01-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+	[BZ #24130]
+	* sysdeps/alpha/remqu.S (__remqu): Add missing restore
+	of $f3 register on $y_is_neg path.
+
 2019-01-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
 	* hurd/hurdsig.c (_hurd_thread_sigstate): Set SS_DISABLE in
diff --git a/sysdeps/alpha/remqu.S b/sysdeps/alpha/remqu.S
index c2c5caf..a240ee9 100644
--- a/sysdeps/alpha/remqu.S
+++ b/sysdeps/alpha/remqu.S
@@ -246,12 +246,16 @@ $y_is_neg:
 	   quotient must be either 0 or 1, so the remainder must be X
 	   or X-Y, so just compute it directly.  */
 	cmpule	Y, X, AT
+	excb
+	mt_fpcr	$f3
 	subq	X, Y, RV
 	ldt	$f0, 0(sp)
+	ldt	$f3, 48(sp)
 	cmoveq	AT, X, RV
 
 	lda	sp, FRAME(sp)
 	cfi_restore ($f0)
+	cfi_restore ($f3)
 	cfi_def_cfa_offset (0)
 	ret	$31, (RA), 1
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog             |    6 ++++++
 sysdeps/alpha/remqu.S |    4 ++++
 2 files changed, 10 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]