mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Use libm_alias_double for dbl-64 fma.
This patch makes dbl-64 fma use libm_alias_double. The ldbl-opt version is removed. The sparc32 version no longer needs to handle compat symbols, while alpha needs a new wrapper to avoid getting the ldbl-128 version (where ldbl-opt is earlier in the list of sysdeps directories, so previously fma came from there). Tested for x86_64, and tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by the patch. * sysdeps/ieee754/dbl-64/s_fma.c: Include <libm-alias-double.h>. (fma): Define using libm_alias_double. * sysdeps/ieee754/ldbl-opt/s_fma.c: Remove file. * sysdeps/sparc/sparc32/fpu/s_fma.c: Do not include <math_ldbl_opt.h>. (fmal): Do not define as compat symbol here. * sysdeps/alpha/fpu/s_fma.c: New file.
This commit is contained in:
parent
db4f87bad4
commit
7e16a5d1d1
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2017-10-04 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/ieee754/dbl-64/s_fma.c: Include <libm-alias-double.h>.
|
||||
(fma): Define using libm_alias_double.
|
||||
* sysdeps/ieee754/ldbl-opt/s_fma.c: Remove file.
|
||||
* sysdeps/sparc/sparc32/fpu/s_fma.c: Do not include
|
||||
<math_ldbl_opt.h>.
|
||||
(fmal): Do not define as compat symbol here.
|
||||
* sysdeps/alpha/fpu/s_fma.c: New file.
|
||||
|
||||
2017-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
|
||||
* sysdeps/aarch64/dl-machine.h (elf_machine_rela): Expand MIN.
|
||||
|
2
sysdeps/alpha/fpu/s_fma.c
Normal file
2
sysdeps/alpha/fpu/s_fma.c
Normal file
@ -0,0 +1,2 @@
|
||||
/* Always use dbl-64 version because long double is emulated in software. */
|
||||
#include <sysdeps/ieee754/dbl-64/s_fma.c>
|
@ -22,6 +22,7 @@
|
||||
#include <fenv.h>
|
||||
#include <ieee754.h>
|
||||
#include <math_private.h>
|
||||
#include <libm-alias-double.h>
|
||||
#include <tininess.h>
|
||||
|
||||
/* This implementation uses rounding to odd to avoid problems with
|
||||
@ -292,10 +293,5 @@ __fma (double x, double y, double z)
|
||||
}
|
||||
}
|
||||
#ifndef __fma
|
||||
weak_alias (__fma, fma)
|
||||
#endif
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__fma, __fmal)
|
||||
weak_alias (__fmal, fmal)
|
||||
libm_alias_double (__fma, fma)
|
||||
#endif
|
||||
|
@ -1,5 +0,0 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <sysdeps/ieee754/dbl-64/s_fma.c>
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __fma, fmal, GLIBC_2_1);
|
||||
#endif
|
@ -1,6 +1,2 @@
|
||||
/* Always use dbl-64 version because long double is emulated in software. */
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <sysdeps/ieee754/dbl-64/s_fma.c>
|
||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __fma, fmal, GLIBC_2_1);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user