diff options
Diffstat (limited to 'toolchain/glibc/patches')
-rw-r--r-- | toolchain/glibc/patches/sparc-fpu-workaround.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/toolchain/glibc/patches/sparc-fpu-workaround.patch b/toolchain/glibc/patches/sparc-fpu-workaround.patch new file mode 100644 index 000000000..d90f8c525 --- /dev/null +++ b/toolchain/glibc/patches/sparc-fpu-workaround.patch @@ -0,0 +1,84 @@ +diff -Nur glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdimf.S glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdimf.S +--- glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdimf.S 2013-08-11 00:52:55.000000000 +0200 ++++ glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdimf.S 1970-01-01 01:00:00.000000000 +0100 +@@ -1,35 +0,0 @@ +-/* Compute positive difference, sparc 32-bit. +- Copyright (C) 2013 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by David S. Miller <davem@davemloft.net>. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, see +- <http://www.gnu.org/licenses/>. */ +- +-#include <sysdep.h> +- +-ENTRY(__fdimf) +- st %o0, [%sp + 72] +- st %o1, [%sp + 76] +- ld [%sp + 72], %f0 +- ld [%sp + 76], %f1 +- fcmps %f0, %f1 +- fbug 1f +- st %g0, [%sp + 72] +- ld [%sp + 72], %f0 +- fnegs %f0, %f1 +-1: retl +- fsubs %f0, %f1, %f0 +-END(__fdimf) +-weak_alias (__fdimf, fdimf) +diff -Nur glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdim.S glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdim.S +--- glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdim.S 2013-08-11 00:52:55.000000000 +0200 ++++ glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdim.S 1970-01-01 01:00:00.000000000 +0100 +@@ -1,41 +0,0 @@ +-/* Compute positive difference, sparc 32-bit. +- Copyright (C) 2013 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by David S. Miller <davem@davemloft.net>. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, see +- <http://www.gnu.org/licenses/>. */ +- +-#include <sysdep.h> +-#include <math_ldbl_opt.h> +- +-ENTRY(__fdim) +- std %o0, [%sp + 72] +- std %o2, [%sp + 80] +- ldd [%sp + 72], %f0 +- ldd [%sp + 80], %f2 +- fcmpd %f0, %f2 +- st %g0, [%sp + 72] +- fbug 1f +- st %g0, [%sp + 76] +- ldd [%sp + 72], %f0 +- fnegd %f0, %f2 +-1: retl +- fsubd %f0, %f2, %f0 +-END(__fdim) +-weak_alias (__fdim, fdim) +- +-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +-compat_symbol (libm, __fdim, fdiml, GLIBC_2_1); +-#endif |