This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64/gas] v[0-31] registers not allowed in cfi_offset?


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]