[fpc-devel] Arm Hardfloat

Thomas Schatzl tom_at_work at gmx.at
Fri Oct 5 00:12:46 CEST 2012


Hi,

On Thu, 2012-10-04 at 23:55 +0200, Den Jean wrote:
> On Thursday 04 October 2012 23:18:43 Thomas Schatzl wrote:
> > Just checked, processor info (-Cparmv7a) is not passed to the assembler.
> > Try "-Cparmv7" - only then --march=armv7-a is passed correctly
> yep.
> 
> but make still fails 

Tried again, works fine.

Let's start from the beginning. What's your starting compiler? 2.7.0 I
guess? (which is the only option anyway for hardfloat). Binutils/gas
version? 

> /home/jan/svn/fpc/compiler/ppcarm src/fpmkunit.pp -n -Fu/home/jan/svn/fpc/rtl/units/arm-linux -Fu/home/jan/svn/fpc/packages/paszlib -Fu/home/jan/svn/fpc/packages/fcl-process -Fu/home/jan/svn/fpc/packages/hash -FUunits_bs/arm-linux -Fu../paszlib/src -Fu../hash/src -Fi../paszlib/src  -Fi../fcl-process/src/unix -Fu../fcl-process/src -Fi../fcl-process/src/linux -Fi../fcl-process/src/dummy -dFPC_ARMHF -Aas -O- -CaEABIHF -CfVFPV3_D16 -Cparmv7
> make[3]: Leaving directory `/home/jan/svn/fpc/packages/fpmkunit'
> /home/jan/svn/fpc/compiler/ppcarm fpmake.pp -n -Fu/home/jan/svn/fpc/packages/fpmkunit/units_bs/arm-linux -Fu/home/jan/svn/fpc/rtl/units/arm-linux  -dFPC_ARMHF -Aas -O- -CaEABIHF -CfVFPV3_D16 -Cparmv7
> fpmake.pp(34) Error: Can't call the assembler, error -9 switching to external assembling

Are you sure (the correct) gas is in the path? (It's strange because the
compilation before found correct gas; afaik fpmake/packages are only
compiled at the end)

Can you also try a "make distclean"? And check if the packages directory
does not contain any fpmake executables, object or ppu files afterwards;
if so, please remove them. Fpmake sometimes gets messed up if parts of a
previous compilation are still there. Further, at the moment, fpc
silently allows linking of mixed armel and armhf object files, which
does not work.

> fpmake.pp(34) Fatal: There were 2 errors compiling module, stopping
> Fatal: Compilation aborted
> make[2]: *** [fpmake] Error 1
> make[2]: Leaving directory `/home/jan/svn/fpc/packages'

Can you enter the "/home/jan/svn/fpc/packages"  directory and issue the
following command (maybe before doing a distclean):

/home/jan/svn/fpc/compiler/ppcarm fpmake.pp -n
-Fu/home/jan/svn/fpc/packages/fpmkunit/units_bs/arm-linux
-Fu/home/jan/svn/fpc/rtl/units/arm-linux -dFPC_ARMHF -Aas -O- -CaEABIHF
-CfVFPV3_D16 -Cparmv7 -s

(note the additional "-s" param) and paste the resulting ppas.bat after
it fails here? The line that invokes gas should use the correct gas. And
it should have a correct "--march=armv7-a" parameter.

Thomas





More information about the fpc-devel mailing list