Recent

Author Topic: armeabi and armeabi-v7a  (Read 1131 times)

BeniBela

  • Hero Member
  • *****
  • Posts: 685
    • homepage
armeabi and armeabi-v7a
« on: December 23, 2018, 12:47:02 am »
Does fpc generate  armeabi or armeabi-v7a binaries for Android? How does one check which one was generated?

Is there an option to choose the eabi?

Which one is better? Should we generate both or will armeabi always run on armeabi-v7a devices?

Thaddy

  • Hero Member
  • *****
  • Posts: 9279
Re: armeabi and armeabi-v7a
« Reply #1 on: December 23, 2018, 08:51:31 am »
armeabi and armeabihf you mean? (Since armeabiv7 simply means an eabi for armv7a and is unknown syntax)
Depending on Android version you can compile for both eabi and eabihf. If no floating point is used the executable is eabi softfloat anyway.
My raspberry pi has default (which is eabi) and eabihf. You can examine an executable with readelf -h to see which eabi the compiler has chosen (i.e. if eabihf is actually used).
If the android version supports it (newer versions) you can use eabihf from arnv6 and higher. eabi for armv5 and higher will always work, but higher versions have higher performance and eabihf has still higher performance.
You can control this through the commandline parameters
ABI :   -CaEABI, -CaEABIHF (The latter is advisory and not used w/o float code)
CPU: -CpARMv7a etc -OpARMv7a
FPU  -CfVFPv3, -CfVFPv4 etc.

See fpc -i
also related to equus asinus.