[fpc-devel] Patch: Add support for armhf

peter green plugwash at p10link.net
Tue Mar 27 01:58:55 CEST 2012

Jonas Maebe wrote:
> On 20 Mar 2012, at 23:43, peter green wrote:
>> I attatch a patch which adds support for armhf to freepascal.
> Thanks!
>> Armhf reffers to arm with the VFP hardfloat variant of EABI.  The 
>> defaults are setup to
>> be suitable for debian armhf (armv7 vfpv3_d16).
> Are they Debian-specific? Adding distribution-specific settings to the 
> compiler is something that should be very much avoided.
One has to chose some set of defaults, the ones i've picked match what 
debian/ubuntu are doing. If you want to reduce them to armv6 and vfpv2 
that's fine by me too. I don't think any lower is sane (the lowst VFP 
variant that freepascal supports is VFPV2 and afaict VFPV2 came in with 

> Some other remarks:
> * please split unrelated parts into separate patches (such as making 
> the internalerror in ninl.pas unique)
I split out the internal error change, most if not all of the other 
stuff in the patch is at least somewhat related to each other.

If you want me to split out other stuff please tell me where you would 
like the lines drawing (for example if you want the VFPV3_D16 in a 
seperate patch please tell me, it may be a bit of a pain to split it 
though as in at least one place it is in the same chunk as another armhf 
related change)
> * please create bug reports for those individual patches and attach 
> them there, it makes them easier to track than on a mailing list
I've filed bug reports for the main patch and the internalerror patch. 
If you want things splitting further please tell me and i'll do so and 
file more bugreports.


> * some stylistic remarks (there may be more, I just quickly glanced 
> over the patch):
> +     if ((target_info.abi=abi_eabi) or (target_info.abi=abi_eabihf)) and
> -> change into an in-statement (and as mentioned before, please do not 
> put multiple if-conditions on the same line except if they are really 
> short like two boolean variables)
> +  if target_info.abi = abi_eabihf then def_system_macro('FPC_ABI_EABI');
> -> Put the then-part on a separate line
> +    end else begin
> -> this should be
>   end
> else
>   begin

More information about the fpc-devel mailing list