[AArch64/gas] v[0-31] registers not allowed in cfi_offset?
Richard Henderson
rth@redhat.com
Wed Aug 6 22:48:00 GMT 2014
On 08/06/2014 04:06 AM, Steven Vormwald wrote:
> Are the v[0-31] registers intentionally not supported in cfi_offset?
> I'm trying to figure out whether this is an oversight in gas due to
> aarch64 support being relatively new (seems likely given bug 16694) or
> if they are intentionally not supported and I need to stop emitting
> cfi_offset with them.
You mean by name? Technically, only the low 64-bits is supportable in the
unwind info, i.e. d[0-31]. So I think we shouldn't allow the V registers by
name. Or under the B, H or S names either, come to that.
But I also see that we produce invalid unwind info for the D regs:
.cfi_startproc
foo:
nop
.cfi_offset x10,0
.cfi_offset d10,0
.cfi_endproc
00000014 00000018 00000018 FDE cie=00000000 pc=00000000..00000004
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_offset: r10 at cfa+0
DW_CFA_offset: r10 at cfa+0
That second opcode should be r42.
r~
More information about the Binutils
mailing list