This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] S/390 DWARF-2 CFI frame support
- From: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- To: cagney at gnu dot org (Andrew Cagney)
- Cc: cagney at gnu dot org (Andrew Cagney), kettenis at chello dot nl (Mark Kettenis), weigand at i1 dot informatik dot uni-erlangen dot de (Ulrich Weigand), gdb-patches at sources dot redhat dot com, uweigand at de dot ibm dot com
- Date: Wed, 10 Dec 2003 19:52:51 +0100 (CET)
- Subject: Re: [PATCH] S/390 DWARF-2 CFI frame support
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