@@ -25,16 +25,16 @@ include ../Makeconfig
gcc-single-routines := negsf2 addsf3 subsf3 mulsf3 divsf3 eqsf2 \
lesf2 gesf2 unordsf2 fixsfsi fixunssfsi floatsisf fixsfdi \
- fixunssfdi floatdisf sqrtsf2 floatunsisf floatundisf
+ fixunssfdi floatdisf floatunsisf floatundisf
gcc-double-routines := negdf2 adddf3 subdf3 muldf3 divdf3 eqdf2 \
ledf2 gedf2 unorddf2 fixdfsi fixunsdfsi floatsidf fixdfdi \
- fixunsdfdi floatdidf extendsfdf2 truncdfsf2 sqrtdf2 floatunsidf \
+ fixunsdfdi floatdidf extendsfdf2 truncdfsf2 floatunsidf \
floatundidf
gcc-quad-routines := negtf2 addtf3 subtf3 multf3 divtf3 eqtf2 \
letf2 getf2 unordtf2 fixtfsi fixunstfsi floatsitf fixtfdi \
fixunstfdi floatditf extendsftf2 trunctfsf2 extenddftf2 \
- trunctfdf2 sqrttf2 floatunsitf floatunditf
+ trunctfdf2 floatunsitf floatunditf
include ../Rules
deleted file mode 100644
@@ -1,49 +0,0 @@
-/* Software floating-point emulation.
- Return sqrt(a)
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file into
- combinations with other programs, and to distribute those
- combinations without any restriction coming from the use of this
- file. (The Lesser General Public License restrictions do apply in
- other respects; for example, they cover modification of the file,
- and distribution when not linked into a combine executable.)
-
- 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 "soft-fp.h"
-#include "quad.h"
-
-TFtype
-__sqrttf2 (TFtype a)
-{
- FP_DECL_EX;
- FP_DECL_Q (A);
- FP_DECL_Q (R);
- TFtype r;
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_Q (A, a);
- FP_SQRT_Q (R, A);
- FP_PACK_Q (r, R);
- FP_HANDLE_EXCEPTIONS;
-
- return r;
-}
@@ -22,8 +22,7 @@ pic-ccflag = -fpic
long-double-fcts = no
ifeq ($(subdir),soft-fp)
-sysdep_routines += $(filter-out sqrtsf2,$(gcc-single-routines)) \
- $(filter-out sqrtdf2,$(gcc-double-routines))
+sysdep_routines += $(gcc-single-routines) $(gcc-double-routines)
endif
ifeq ($(subdir),csu)
@@ -2,6 +2,7 @@
ifeq ($(subdir),soft-fp)
sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) \
+ sqrtsf2 sqrtdf2 \
sim-full atomic-feholdexcept atomic-feclearexcept \
atomic-feupdateenv flt-rounds
endif
similarity index 92%
rename from soft-fp/sqrtdf2.c
rename to sysdeps/powerpc/nofpu/sqrtdf2.c
@@ -30,7 +30,9 @@
#include "soft-fp.h"
#include "double.h"
+#include <shlib-compat.h>
+#if SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)
DFtype
__sqrtdf2 (DFtype a)
{
@@ -47,3 +49,5 @@ __sqrtdf2 (DFtype a)
return r;
}
+compat_symbol (libc, __sqrtdf2, __sqrtdf2, GLIBC_2_3_2);
+#endif
similarity index 92%
rename from soft-fp/sqrtsf2.c
rename to sysdeps/powerpc/nofpu/sqrtsf2.c
@@ -30,7 +30,9 @@
#include "soft-fp.h"
#include "single.h"
+#include <shlib-compat.h>
+#if SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)
SFtype
__sqrtsf2 (SFtype a)
{
@@ -47,3 +49,5 @@ __sqrtsf2 (SFtype a)
return r;
}
+compat_symbol (libc, __sqrtsf2, __sqrtsf2, GLIBC_2_3_2);
+#endif