[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