From: Dmitriy Ivanov Date: Fri, 5 Jun 2015 01:30:51 +0000 (-0700) Subject: Add versions to libm.so symbols X-Git-Tag: android-x86-6.0-r1~37 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4d0d31475f1584ed7bf4a52ce784c62c30ad522c;p=android-x86%2Fbionic.git Add versions to libm.so symbols Bug: http://b/20139821 Change-Id: Ifdfcac62d59eb8f0985990aa8512046ecb87449e (cherry picked from commit 636f5ddddcd9e0bcfc7139b0905ebc92d4adc40a) --- 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;