Commit Graph

2 Commits

Author SHA1 Message Date
Andrew Hsieh
a5c12d1936 Update libm_hard.a
1) Add ldexp.  ldexp used to co-exist in both libc.so and libm.so until
   the removal from libm.so in ICS.  Unfortunately the sole copy of libm_hard.a
   in NDK was compiled from JB source and miss ldexp.  Code compiled with
   hard-float using ldexp may use libc.so which follows soft-float and misbehave
2) Turns out the following (all in fpclassify.o) also exists in recent libc.so
   too.  Add them in libm_hard.a as well:

    __fpclassifyd
    __fpclassifyf
    __fpclassifyl
    __isfinitef
    __isfinite
    __isfinitel
    __isinff
    __isinf
    __isinfl
    __isnanl
    __isnormalf
    __isnormal
    __isnormall
    isinf
    isnan
    isnanf

Change-Id: Ia157fb2911341988de102e55d0c6f6141a9c3dda
2014-06-10 10:58:37 +08:00
Andrew Hsieh
059df41ed9 Add libm_hard.a for armeabi-v7a
A math library compiled with -mhard-float.  Build instructions:

1. cd to a recent Android source tree: bionic.git
   fbefb252b09634114977dbd1b48dd42bb2629b83 (internal) in this case
2. Temporarily remove "-mfloat-abi=softfp" from build/core/combo/arch/arm/armv7*
   and build/core/combo/TARGET_linux-arm.mk
3. Temporarily add "-mhard-float -mfloat-abi=hard" to LOCAL_CFLAGS
   for libm.a in bionic/libm/Android.mk
4. make -B -j32 out/target/product/generic/obj/STATIC_LIBRARIES/libm_intermediates/libm.a
5. Rename it

Change-Id: I107eea48af75e97b448862cfc7aae2e8f8911a63
2013-10-17 19:41:06 +08:00