This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Add aarch64 support for ada
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: rth at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org, bosch at gnat dot com, charlet at act-europe dot fr
- Date: Wed, 16 Apr 2014 09:39:45 +0200
- Subject: Re: [RFC] Add aarch64 support for ada
- Authentication-results: sourceware.org; auth=none
- References: <1397631733-10377-1-git-send-email-rth at redhat dot com>
> The primary bit of rfc here is the hunk that applies to ada/types.h
> with respect to Fat_Pointer. Given that the Ada type, as defined in
> s-stratt.ads, does not include alignment, I can't imagine why the C
> type should have it.
See gcc-interface/utils.c:finish_fat_pointer_type.
> This causes problems with the AArch64 calling convention, which honors
> this alignment in the set of registers it chooses to pass the struct.
> One can see this difference in create_concat_name vs
> Exp_Dbug.Get_External_Name_With_Suffix.
This should not happen though, since String is passed as a fat pointer too.
> Similarly with the HAVE_GNAT_ALTERNATE_STACK stuff. There aren't any
> linux hosts that don't support sigaltstack, so why is this
> conditionalized?
Because we don't want to use it if we can avoid it, as this generally makes
things less robust. It's mandatory for x86 and x86-64, but I'm not sure why
PowerPC is in the list. I'll try and remove it.
Given that aarch32 works without it, I don't think that we should add it for
aarch64. This may make some stack checking tests fail, but that's OK since
there is no stack checking support in the aarch64 back-end AFAIK.
--
Eric Botcazou