Use -fvisibility=hidden to build libm.
Bug: 11156955
Change-Id: I77b7772a44313a1eb3970f5d2c8e2af63690efa4
diff --git a/libm/Android.mk b/libm/Android.mk
index d7d8bc1..4dfb216 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -239,6 +239,7 @@
-Wno-sign-compare \
-Wno-uninitialized \
-Wno-unknown-pragmas \
+ -fvisibility=hidden \
libm_common_includes := $(LOCAL_PATH)/upstream-freebsd/lib/msun/src/
diff --git a/libm/include/fenv.h b/libm/include/fenv.h
index 6966e0d..73ecc80 100644
--- a/libm/include/fenv.h
+++ b/libm/include/fenv.h
@@ -34,6 +34,7 @@
#include <machine/fenv.h>
__BEGIN_DECLS
+#pragma GCC visibility push(default)
int feclearexcept(int);
int fegetexceptflag(fexcept_t *, int);
@@ -64,6 +65,7 @@
extern const fenv_t __fe_dfl_env;
#define FE_DFL_ENV (&__fe_dfl_env)
+#pragma GCC visibility pop
__END_DECLS
#endif /* ! _FENV_H_ */
diff --git a/libm/include/math.h b/libm/include/math.h
index c264583..4faec33 100644
--- a/libm/include/math.h
+++ b/libm/include/math.h
@@ -20,6 +20,9 @@
#include <sys/cdefs.h>
#include <limits.h>
+__BEGIN_DECLS
+#pragma GCC visibility push(default)
+
/*
* ANSI/POSIX
*/
@@ -165,7 +168,7 @@
* effect of raising floating-point exceptions, so they are not declared
* as __pure2. In C99, FENV_ACCESS affects the purity of these functions.
*/
-__BEGIN_DECLS
+
/*
* ANSI/POSIX
*/
@@ -282,6 +285,7 @@
double drem(double, double);
int finite(double) __pure2;
int isnanf(float) __pure2;
+long double significandl(long double);
/*
* Reentrant version of gamma & lgamma; passes signgam back by reference
@@ -464,6 +468,7 @@
void sincosl(long double, long double*, long double*);
#endif /* _GNU_SOURCE */
+#pragma GCC visibility pop
__END_DECLS
#endif /* !_MATH_H_ */