From e59c94fa0e2871bdfcc363899e3be376c0def770 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Tue, 1 Dec 2015 14:59:38 -0500 Subject: 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 . 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. --- sysdeps/m68k/coldfire/fpu/math_private.h | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 sysdeps/m68k/coldfire/fpu/math_private.h (limited to 'sysdeps/m68k') diff --git a/sysdeps/m68k/coldfire/fpu/math_private.h b/sysdeps/m68k/coldfire/fpu/math_private.h new file mode 100644 index 0000000000..d306a508b4 --- /dev/null +++ b/sysdeps/m68k/coldfire/fpu/math_private.h @@ -0,0 +1,10 @@ +#ifndef COLDFIRE_MATH_PRIVATE_H +#define COLDFIRE_MATH_PRIVATE_H 1 + +/* Enable __finitel, __isinfl, and __isnanl for binary compatibility + when built without long double support. */ +#define LDBL_CLASSIFY_COMPAT 1 + +#include_next + +#endif -- cgit 1.4.1