On 2/7/2017 05:37, Arnaud Charlet wrote:
The attached patch to gcc trunk enables Ada support on
aarch64-*-freebsd*.  All tests pass except those affected by the
currently missing unwind support (c52103x, c52104x, c52104y,
cb1010a, cb1010c, cb1010d,  gnat.dg/null_pointer_deref* (3)).

I'd also like to get this patch backported to the gcc-6 branch.
There's a one-line content difference between patches, so I've
attached the 6.x specific patch as well.

My copyright assignment is on file and in order.

gcc/ada/Changelog:
2017-02-XX  John Marino  <gnu...@marino.st>

        * gcc-interface/Makefile.in: Support aarch64-freebsd

It seems wrong to reuse system-freebsd-x86.ads for a different processor.
We should either:

- use a different system file (e.g. system-freebsd-aarch64.ads)
- or rename the file to e.g. system-freebsd.ads, *and* adjust the
  setting of at least Default_Bit_Order to something like:

     Default_Bit_Order : constant Bit_Order :=
                         Bit_Order'Val (Standard'Default_Bit_Order);

Arno


Hi Arno,
This is exactly what aarch64-*-linux* is doing is doing in gcc 6 branch (e.g. system.ads<system-linux-x86_64.ads) which is what I modeled it after, but now I see it has been changed to "system.ads<system-linux-arm.ads" in trunk. (changed to "system.ads<system-linux-armel.ads" on r241316 without explanation and then to "system.ads<system-linux-arm.ads" on r241328)

I would vote for simply copying system-freebsd-x86.ads to system-freebsd-aarch64.ads but that seems to go against the recent effort to merge the x86-64 and i386 system versions. I am not currently aware of any content differences between system-freebsd-x86.ads and the proposed system-freebsd-aarch64.ads. They would be duplicates as far as I know.

(I'm not particularly fond of one system file for all processors though).

John


Reply via email to