This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: FW: Java vs. Dwarf2 EH Unwinder
- From: David Mosberger <davidm at napali dot hpl dot hp dot com>
- To: rth at redhat dot com
- Cc: aph at redhat dot com, bryce at waitaki dot otago dot ac dot nz, java at gcc dot gnu dot org, gcc at gcc dot gnu dot org, hans_boehm at hp dot com, davidm at napali dot hpl dot hp dot com
- Date: Thu, 28 Mar 2002 18:25:03 -0800
- Subject: Re: FW: Java vs. Dwarf2 EH Unwinder
- References: <40700B4C02ABD5119F000090278766443BF139@hplex1.hpl.hp.com>
- Reply-to: davidm at hpl dot hp dot com
Sorry if I jump into the middle of this discussion. Hans was kind enough
to forward the mail.
Rich> On Thu, Mar 28, 2002 at 09:31:26AM +0000, Andrew Haley wrote:
Andrew> Surely you'd need to pass the entire processor state to the
Andrew> _Unwind_RaiseException() variant.
Rich> Indeed. I would be willing to create a variant that took a
Rich> sigcontext* or something.
Andrew> This would only work if the kernel saved the entire processor
Andrew> state in the sigcontext and then called the signal handler. This
Andrew> does happen on some architectures, but not all, and therefore
Andrew> it's not a totally general solution.
Rich> There has to be enough information for the kernel to restore
Rich> enough state. What do you have in mind as an example of
Rich> not-enough-state being saved?
For example, ia64 linux only saves the scratch registers on signal
delivery. Thus, some preserved registers may live on the signal stack
and you can't just short-circuit out of the signal handler.
--david