diff options
author | Chris Metcalf <cmetcalf@ezchip.com> | 2015-12-01 14:59:38 -0500 |
---|---|---|
committer | Chris Metcalf <cmetcalf@ezchip.com> | 2015-12-03 13:00:46 -0500 |
commit | e59c94fa0e2871bdfcc363899e3be376c0def770 (patch) | |
tree | 4073066d0031614fe8947c997354d0d3758f6602 /sysdeps/nios2 | |
parent | b3f6040781f78af648fc90f67cec3e49a338b3e9 (diff) | |
download | glibc-e59c94fa0e2871bdfcc363899e3be376c0def770.tar glibc-e59c94fa0e2871bdfcc363899e3be376c0def770.tar.gz glibc-e59c94fa0e2871bdfcc363899e3be376c0def770.tar.bz2 glibc-e59c94fa0e2871bdfcc363899e3be376c0def770.zip |
math: add LDBL_CLASSIFY_COMPAT support
If a platform does not define "long-double-fcts = yes" in its
Makefiles and it does define __NO_LONG_DOUBLE_MATH in its installed
headers, it will currently create exported symbols for __finitel,
__isinfl, and __isnanl that can't be reached from userspace by
correct use of the finite(), isinf(), or isnan() macros in <math.h>.
To avoid this situation, by default for such platforms we now no
longer export these symbols, thus causing appropriate link-time
errors. However, for platforms that previously exported these
symbols, we continue to do so as compat symbols; this is enabled
by adding LDBL_CLASSIFY_COMPAT to math_private.h for the platform.
For tile, remove the now-unnecessary exports of those functions from
libc and libm.
Diffstat (limited to 'sysdeps/nios2')
-rw-r--r-- | sysdeps/nios2/math_private.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/nios2/math_private.h b/sysdeps/nios2/math_private.h index a32579ff47..373da2a621 100644 --- a/sysdeps/nios2/math_private.h +++ b/sysdeps/nios2/math_private.h @@ -25,6 +25,10 @@ #define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; }) #define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; }) +/* Enable __finitel, __isinfl, and __isnanl for binary compatibility + when built without long double support. */ +#define LDBL_CLASSIFY_COMPAT 1 + #include_next <math_private.h> #define feraiseexcept(excepts) ({ 0; }) |