diff options
-rw-r--r-- | ChangeLog | 24 | ||||
-rw-r--r-- | soft-fp/Makefile | 6 | ||||
-rw-r--r-- | soft-fp/sqrttf2.c | 49 | ||||
-rw-r--r-- | sysdeps/nios2/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/powerpc/nofpu/Makefile | 1 | ||||
-rw-r--r-- | sysdeps/powerpc/nofpu/sqrtdf2.c (renamed from soft-fp/sqrtdf2.c) | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/nofpu/sqrtsf2.c (renamed from soft-fp/sqrtsf2.c) | 4 |
7 files changed, 37 insertions, 54 deletions
diff --git a/ChangeLog b/ChangeLog index dd0a11ff10..fdd92d0ffb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2018-06-01 Joseph Myers <joseph@codesourcery.com> + + [BZ #18473] + * soft-fp/sqrttf2.c: Remove file. + * soft-fp/sqrtdf2.c: Move to .... + * sysdeps/powerpc/nofpu/sqrtdf2.c: ... here. Include + <shlib-compat.h>. + (__sqrtdf2): Make conditional on + [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)]. Define as compat + symbol. + * soft-fp/sqrtsf2.c: Move to .... + * sysdeps/powerpc/nofpu/sqrtsf2.c: ... here. Include + <shlib-compat.h>. + (__sqrtsf2): Make conditional on + [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)]. Define as compat + symbol. + * soft-fp/Makefile (gcc-single-routines): Remove sqrtsf2. + (gcc-double-routines): Remove sqrtdf2. + (gcc-quad-routines): Remove sqrttf2. + * sysdeps/nios2/Makefile [$(subdir) = soft-fp] (sysdep_routines): + Do not filter out sqrtsf2 and sqrtdf2. + * sysdeps/powerpc/nofpu/Makefile [$(subdir) = soft-fp] + (sysdep_routines): Add sqrtsf2 and sqrtdf2. + 2018-06-01 Florian Weimer <fweimer@redhat.com> * sysdeps/generic/libcidn.abilist: Remove file. diff --git a/soft-fp/Makefile b/soft-fp/Makefile index b768de1e95..8b1d3eadb5 100644 --- a/soft-fp/Makefile +++ b/soft-fp/Makefile @@ -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 diff --git a/soft-fp/sqrttf2.c b/soft-fp/sqrttf2.c deleted file mode 100644 index cc01c62233..0000000000 --- a/soft-fp/sqrttf2.c +++ /dev/null @@ -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; -} diff --git a/sysdeps/nios2/Makefile b/sysdeps/nios2/Makefile index 16aec3e95c..25fc2abfee 100644 --- a/sysdeps/nios2/Makefile +++ b/sysdeps/nios2/Makefile @@ -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) diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile index 463338d5b3..80c762ebdf 100644 --- a/sysdeps/powerpc/nofpu/Makefile +++ b/sysdeps/powerpc/nofpu/Makefile @@ -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 diff --git a/soft-fp/sqrtdf2.c b/sysdeps/powerpc/nofpu/sqrtdf2.c index fc09eef132..50d1d26ceb 100644 --- a/soft-fp/sqrtdf2.c +++ b/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 diff --git a/soft-fp/sqrtsf2.c b/sysdeps/powerpc/nofpu/sqrtsf2.c index 5993589a23..8684f9631b 100644 --- a/soft-fp/sqrtsf2.c +++ b/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 |