aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-11-06 13:01:36 -0800
committerDavid S. Miller <davem@davemloft.net>2013-11-07 02:07:54 -0500
commit2216e48645dbd297cdc0f4050fdfc0b52e2a4ab8 (patch)
tree2c1afff51a7dc87b775b661ab79ae49a245b0211
parent2770d15e7e880821fc586619c59eb45180628e16 (diff)
downloadtermbaud-2216e48645dbd297cdc0f4050fdfc0b52e2a4ab8.tar.gz
termbaud-2216e48645dbd297cdc0f4050fdfc0b52e2a4ab8.tar.xz
termbaud-2216e48645dbd297cdc0f4050fdfc0b52e2a4ab8.zip
Fix build on pre-v9 32-bit Sparc.
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.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fdim.S3
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0dbefe37ffe..01ce02c751f 100644
--- 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-09-06 David S. Miller <davem@davemloft.net>
* po/zh_TW.po: Update Chinese (traditional) translation from
diff --git a/NEWS b/NEWS
index fb6069d4d71..1b04db605af 100644
--- a/NEWS
+++ b/NEWS
@@ -28,7 +28,7 @@ Version 2.18
15429, 15431, 15432, 15441, 15442, 15448, 15465, 15480, 15485, 15488,
15490, 15492, 15493, 15497, 15506, 15529, 15536, 15553, 15577, 15583,
15618, 15627, 15631, 15654, 15655, 15666, 15667, 15674, 15711, 15755,
- 15759.
+ 15759, 15985.
* CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal
has been fixed by disabling the use of pt_chown (Bugzilla #15755).
diff --git a/sysdeps/sparc/sparc32/fpu/s_fdim.S b/sysdeps/sparc/sparc32/fpu/s_fdim.S
index 2f0c5ce5838..22f69ce5194 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fdim.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fdim.S
@@ -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)