This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Android-specific ABI for ARM-based CPU architectures, armeabi-v7a

Note: This was originally posted on 20th November 2010 at http://forums.arm.com

The android ndk says that ndk-build uses :Android-specific ABI for ARM-based CPU architectures, armeabi-v7a.
My doubt is that a shared library generated by arm-cc is compatible with android ndk or not?
This is because i'm facing errors like "file not recognized: File format not recognized" for my .so generated by arm-cc.
Is there some kind of work around for linking libraries(compiled by arm-cc) with android ndk?

All suggestions are welcome:)

Regards
Suvir
Parents
  • Note: This was originally posted on 24th November 2010 at http://forums.arm.com


    i'm using rvds 4.0.Android NDK is r4b(latest).
    I've generated a .so using code sourcery +RVDS(app note 212).
    When linking using NDK,i'm getting errors like


    /home/dk/Desktop/android-dev/android-ndk-r4b/fx_static/jni/libstripped.so: In function `_dadd':
    ../../signal.c:(ER_RO+0x6b14): multiple definition of `__aeabi_dadd'
    /home/dk/Desktop/android-dev/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/libgcc.a(_arm_addsubdf3.o):/tmp/xsrc/build/../gcc/gcc-4.4.0/libgcc/../gcc/config/arm/ieee754-df.S:86: first defined here
    /home/dk/Desktop/android-dev/android-ndk-r4b/fx_static/jni/libstripped.so: In function `_dflt':
    ../../signal.c:(ER_RO+0x6c60): multiple definition of `__aeabi_i2d'




    I found that my .so is actually trying to look for system wide libc,instaed of android libc.












    Could you please suggest some way of linking armcc with android bionic libc(just the way onc can link with Code sourcery toolchain)
Reply
  • Note: This was originally posted on 24th November 2010 at http://forums.arm.com


    i'm using rvds 4.0.Android NDK is r4b(latest).
    I've generated a .so using code sourcery +RVDS(app note 212).
    When linking using NDK,i'm getting errors like


    /home/dk/Desktop/android-dev/android-ndk-r4b/fx_static/jni/libstripped.so: In function `_dadd':
    ../../signal.c:(ER_RO+0x6b14): multiple definition of `__aeabi_dadd'
    /home/dk/Desktop/android-dev/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/libgcc.a(_arm_addsubdf3.o):/tmp/xsrc/build/../gcc/gcc-4.4.0/libgcc/../gcc/config/arm/ieee754-df.S:86: first defined here
    /home/dk/Desktop/android-dev/android-ndk-r4b/fx_static/jni/libstripped.so: In function `_dflt':
    ../../signal.c:(ER_RO+0x6c60): multiple definition of `__aeabi_i2d'




    I found that my .so is actually trying to look for system wide libc,instaed of android libc.












    Could you please suggest some way of linking armcc with android bionic libc(just the way onc can link with Code sourcery toolchain)
Children
No data