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: [PATCH] C6X readelf unwinding table parsing


> > The attached patch teaches readelf -u how to grok the C6X ABI defined
> > unwinding tables.  These are similar to those used by ARM, so much of the
> > code is shared.  Notable differences are the handling of PREL31 offsets,
> > different unwinding opcodes, and the addition of two more standard
> > personality routines.
>
> This is OK in C6X terms (and you can approve the ARM changes yourself),
> presuming that:
> 
> * It is deliberate that you don't try to represent the big-endian pair
> swapping when describing instructions to pop registers.

Yes, this was deliberate. Likewise the padding in the compact layout is 
implicit.  I erred on the side of displaying the information as encoded in the 
file, rather than interpreting the semantics.

There are three different pop opcodes.  These are output as "pop {regs}" for 
the regular ABI defined layout: "pop compact {regs}" for the ABI defined 
compact layout, and "pop frame {regs+padding}" for custom layouts.  c6x 
doesn't have an actual pop instruction, so this seemed reasonably unambiguous.

Paul


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