This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/2] aarch64: Fix dwarf2 regnum for Dn
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Tue, 2 Sep 2014 18:38:52 +0100
- Subject: Re: [PATCH 1/2] aarch64: Fix dwarf2 regnum for Dn
- Authentication-results: sourceware.org; auth=none
- References: <1407370273-3580-1-git-send-email-rth at twiddle dot net>
On 7 August 2014 01:11, Richard Henderson <rth@twiddle.net> wrote:
> My argument for not accepting [bhsv]N is that unwind info
> is specifically 64-bits, i.e. the dN values.
>
> Not handled here is "esr" == 33.
>
> ---
> gas/config/tc-aarch64.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
> index 0a65b9d..09ea8a6 100644
> --- a/gas/config/tc-aarch64.c
> +++ b/gas/config/tc-aarch64.c
> @@ -5962,16 +5962,20 @@ tc_aarch64_regname_to_dw2regnum (char *regname)
>
> switch (reg->type)
> {
> - case REG_TYPE_SP_32:
> case REG_TYPE_SP_64:
> - case REG_TYPE_R_32:
> case REG_TYPE_R_64:
> + return reg->number;
> +
> + case REG_TYPE_FP_D:
> + return reg->number + 64;
> +
> + case REG_TYPE_SP_32:
> + case REG_TYPE_R_32:
> case REG_TYPE_FP_B:
> case REG_TYPE_FP_H:
> case REG_TYPE_FP_S:
> - case REG_TYPE_FP_D:
> case REG_TYPE_FP_Q:
> - return reg->number;
> + /* Do not allow register names of width other than 64-bit. */
> default:
> break;
Hi, Sorry, I've been out for a month. I think this change will break
the assembly of any existing code that uses cfi_offset for one of
these dropped register names? There is code over in glibc
dl-trampoline.S and possibly other places that would need to be fixed
first.
/Marcus