]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix build on pre-v9 32-bit Sparc.
authorDavid S. Miller <davem@davemloft.net>
Wed, 6 Nov 2013 21:01:36 +0000 (13:01 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Nov 2013 21:23:36 +0000 (13:23 -0800)
We cannot use fnegd in this code, as fnegd was added in v9.
Only fnegs exists in v8 and earlier.

[BZ #15985]
* sysdeps/sparc/sparc32/fpu/s_fdim.S (__fdim): Do not use fnegd
on pre-v9 cpus, use a fnegs+fmovs sequence instead.

ChangeLog
NEWS
sysdeps/sparc/sparc32/fpu/s_fdim.S

index 1165247ed2b0a2773790471c485c9fddce425ecf..3b65d5a7b979d89b916a3603df5e5c2e45740423 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-06  David S. Miller  <davem@davemloft.net>
+
+       [BZ #15985]
+       * sysdeps/sparc/sparc32/fpu/s_fdim.S (__fdim): Do not use fnegd
+       on pre-v9 cpus, use a fnegs+fmovs sequence instead.
+
 2013-11-06  Will Newton  <will.newton@linaro.org>
 
        * manual/memory.texi (Malloc Examples): Remove register
diff --git a/NEWS b/NEWS
index 38ed4404bafffb929f57fe3ac56048a17320cfb8..bb1db5b0a9119dfa919e0b7711a9ed65c3533e34 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,8 +16,8 @@ Version 2.19
   15748, 15749, 15754, 15760, 15763, 15764, 15797, 15799, 15825, 15844,
   15847, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890,
   15892, 15893, 15895, 15897, 15905, 15909, 15917, 15919, 15921, 15923,
-  15939, 15948, 15963, 15966, 15988, 16032, 16034, 16036, 16037, 16041,
-  16071, 16072, 16074, 16078, 16112.
+  15939, 15948, 15963, 15966, 15985, 15988, 16032, 16034, 16036, 16037,
+  16041, 16071, 16072, 16074, 16078, 16112.
 
 * CVE-2012-4412 The strcoll implementation caches indices and rules for
   large collation sequences to optimize multiple passes.  This cache
index 2f0c5ce58380d8cee6927c274ace091dac288113..22f69ce519486c56e6209f233ae723c8ed9e48fc 100644 (file)
@@ -30,7 +30,8 @@ ENTRY(__fdim)
        fbug    1f
         st     %g0, [%sp + 76]
        ldd     [%sp + 72], %f0
-       fnegd   %f0, %f2
+       fnegs   %f0, %f2
+       fmovs   %f1, %f3
 1:     retl
         fsubd  %f0, %f2, %f0
 END(__fdim)