about summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/Makefile2
-rw-r--r--math/libm.map9
-rw-r--r--math/math.h9
3 files changed, 17 insertions, 3 deletions
diff --git a/math/Makefile b/math/Makefile
index e0c295b123..fbbcad6ea9 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -36,6 +36,8 @@ aux		:= fpu_control setfpucw
 extra-libs	:= libm
 extra-libs-others = $(extra-libs)
 
+libm-map	:= libm.map
+
 libm-support = k_standard s_lib_version s_matherr s_signgam		\
 	       s_rinttol s_rinttoll s_roundtol s_roundtoll		\
 	       fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg		\
diff --git a/math/libm.map b/math/libm.map
new file mode 100644
index 0000000000..205578d2c2
--- /dev/null
+++ b/math/libm.map
@@ -0,0 +1,9 @@
+GLIBC_2.0 {
+  global:
+    # all functions and variables in the normal name space
+    a*; b*; c*; d*; e*; f*; g*; h*; i*; j*; k*; l*; m*;
+    n*; o*; p*; q*; r*; s*; t*; u*; v*; w*; x*; y*; z*;
+
+  local:
+    *;
+};
diff --git a/math/math.h b/math/math.h
index bf3ef9bcee..5229a020e0 100644
--- a/math/math.h
+++ b/math/math.h
@@ -300,17 +300,20 @@ extern int matherr __P ((struct exception *));
 #define	M_SQRT2		_Mldbl(1.41421356237309504880)	/* sqrt(2) */
 #define	M_SQRT1_2	_Mldbl(0.70710678118654752440)	/* 1/sqrt(2) */
 
+#endif
+
 /* Our constants might specify more precision than `double' can represent.
    Use `long double' constants in standard and GNU C, where they are
-   supported and the cast to `double'.  */
+   supported and the cast to `double'.
+
+   Please not we define the macro even if the constants are not defined.
+   This helps us to use the macros in other places.  */
 #if __STDC__ - 0 || __GNUC__ - 0
 #define _Mldbl(x) x##L
 #else	/* Traditional C.  */
 #define _Mldbl(x) x
 #endif	/* Standard or GNU C.  */
 
-#endif
-
 
 /* Get machine-dependent inline versions (if there are any).  */
 #if (!defined __NO_MATH_INLINES && defined __OPTIMIZE__) \