about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-05-25 20:00:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-05-25 20:00:51 +0000
commitb5453d9f7a95545f3941ad439b4fb9af3585ab83 (patch)
tree37e00eed70d497780cdd444b6c2e070450718be9
parent2c753f3e8406495862d9db1347ea61271c18ace1 (diff)
downloadglibc-b5453d9f7a95545f3941ad439b4fb9af3585ab83.tar.gz
glibc-b5453d9f7a95545f3941ad439b4fb9af3585ab83.tar.xz
glibc-b5453d9f7a95545f3941ad439b4fb9af3585ab83.zip
Remove sysdeps/sparc/sparc64/soft-fp directory.
As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
there should not be separate sysdeps/<arch>/soft-fp directories when
those are used by all configurations that use sysdeps/<arch>, and,
more generally, should not be sysdeps/foo/Implies files pointing to a
subdirectory foo/bar.  This patch eliminates the
sysdeps/sparc/sparc64/soft-fp directory accordingly, merging its
contents into sysdeps/sparc/sparc64.  This completes removing the
unnecessary <arch>/soft-fp sysdeps directories.

sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c is removed rather than moved.
It was not in fact used previously - the ldbl-128 version of
e_ilogbl.c was used instead - and moving it into sysdeps/sparc/sparc64
results in it being used, but causing a build failure because of
FP_DECL_EX declaring an unused variable (as I noted in
<https://sourceware.org/ml/libc-alpha/2013-10/msg00457.html> that file
doesn't appear to use FP_DECL_EX).  Given that the file was previously
unused and so presumably not tested recently, removing it is the safe
way to avoid this patch changing what actually gets built into glibc
(if this file should turn out more efficient than the ldbl-128
e_ilogbl.c, it can always be added back in future with the build
failure fixed).

Tested with build-many-glibcs.py that installed stripped shared
libraries for sparc configurations are unchanged by this patch.

	* sysdeps/sparc/sparc64/Implies: Remove sparc/sparc64/soft-fp.
	* sysdeps/sparc/sparc64/Makefile [$(subdir) = soft-fp]
	(sparc64-quad-routines): New variable.  Moved from ....
	[$(subdir) = soft-fp] (sysdep_routines): Add
	$(sparc64-quad-routines).  Moved from ....
	[$(subdir) = math] (CPPFLAGS): Add -I../soft-fp/.  Moved from ....
	* sysdeps/sparc/sparc64/soft-fp/Makefile: ... here.  Remove file.
	* sysdeps/sparc/sparc64/Versions (libc): Add GLIBC_2.2 symbols
	moved from ....
	* sysdeps/sparc/sparc64/soft-fp/Versions: ... here.  Remove file.
	* sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: Remove file.
	* sysdeps/sparc/sparc64/soft-fp/qp_add.c: Move to ....
	* sysdeps/sparc/sparc64/qp_add.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Move to ....
	* sysdeps/sparc/sparc64/qp_cmp.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Move to ....
	* sysdeps/sparc/sparc64/qp_cmpe.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_div.c: Move to ....
	* sysdeps/sparc/sparc64/qp_div.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_dtoq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_feq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Move to ....
	* sysdeps/sparc/sparc64/qp_fge.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Move to ....
	* sysdeps/sparc/sparc64/qp_fgt.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Move to ....
	* sysdeps/sparc/sparc64/qp_fle.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Move to ....
	* sysdeps/sparc/sparc64/qp_flt.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Move to ....
	* sysdeps/sparc/sparc64/qp_fne.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_itoq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Move to ....
	* sysdeps/sparc/sparc64/qp_mul.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: Move to ....
	* sysdeps/sparc/sparc64/qp_neg.S: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Move to ....
	* sysdeps/sparc/sparc64/qp_qtod.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Move to ....
	* sysdeps/sparc/sparc64/qp_qtoi.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Move to ....
	* sysdeps/sparc/sparc64/qp_qtos.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Move to ....
	* sysdeps/sparc/sparc64/qp_qtoui.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Move to ....
	* sysdeps/sparc/sparc64/qp_qtoux.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Move to ....
	* sysdeps/sparc/sparc64/qp_qtox.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Move to ....
	* sysdeps/sparc/sparc64/qp_sqrt.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_stoq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Move to ....
	* sysdeps/sparc/sparc64/qp_sub.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_uitoq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_util.c: Move to ....
	* sysdeps/sparc/sparc64/qp_util.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_uxtoq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Move to ....
	* sysdeps/sparc/sparc64/qp_xtoq.c: ... here.
	* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Move to ....
	* sysdeps/sparc/sparc64/sfp-machine.h: ... here.
-rw-r--r--ChangeLog68
-rw-r--r--sysdeps/sparc/sparc64/Implies1
-rw-r--r--sysdeps/sparc/sparc64/Makefile32
-rw-r--r--sysdeps/sparc/sparc64/Versions6
-rw-r--r--sysdeps/sparc/sparc64/qp_add.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_add.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_cmp.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_cmp.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_cmpe.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_div.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_div.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_dtoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_feq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_feq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fge.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fge.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fgt.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fgt.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fle.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fle.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_flt.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_flt.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fne.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fne.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_itoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_itoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_mul.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_mul.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_neg.S (renamed from sysdeps/sparc/sparc64/soft-fp/qp_neg.S)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtod.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtod.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtoi.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtos.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtos.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtoui.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtoux.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtox.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtox.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_sqrt.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_stoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_stoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_sub.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_sub.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_uitoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_util.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_util.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_uxtoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_xtoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/sfp-machine.h (renamed from sysdeps/sparc/sparc64/soft-fp/sfp-machine.h)0
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/Makefile33
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/Versions8
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c79
35 files changed, 106 insertions, 121 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ed7067ea0..4896b9e217 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,73 @@
 2018-05-25  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/sparc/sparc64/Implies: Remove sparc/sparc64/soft-fp.
+	* sysdeps/sparc/sparc64/Makefile [$(subdir) = soft-fp]
+	(sparc64-quad-routines): New variable.  Moved from ....
+	[$(subdir) = soft-fp] (sysdep_routines): Add
+	$(sparc64-quad-routines).  Moved from ....
+	[$(subdir) = math] (CPPFLAGS): Add -I../soft-fp/.  Moved from ....
+	* sysdeps/sparc/sparc64/soft-fp/Makefile: ... here.  Remove file.
+	* sysdeps/sparc/sparc64/Versions (libc): Add GLIBC_2.2 symbols
+	moved from ....
+	* sysdeps/sparc/sparc64/soft-fp/Versions: ... here.  Remove file.
+	* sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: Remove file.
+	* sysdeps/sparc/sparc64/soft-fp/qp_add.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_add.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_cmp.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_cmpe.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_div.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_div.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_dtoq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_feq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_fge.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_fgt.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_fle.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_flt.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_fne.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_itoq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_mul.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: Move to ....
+	* sysdeps/sparc/sparc64/qp_neg.S: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_qtod.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_qtoi.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_qtos.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_qtoui.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_qtoux.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_qtox.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_sqrt.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_stoq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_sub.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_uitoq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_util.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_util.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_uxtoq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Move to ....
+	* sysdeps/sparc/sparc64/qp_xtoq.c: ... here.
+	* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Move to ....
+	* sysdeps/sparc/sparc64/sfp-machine.h: ... here.
+
 	* sysdeps/sparc/sparc32/Implies: Remove sparc/sparc32/soft-fp.
 	* sysdeps/sparc/sparc32/Makefile [$(subdir) = soft-fp]
 	(sparc32-quad-routines): New variable.  Moved from ....
diff --git a/sysdeps/sparc/sparc64/Implies b/sysdeps/sparc/sparc64/Implies
index 7abc50efcc..fe5eccd855 100644
--- a/sysdeps/sparc/sparc64/Implies
+++ b/sysdeps/sparc/sparc64/Implies
@@ -4,4 +4,3 @@ ieee754/ldbl-128
 ieee754/dbl-64/wordsize-64
 ieee754/dbl-64
 ieee754/flt-32
-sparc/sparc64/soft-fp
diff --git a/sysdeps/sparc/sparc64/Makefile b/sysdeps/sparc/sparc64/Makefile
index 0963a559a7..16b760539e 100644
--- a/sysdeps/sparc/sparc64/Makefile
+++ b/sysdeps/sparc/sparc64/Makefile
@@ -1,3 +1,23 @@
+#  Makefile for SPARC 64-bit.
+#  Copyright (C) 1997-2018 Free Software Foundation, Inc.
+#  This file is part of the GNU C Library.
+#  Contributed by Jakub Jelinek (jj@ultra.linux.cz).
+#
+
+# 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/>.
+
 sysdep-CFLAGS += -Wa,-Av9a -mvis
 
 ifeq ($(subdir),string)
@@ -17,3 +37,15 @@ endif
 ifeq ($(subdir),nptl)
 libpthread-routines += cpu_relax
 endif
+
+ifeq ($(subdir),soft-fp)
+sparc64-quad-routines := qp_add qp_cmp qp_cmpe qp_div qp_dtoq qp_feq qp_fge \
+	qp_fgt qp_fle qp_flt qp_fne qp_itoq qp_mul qp_neg qp_qtod qp_qtoi   \
+	qp_qtos qp_qtoui qp_qtoux qp_qtox qp_sqrt qp_stoq qp_sub qp_uitoq   \
+	qp_uxtoq qp_xtoq qp_util
+sysdep_routines += $(sparc64-quad-routines)
+endif
+
+ifeq ($(subdir),math)
+CPPFLAGS += -I../soft-fp/
+endif
diff --git a/sysdeps/sparc/sparc64/Versions b/sysdeps/sparc/sparc64/Versions
index 4cef7bcc71..b2661ede85 100644
--- a/sysdeps/sparc/sparc64/Versions
+++ b/sysdeps/sparc/sparc64/Versions
@@ -4,6 +4,12 @@ libc {
     __align_cpy_1; __align_cpy_2; __align_cpy_4;
     __align_cpy_8; __align_cpy_16;
   }
+  GLIBC_2.2 {
+    _Qp_add; _Qp_cmp; _Qp_cmpe; _Qp_div; _Qp_dtoq; _Qp_feq; _Qp_fge; _Qp_fgt;
+    _Qp_fle; _Qp_flt; _Qp_fne; _Qp_itoq; _Qp_mul; _Qp_neg; _Qp_qtod; _Qp_qtoi;
+    _Qp_qtos; _Qp_qtoui; _Qp_qtoux; _Qp_qtox; _Qp_sqrt; _Qp_stoq; _Qp_sub;
+    _Qp_uitoq; _Qp_uxtoq; _Qp_xtoq;
+  }
 }
 libm {
   GLIBC_2.1 {
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_add.c b/sysdeps/sparc/sparc64/qp_add.c
index aa9262f40e..aa9262f40e 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_add.c
+++ b/sysdeps/sparc/sparc64/qp_add.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c b/sysdeps/sparc/sparc64/qp_cmp.c
index 0f97e94cf1..0f97e94cf1 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c
+++ b/sysdeps/sparc/sparc64/qp_cmp.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c b/sysdeps/sparc/sparc64/qp_cmpe.c
index 8ff9d400d6..8ff9d400d6 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c
+++ b/sysdeps/sparc/sparc64/qp_cmpe.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_div.c b/sysdeps/sparc/sparc64/qp_div.c
index 11a5571368..11a5571368 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_div.c
+++ b/sysdeps/sparc/sparc64/qp_div.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c b/sysdeps/sparc/sparc64/qp_dtoq.c
index a53040559d..a53040559d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
+++ b/sysdeps/sparc/sparc64/qp_dtoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c b/sysdeps/sparc/sparc64/qp_feq.c
index 19d44a3612..19d44a3612 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c
+++ b/sysdeps/sparc/sparc64/qp_feq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c b/sysdeps/sparc/sparc64/qp_fge.c
index 1c652f7a3a..1c652f7a3a 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c
+++ b/sysdeps/sparc/sparc64/qp_fge.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c b/sysdeps/sparc/sparc64/qp_fgt.c
index 203ad06525..203ad06525 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c
+++ b/sysdeps/sparc/sparc64/qp_fgt.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c b/sysdeps/sparc/sparc64/qp_fle.c
index e6b188038d..e6b188038d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c
+++ b/sysdeps/sparc/sparc64/qp_fle.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c b/sysdeps/sparc/sparc64/qp_flt.c
index 64cd908f5c..64cd908f5c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c
+++ b/sysdeps/sparc/sparc64/qp_flt.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c b/sysdeps/sparc/sparc64/qp_fne.c
index 2b859d8bb2..2b859d8bb2 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c
+++ b/sysdeps/sparc/sparc64/qp_fne.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c b/sysdeps/sparc/sparc64/qp_itoq.c
index 626eef7602..626eef7602 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
+++ b/sysdeps/sparc/sparc64/qp_itoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c b/sysdeps/sparc/sparc64/qp_mul.c
index 20583ea026..20583ea026 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c
+++ b/sysdeps/sparc/sparc64/qp_mul.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_neg.S b/sysdeps/sparc/sparc64/qp_neg.S
index 7671a0ef49..7671a0ef49 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_neg.S
+++ b/sysdeps/sparc/sparc64/qp_neg.S
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c b/sysdeps/sparc/sparc64/qp_qtod.c
index c0f0e5370e..c0f0e5370e 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
+++ b/sysdeps/sparc/sparc64/qp_qtod.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c b/sysdeps/sparc/sparc64/qp_qtoi.c
index ca511e9fe5..ca511e9fe5 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
+++ b/sysdeps/sparc/sparc64/qp_qtoi.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c b/sysdeps/sparc/sparc64/qp_qtos.c
index f78e15aca3..f78e15aca3 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
+++ b/sysdeps/sparc/sparc64/qp_qtos.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c b/sysdeps/sparc/sparc64/qp_qtoui.c
index 3822dbd469..3822dbd469 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
+++ b/sysdeps/sparc/sparc64/qp_qtoui.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c b/sysdeps/sparc/sparc64/qp_qtoux.c
index d51192a17c..d51192a17c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
+++ b/sysdeps/sparc/sparc64/qp_qtoux.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c b/sysdeps/sparc/sparc64/qp_qtox.c
index 50f1057a9b..50f1057a9b 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
+++ b/sysdeps/sparc/sparc64/qp_qtox.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c b/sysdeps/sparc/sparc64/qp_sqrt.c
index 1b986392cb..1b986392cb 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c
+++ b/sysdeps/sparc/sparc64/qp_sqrt.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c b/sysdeps/sparc/sparc64/qp_stoq.c
index 88e5620b63..88e5620b63 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
+++ b/sysdeps/sparc/sparc64/qp_stoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c b/sysdeps/sparc/sparc64/qp_sub.c
index e400c63d33..e400c63d33 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
+++ b/sysdeps/sparc/sparc64/qp_sub.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c b/sysdeps/sparc/sparc64/qp_uitoq.c
index 0d43555c82..0d43555c82 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
+++ b/sysdeps/sparc/sparc64/qp_uitoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_util.c b/sysdeps/sparc/sparc64/qp_util.c
index fc9edf2153..fc9edf2153 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_util.c
+++ b/sysdeps/sparc/sparc64/qp_util.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c b/sysdeps/sparc/sparc64/qp_uxtoq.c
index ed2a8985d6..ed2a8985d6 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
+++ b/sysdeps/sparc/sparc64/qp_uxtoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c b/sysdeps/sparc/sparc64/qp_xtoq.c
index fe3e8e764d..fe3e8e764d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
+++ b/sysdeps/sparc/sparc64/qp_xtoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc64/sfp-machine.h
index 333f1988f3..333f1988f3 100644
--- a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
+++ b/sysdeps/sparc/sparc64/sfp-machine.h
diff --git a/sysdeps/sparc/sparc64/soft-fp/Makefile b/sysdeps/sparc/sparc64/soft-fp/Makefile
deleted file mode 100644
index e785b8ccbd..0000000000
--- a/sysdeps/sparc/sparc64/soft-fp/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-#  Software floating-point emulation.
-#  Makefile for SPARC v9 ABI mandated long double utility
-#  functions (_Qp_*).
-#  Copyright (C) 1999-2018 Free Software Foundation, Inc.
-#  This file is part of the GNU C Library.
-#  Contributed by Jakub Jelinek (jj@ultra.linux.cz).
-#
-
-# 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/>.
-
-ifeq ($(subdir),soft-fp)
-sparc64-quad-routines := qp_add qp_cmp qp_cmpe qp_div qp_dtoq qp_feq qp_fge \
-	qp_fgt qp_fle qp_flt qp_fne qp_itoq qp_mul qp_neg qp_qtod qp_qtoi   \
-	qp_qtos qp_qtoui qp_qtoux qp_qtox qp_sqrt qp_stoq qp_sub qp_uitoq   \
-	qp_uxtoq qp_xtoq qp_util
-sysdep_routines += $(sparc64-quad-routines)
-endif
-
-ifeq ($(subdir),math)
-CPPFLAGS += -I../soft-fp/
-endif
diff --git a/sysdeps/sparc/sparc64/soft-fp/Versions b/sysdeps/sparc/sparc64/soft-fp/Versions
deleted file mode 100644
index 9e89c3c3ef..0000000000
--- a/sysdeps/sparc/sparc64/soft-fp/Versions
+++ /dev/null
@@ -1,8 +0,0 @@
-libc {
-  GLIBC_2.2 {
-    _Qp_add; _Qp_cmp; _Qp_cmpe; _Qp_div; _Qp_dtoq; _Qp_feq; _Qp_fge; _Qp_fgt;
-    _Qp_fle; _Qp_flt; _Qp_fne; _Qp_itoq; _Qp_mul; _Qp_neg; _Qp_qtod; _Qp_qtoi;
-    _Qp_qtos; _Qp_qtoui; _Qp_qtoux; _Qp_qtox; _Qp_sqrt; _Qp_stoq; _Qp_sub;
-    _Qp_uitoq; _Qp_uxtoq; _Qp_xtoq;
-  }
-}
diff --git a/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c b/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
deleted file mode 100644
index 5e78940760..0000000000
--- a/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Software floating-point emulation.
-   ilogbl(x, exp)
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek (jj@ultra.linux.cz).
-
-   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/>.  */
-
-/* ilogbl(long double x)
- * return the binary exponent of non-zero x
- * ilogbl(0) = 0x80000001
- * ilogbl(inf/NaN) = 0x7fffffff (no signal is raised)
- */
-
-#include "soft-fp.h"
-#include "quad.h"
-#include <math.h>
-
-int __ieee754_ilogbl (long double x)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(X);
-
-/*
-  FP_UNPACK_Q(X, x);
-  switch (X_c)
-    {
-    case FP_CLS_ZERO:
-      return FP_ILOGB0;
-    case FP_CLS_NAN:
-    case FP_CLS_INF:
-      return FP_ILOGBNAN;
-    default:
-      return X_e;
-    }
- */
-  FP_UNPACK_RAW_Q(X, x);
-  switch (X_e)
-    {
-    default:
-      return X_e - _FP_EXPBIAS_Q;
-    case 0:
-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
-      if (_FP_FRAC_ZEROP_4(X))
-	return FP_ILOGB0;
-      else
-	{
-	  _FP_I_TYPE shift;
-	  _FP_FRAC_CLZ_4(shift, X);
-	  shift -= _FP_FRACXBITS_Q;
-	  return X_e - _FP_EXPBIAS_Q - 1 + shift;
-	}
-#else
-      if (_FP_FRAC_ZEROP_2(X))
-	return FP_ILOGB0;
-      else
-	{
-	  _FP_I_TYPE shift;
-	  _FP_FRAC_CLZ_2(shift, X);
-	  shift -= _FP_FRACXBITS_Q;
-	  return X_e - _FP_EXPBIAS_Q - 1 + shift;
-	}
-#endif
-    case _FP_EXPBIAS_Q:
-      return FP_ILOGBNAN;
-    }
-}