Re: [PATCH] S/390 DWARF-2 CFI frame support

Ulrich Weigand
2003-12-10T18:52:56Z

Andrew,

> > I'm wondering if it would be easier, here to "give up". Throw the whole problem back at the architecture vis:
> >
> > - initialize unwind table using per OSABI (?) method
> >
> > - update the unwind table using the CFI initialize info
> >
> > - update the unwind table using the PC's CFI unwind info
> >
> > - if after all this a register is still unspecified, we complain
> > (btw, the compaint is only ment to appear once but apparently appears repeatedly?).
> >
> > Thoughts for the moment on the theory? Mark?

I don't quite see how to map the existing issues in this ABI:

- On s390, we need to copy %r14 *after it was unwound* to the PC
register. I see how to do that if an arch-specific routine is
called after the CFI data is parsed, but not how to do it if
the arch-specific routine is called *before*.

- On x86_64, you need to specific that the stack pointer is unwound
to the CFA. How should the arch-specific routine do that?
(Again, if the arch-specific routine were called after the CFI
is parsed, it could presumably copy the expression for the CFA
as stack pointer unwind expression. But before?)

However, this interface would solve the call-saved registers issue.

Bye,
Ulrich

--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de