diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-opt')
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c | 26 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_canonicalizel.c | 5 |
3 files changed, 34 insertions, 1 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile index e97abdc44d..745fa4c8cf 100644 --- a/sysdeps/ieee754/ldbl-opt/Makefile +++ b/sysdeps/ieee754/ldbl-opt/Makefile @@ -42,7 +42,8 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \ isoc99_vscanf isoc99_vfscanf isoc99_vsscanf \ isoc99_wscanf isoc99_fwscanf isoc99_swscanf \ isoc99_vwscanf isoc99_vfwscanf isoc99_vswscanf \ - nextup nextdown totalorder totalordermag getpayload + nextup nextdown totalorder totalordermag getpayload \ + canonicalize libnldbl-routines = $(libnldbl-calls:%=nldbl-%) libnldbl-inhibit-o = $(object-suffixes) libnldbl-static-only-routines = $(libnldbl-routines) @@ -58,6 +59,7 @@ CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl +CFLAGS-nldbl-canonicalize.c = -fno-builtin-canonicalizel CFLAGS-nldbl-carg.c = -fno-builtin-cargl CFLAGS-nldbl-casin.c = -fno-builtin-casinl CFLAGS-nldbl-casinh.c = -fno-builtin-casinhl diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c b/sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c new file mode 100644 index 0000000000..3b33d5c57e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for canonicalize. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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 "nldbl-compat.h" + +int +attribute_hidden +canonicalizel (double *cx, double *x) +{ + return canonicalize (cx, x); +} diff --git a/sysdeps/ieee754/ldbl-opt/s_canonicalizel.c b/sysdeps/ieee754/ldbl-opt/s_canonicalizel.c new file mode 100644 index 0000000000..d5d67dfe0c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_canonicalizel.c @@ -0,0 +1,5 @@ +/* canonicalizel is not subject to complex aliasing rules. It was + added in glibc 2.25. */ +#define declare_mgen_alias(from, to) weak_alias (M_SUF (from), M_SUF (to)) +#include <math-type-macros-ldouble.h> +#include <s_canonicalize_template.c> |