[fpc-devel] ARM V7 Hard float issue

Johan Kotze jkotze at novell.com
Tue May 7 19:42:50 CEST 2013


I am trying to build fpc and Lazarus for ARMHF for a pcDuino. The processor is an AllWinner A10. I used fpc 2.6.2 to build fpc 2.7.1 from source. When I compile a test program with the following parameters 

fpc -dFPC_ARMHF -Caeabihf -Cparmv6 -Cfvfpv3_d16  test.pas

I get the following output from readelf -a (just showing last bit)

Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "6"
  Tag_CPU_arch: v6
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-1
  Tag_FP_arch: VFPv3-D16
  Tag_DIV_use: Not allowed

The output of readelf -a /bin/ls is as follows:

Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_FP_arch: VFPv3-D16
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP
  Tag_ABI_VFP_args: VFP registers
  Tag_CPU_unaligned_access: v6
  Tag_DIV_use: Not allowed

It seems that fpc in fact does not produce ARMHF executables with the parameters that I use. Am I using the wrong parameters or is something broken in the ARMHF support ?


More information about the fpc-devel mailing list