Introduce ARMv7 with floating point as a separate CPU architecture on Android
Original Reporter info from Mantis: bozox
-
Reporter name: Seva Alekseyev
Original Reporter info from Mantis: bozox
- Reporter name: Seva Alekseyev
Description:
The native code subsystem of Android allows for two flavors of the ARM instruction set - v6 (armeabi) and v7 (armeabi-v7a). The latter allows for hardware floating point instructions (VFPv3-D16 according to the Google docs).
The Android branch of Free Pascal comes with a RTL that is built for ARMv6 without floating point support. Trying to compile with -CfVFPV3 fails with the following message:
PPU Loading C:\FPC\2.6.0\units\arm-linux\rtl\system.ppu
Trying to use a unit which was compiled with a different FPU mode
It would be nice if a build of the RTL with hardware floating point existed, was constructed by the build script, and would coexist with the existing ARM-Android RTL.
Steps to reproduce:
Install the Android branch of Free Pascal - either prebuilt, or build it from the source, the instructions are here: http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#Configuring_the_Free_Pascal_Compiler_for_Android
Write the file a.pas with the following content:
program a;
begin
end.
Compile the file with the following command:
fpc -Xd -CfVFPV3 -dAndroid -Parm -Tlinux -Flc:\android-ndk-r8b\platforms\android-9\arch-arm\usr\lib a.pas
(the path to the NDK may vary)
Watch the error message.
Mantis conversion info:
- Mantis ID: 22818
- OS: Android
- OS Build: All
- Build: N/A
- Platform: ARM
- Version: 2.5.1