[PATCH] C6X readelf unwinding table parsing
Paul Brook
paul@codesourcery.com
Thu Apr 7 11:53:00 GMT 2011
> > 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
More information about the Binutils
mailing list