Re: [fpc-devel] ARM V7 Hard float issue
Johan Kotze wrote: 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 ? IIRC fpc doesn't set elf tags to mark objects as hardfloat, this is something I need to look into (if someone else hasn't already). ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] ARM V7 Hard float issue
On 08 May 2013, at 11:11, Jonas Maebe wrote: We should give an error if you try to use any -Ca* parameter with the ARM compiler (other than for the ABI for which the compiler has been built), since it will never work properly anyway. I've implemented this now. "fpc -i" will now also only display the ABIs actually supported by the compiler binary. Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] ARM V7 Hard float issue
On 07 May 2013, at 19:42, Johan Kotze wrote: 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 FPC's ARM supported is implemented such that you have to specify the kind of ABI you want to support when building the compiler binary itself. You can do so via the OPT="xx" make option. So add OPT="- dFPC_ARMHF" when building FPC 2.7.1, and you will get an ARM compiler that generates ARMHF code/binaries. Adding -dFPC_ARMHF when compiling a program will not change anything. We should give an error if you try to use any -Ca* parameter with the ARM compiler (other than for the ABI for which the compiler has been built), since it will never work properly anyway. Or fix the ARM compiler to correctly deal with different ABIs at compile time rather than only at compiler build time, but other developers don't like that. Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] ARM V7 Hard float issue
Hi 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 ? Johan ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel