I have an NDK app out on market and got a native crash report about a SIGILL
signal. (I use google breakpad to generate native crash reports.) Here are the details:
Ok, I got it: the NVIDIA Tegra 2 only has 16 64-bit GPU registers, and therefore to target it you must compile using -mfpu=vfpv3-d16
. The instruction in question uses register d16
, which is "just too many". :(
Here is a reference to an NVIDIA forum where an employee mentions this limitation: http://developer.nvidia.com/tegra/forum/optimal-performance-guidelines
Try to put *.so in a folder called 'externallibs' and use it to build by ndk-build, after copy and paste *.so in armeabi-v7a folder. It helps me. An other solutions is to remove the Neon Support if it is possible