aboutsummaryrefslogtreecommitdiffstats
path: root/libm
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2015-06-04 18:30:51 -0700
committerDmitriy Ivanov <dimitry@google.com>2015-06-17 13:50:37 -0700
commit4d0d31475f1584ed7bf4a52ce784c62c30ad522c (patch)
tree08e78f48a95e07261df1378e81e513c8a511e6cf /libm
parent6b37515c38ce1d5701915ffcd3bc6b6840d90fa7 (diff)
downloadandroid_bionic-4d0d31475f1584ed7bf4a52ce784c62c30ad522c.tar.gz
android_bionic-4d0d31475f1584ed7bf4a52ce784c62c30ad522c.tar.bz2
android_bionic-4d0d31475f1584ed7bf4a52ce784c62c30ad522c.zip
Add versions to libm.so symbols
Bug: http://b/20139821 Change-Id: Ifdfcac62d59eb8f0985990aa8512046ecb87449e (cherry picked from commit 636f5ddddcd9e0bcfc7139b0905ebc92d4adc40a)
Diffstat (limited to 'libm')
-rw-r--r--libm/Android.mk4
-rw-r--r--libm/libm.map378
2 files changed, 382 insertions, 0 deletions
diff --git a/libm/Android.mk b/libm/Android.mk
index 4a5bbad57..e919129ff 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -513,10 +513,14 @@ include $(BUILD_STATIC_LIBRARY)
# -----------------------------------------------------------------------------
include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/libm.map
+
# TODO: This is to work around b/19059885. Remove after root cause is fixed
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
+LOCAL_LDFLAGS := -Wl,--version-script,$(LOCAL_PATH)/libm.map
+
LOCAL_MODULE := libm
LOCAL_CLANG := $(libm_clang)
LOCAL_SYSTEM_SHARED_LIBRARIES := libc
diff --git a/libm/libm.map b/libm/libm.map
new file mode 100644
index 000000000..7f02f42f1
--- /dev/null
+++ b/libm/libm.map
@@ -0,0 +1,378 @@
+LIBC {
+ global:
+ __fe_dfl_env;
+ __signbit;
+ __signbitf;
+ __signbitl;
+ acos;
+ acosf;
+ acosh;
+ acoshf;
+ acoshl;
+ acosl;
+ asin;
+ asinf;
+ asinh;
+ asinhf;
+ asinhl;
+ asinl;
+ atan;
+ atan2;
+ atan2f;
+ atan2l;
+ atanf;
+ atanh;
+ atanhf;
+ atanhl;
+ atanl;
+ cabs;
+ cabsf;
+ cabsl;
+ cacos;
+ cacosf;
+ cacosh;
+ cacoshf;
+ carg;
+ cargf;
+ cargl;
+ casin;
+ casinf;
+ casinh;
+ casinhf;
+ catan;
+ catanf;
+ catanh;
+ catanhf;
+ cbrt;
+ cbrtf;
+ cbrtl;
+ ccos;
+ ccosf;
+ ccosh;
+ ccoshf;
+ ceil;
+ ceilf;
+ ceill;
+ cexp;
+ cexpf;
+ cimag;
+ cimagf;
+ cimagl;
+ conj;
+ conjf;
+ conjl;
+ copysign;
+ copysignf;
+ copysignl;
+ cos;
+ cosf;
+ cosh;
+ coshf;
+ coshl;
+ cosl;
+ cproj;
+ cprojf;
+ cprojl;
+ creal;
+ crealf;
+ creall;
+ csin;
+ csinf;
+ csinh;
+ csinhf;
+ csqrt;
+ csqrtf;
+ csqrtl;
+ ctan;
+ ctanf;
+ ctanh;
+ ctanhf;
+ drem;
+ dremf;
+ erf;
+ erfc;
+ erfcf;
+ erfcl;
+ erff;
+ erfl;
+ exp;
+ exp2;
+ exp2f;
+ exp2l;
+ expf;
+ expl;
+ expm1;
+ expm1f;
+ expm1l;
+ fabs;
+ fabsf;
+ fabsl;
+ fdim;
+ fdimf;
+ fdiml;
+ feclearexcept;
+ fedisableexcept;
+ feenableexcept;
+ fegetenv;
+ fegetexcept;
+ fegetexceptflag;
+ fegetround;
+ feholdexcept;
+ feraiseexcept;
+ fesetenv;
+ fesetexceptflag;
+ fesetround;
+ fetestexcept;
+ feupdateenv;
+ finite;
+ finitef;
+ floor;
+ floorf;
+ floorl;
+ fma;
+ fmaf;
+ fmal;
+ fmax;
+ fmaxf;
+ fmaxl;
+ fmin;
+ fminf;
+ fminl;
+ fmod;
+ fmodf;
+ fmodl;
+ frexp;
+ frexpf;
+ frexpl;
+ gamma;
+ gamma_r;
+ gammaf;
+ gammaf_r;
+ hypot;
+ hypotf;
+ hypotl;
+ ilogb;
+ ilogbf;
+ ilogbl;
+ j0;
+ j0f;
+ j1;
+ j1f;
+ jn;
+ jnf;
+ ldexpf;
+ ldexpl;
+ lgamma;
+ lgamma_r;
+ lgammaf;
+ lgammaf_r;
+ lgammal;
+ lgammal_r;
+ llrint;
+ llrintf;
+ llrintl;
+ llround;
+ llroundf;
+ llroundl;
+ log;
+ log10;
+ log10f;
+ log10l;
+ log1p;
+ log1pf;
+ log1pl;
+ log2;
+ log2f;
+ log2l;
+ logb;
+ logbf;
+ logbl;
+ logf;
+ logl;
+ lrint;
+ lrintf;
+ lrintl;
+ lround;
+ lroundf;
+ lroundl;
+ modf;
+ modff;
+ modfl;
+ nan;
+ nanf;
+ nanl;
+ nearbyint;
+ nearbyintf;
+ nearbyintl;
+ nextafter;
+ nextafterf;
+ nextafterl;
+ nexttoward;
+ nexttowardf;
+ nexttowardl;
+ pow;
+ powf;
+ powl;
+ remainder;
+ remainderf;
+ remainderl;
+ remquo;
+ remquof;
+ remquol;
+ rint;
+ rintf;
+ rintl;
+ round;
+ roundf;
+ roundl;
+ scalb;
+ scalbf;
+ scalbln;
+ scalblnf;
+ scalblnl;
+ scalbn;
+ scalbnf;
+ scalbnl;
+ signgam;
+ significand;
+ significandf;
+ significandl;
+ sin;
+ sincos;
+ sincosf;
+ sincosl;
+ sinf;
+ sinh;
+ sinhf;
+ sinhl;
+ sinl;
+ sqrt;
+ sqrtf;
+ sqrtl;
+ tan;
+ tanf;
+ tanh;
+ tanhf;
+ tanhl;
+ tanl;
+ tgamma;
+ tgammaf;
+ tgammal;
+ trunc;
+ truncf;
+ truncl;
+ y0;
+ y0f;
+ y1;
+ y1f;
+ yn;
+ ynf;
+ local:
+ *;
+};
+
+LIBC_PRIVATE {
+ global:
+ ___Unwind_Backtrace; # arm
+ ___Unwind_ForcedUnwind; # arm
+ ___Unwind_RaiseException; # arm
+ ___Unwind_Resume; # arm
+ ___Unwind_Resume_or_Rethrow; # arm
+ __adddf3; # arm
+ __aeabi_cdcmpeq; # arm
+ __aeabi_cdcmple; # arm
+ __aeabi_cdrcmple; # arm
+ __aeabi_cfcmpeq; # arm
+ __aeabi_cfcmple; # arm
+ __aeabi_cfrcmple; # arm
+ __aeabi_d2lz; # arm
+ __aeabi_d2uiz; # arm
+ __aeabi_d2ulz; # arm
+ __aeabi_dadd; # arm
+ __aeabi_dcmpeq; # arm
+ __aeabi_dcmpge; # arm
+ __aeabi_dcmpgt; # arm
+ __aeabi_dcmple; # arm
+ __aeabi_dcmplt; # arm
+ __aeabi_ddiv; # arm
+ __aeabi_dmul; # arm
+ __aeabi_drsub; # arm
+ __aeabi_dsub; # arm
+ __aeabi_f2d; # arm
+ __aeabi_f2lz; # arm
+ __aeabi_f2ulz; # arm
+ __aeabi_fcmpeq; # arm
+ __aeabi_fcmpge; # arm
+ __aeabi_fcmpgt; # arm
+ __aeabi_fcmple; # arm
+ __aeabi_fcmplt; # arm
+ __aeabi_i2d; # arm
+ __aeabi_l2d; # arm
+ __aeabi_ui2d; # arm
+ __aeabi_ul2d; # arm
+ __aeabi_unwind_cpp_pr0; # arm
+ __aeabi_unwind_cpp_pr1; # arm
+ __aeabi_unwind_cpp_pr2; # arm
+ __cmpdf2; # arm
+ __cmpsf2; # arm
+ __divdf3; # arm
+ __eqdf2; # arm
+ __eqsf2; # arm
+ __extendsfdf2; # arm
+ __fixdfdi; # arm mips
+ __fixsfdi; # arm mips
+ __fixunsdfdi; # arm mips
+ __fixunsdfsi; # arm
+ __fixunssfdi; # arm mips
+ __floatdidf; # arm
+ __floatsidf; # arm
+ __floatundidf; # arm
+ __floatunsidf; # arm
+ __gedf2; # arm
+ __gesf2; # arm
+ __gnu_Unwind_Backtrace; # arm
+ __gnu_unwind_execute; # arm
+ __gnu_Unwind_ForcedUnwind; # arm
+ __gnu_unwind_frame; # arm
+ __gnu_Unwind_RaiseException; # arm
+ __gnu_Unwind_Restore_VFP; # arm
+ __gnu_Unwind_Restore_VFP_D; # arm
+ __gnu_Unwind_Restore_VFP_D_16_to_31; # arm
+ __gnu_Unwind_Restore_WMMXC; # arm
+ __gnu_Unwind_Restore_WMMXD; # arm
+ __gnu_Unwind_Resume; # arm
+ __gnu_Unwind_Resume_or_Rethrow; # arm
+ __gnu_Unwind_Save_VFP; # arm
+ __gnu_Unwind_Save_VFP_D; # arm
+ __gnu_Unwind_Save_VFP_D_16_to_31; # arm
+ __gnu_Unwind_Save_WMMXC; # arm
+ __gnu_Unwind_Save_WMMXD; # arm
+ __gtdf2; # arm
+ __gtsf2; # arm
+ __ledf2; # arm
+ __lesf2; # arm
+ __ltdf2; # arm
+ __ltsf2; # arm
+ __muldc3; # arm x86 mips
+ __muldf3; # arm
+ __nedf2; # arm
+ __nesf2; # arm
+ __restore_core_regs; # arm
+ __subdf3; # arm
+ _Unwind_Backtrace; # arm
+ _Unwind_Complete; # arm
+ _Unwind_DeleteException; # arm
+ _Unwind_ForcedUnwind; # arm
+ _Unwind_GetCFA; # arm
+ _Unwind_GetDataRelBase; # arm
+ _Unwind_GetLanguageSpecificData; # arm
+ _Unwind_GetRegionStart; # arm
+ _Unwind_GetTextRelBase; # arm
+ _Unwind_RaiseException; # arm
+ _Unwind_Resume; # arm
+ _Unwind_Resume_or_Rethrow; # arm
+ _Unwind_VRS_Get; # arm
+ _Unwind_VRS_Pop; # arm
+ _Unwind_VRS_Set; # arm
+ restore_core_regs; # arm
+} LIBC;