[Lazarus] Android LCL example with 2.7.1

Sven Barth pascaldragon at googlemail.com
Thu Mar 7 13:59:05 CET 2013


Am 07.03.2013 12:33, schrieb Felipe Monteiro de Carvalho:
> But why is -CpARMV6 a problem? It is correct. The default is ARMv4
> which is not supported by Android, so we change it to ARMv6. Looks
> like a compiler bug or change in the code generator? Also, was the
> default changed?
The default for Android was changed to armv5t (though I don't know why 
Yury chose the *t variant...)
> More details should appear by finding the exact assembler instruction
> which causes the problem, like I did when I added this directive.
The offending instruction was a "uxth" in 
customdrawn_androidproc.FPColorToAndroidColor which is only generated by 
the compiler if the CPU type is ARMv6 or higher (and according to the 
reference manual for ARM it does indeed only exist for ARMv6 and 
higher). And this instruction crashed the emulator (which is ARMv5 at 
least for API version 8). I've also tested the LCL test app compiled for 
ARMv5 on my Evo 3D which has an ARMv7 processor and the app runs without 
any crashes.

As 2.7.1 officially suppports (arm-)android you can now report bugs if 
an app crashes because of an illegal instruction, but please state the 
CPU's model as detailed as possible (for my phone it would be "Qualcomm 
Snapdragon S3 MSM8260")

Regards,
Sven




More information about the Lazarus mailing list