Hello,
I have an android application which has neon optimised native code. The neon instructions were written for armv7a architecture. I've read that ARMv8 arch can run in both 32bit mode and 64bit mode. I've been trying to compile the code using ndk-r10c for ARMv8 but I didn't find any compiler flag to build in 32bit mode. While I was experimenting, I changed APP_ABI from armeabi-v7a to ARM64-v8a in Application.mk and received error stating that neon is not supported. Later I disabled -mfpu=neon cflag in Android.mk, error shown was unknown mnemonics for all the neon assembly instructions
So following are my questions....
1) What are the proper flags to be set to build using ndk-r10c
2) or the code built for armeabi-v7a will run as it is on ARMv8
3) if 2 is true then can a combination of 32bit built and 64bit built so work together.
Thanks
Vidit
Thanks a lot Kévin for clearing the my doubts. Just a last query which i had stated before. Say i have a .so built in 32-bit and I want to use it along with 64 bit built code. Will it work fine. I have read that armv8 switches modes using exception levels. Will it be applicable here.
Regards
Say i have a .so built in 32-bit and I want to use it along with 64 bit built code. Will it work fine. I have read that armv8 switches modes using exception levels. Will it be applicable here.
You can't use different bitnesses in the same process. Using a 32-bit library from a 64-bit binary isn't possible. Switching between 32 and 64-bit bit can only be done by the OS, at the process level.
Regards,
Kévin
Thanks Kévin for your answers