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 armv6).


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.

http://bugs.freepascal.org/view.php?id=21545
http://bugs.freepascal.org/view.php?id=21554

* 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)
Done

+  if target_info.abi = abi_eabihf then def_system_macro('FPC_ABI_EABI');

-> Put the then-part on a separate line
Done

+    end else begin

-> this should be

  end
else
  begin

Done
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to