This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: IA64 EH
- To: Andrew Macleod <amacleod at cygnus dot com>
- Subject: Re: IA64 EH
- From: Jason Merrill <jason at cygnus dot com>
- Date: 01 Jun 2000 18:15:09 -0700
- Cc: martin at loewis dot home dot cs dot tu-berlin dot de, rth at cygnus dot com, gcc at gcc dot gnu dot org, mark at codesourcery dot com
- References: <200005261726.KAA11433@rtl.cygnus.com>
>>>>> Andrew Macleod <amacleod@cygnus.com> writes:
>>> We should make a decision as to whether or not we want to use the
>>> IA64-style exception handling on other platforms or not. There's no
>>> backwards compatibility issue here beacuse we're breaking the ABI in
>>> the next release anyhow -- and removing support for the old ABI. So,
>>> the decision is only: a) does that make sense, and b) how hard is it.
>>> We won't get a second chance; if we do want to do this, we want to do
>>> it now.
> from rth:
>>> On Fri, May 26, 2000 at 09:21:32AM +0200, Martin v. Loewis wrote:
>>> > > No. The IA-64 bits that were checked in only affect unwinding.
>>> > > The format that Intel chose is extremely IA-64 specific, and has
>>> > > no real advantage over dwarf2 at all.
> Yeah, its very ia64 specific. Its more compact in the object, but it
> would require a new set of unwind opcode definitions tailored for each
> target, and it is also distasteful (IMO) in that it generates the unwind
> info in the assembler instead of the compiler. Dwarf2 is more generic,
> so its seems more preferable for porting activity.
Agreed. But we do need to make some improvements to the dwarf2 format; in
particular, we should use relative relocs whenever possible to avoid having
to fix them up at runtime.
>>> > I guess a different way to phrase Mark's question is:
>>> >
>>> > a) Can the new C++ EH ABI
>>> > (http://reality.sgi.com/dehnert_engr/cxx/abi-eh.html) be
>>> > implemented on top of the dwarf2 unwinding information?
>>>
>>> Yes, for the exact same reason: dwarf2 only affects the actual
>>> stack unwinding, which the document you mention assumes by reference
>>> from the Intel IA-64 manuals. What's being described there is
>>> the interface between the program and the unwinding runtime.
> I believe Jason Merrill has a slightly modified version of that which he
> was hoping/planning to suggest as the EH ABI. Its quite similar, but
> with a couple of enhancements. I'll let him comment on it since I
> haven't looked at it for a while.
I'm not sure what enhancements you're referring to; if I had any
enhancements to suggest, I'd want to get them into the common ABI.
Jason