[PATCH 1/2] aarch64: Fix dwarf2 regnum for Dn
Richard Henderson
rth@twiddle.net
Thu Aug 7 00:09:00 GMT 2014
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;
}
--
1.8.3.1
More information about the Binutils
mailing list