These parallel the updates to ARM
https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00214.html following from Richard
Earnshaw's proposal for updates to the AAPCS and AAPCS64,
 https://gcc.gnu.org/ml/gcc/2015-07/msg00040.html .

On AArch64 we do not have the problem of broken profiledbootstrap (as originally
on ARM), hence I do not propose to backport these to earlier GCC branches.
Rather, the GCC 5 -> 6 transition, seems a better time for any ABI change.
(However, as previously, there should be no changes for types that are naturally
aligned, only those using types with explicit alignment specifiers, which was
not previously sanctioned by the AAPCS.)

Similarly to ARM, I note that Ada is affected. Indeed, with a gcc 4.9 host
compiler, I saw a bootstrap miscompare iff including Ada; however, I was able to
bootstrap Ada successfully, if I first built a GCC including this patch with
--disable-bootstrap, and then used that as host compiler. The best explanation
I can see for this is mismatched host vs built libraries and compiler being used
together, something like Jakub's suggestion
http://gcc.gnu.org/ml/gcc-patches/2015-11/msg00338.html. I don't feel I have the
expertise for this, and am CCing the Ada maintainers in the hope they can help.

Bootstrapped + check-gcc + check-g++ on aarch64-none-linux-gnu and
aarch64_be-none-elf.
Also bootstrapped + check-ada on aarch64-none-linux-gnu with --disable-bootstrap
host compiler, as above.

OK for trunk?

--Alan


Reply via email to