This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [arm] Use EABI unwind library
- From: Paul Brook <paul at codesourcery dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org,Mark Mitchell <mark at codesourcery dot com>,Richard Earnshaw <rearnsha at arm dot com>
- Date: Thu, 23 Sep 2004 13:20:40 +0100
- Subject: Re: [arm] Use EABI unwind library
- Organization: CodeSourcery
- References: <200409220346.19550.paul@codesourcery.com> <20040923063203.GA3721@redhat.com>
On Thursday 23 September 2004 07:32, Richard Henderson wrote:
> On Wed, Sep 22, 2004 at 03:46:19AM +0100, Paul Brook wrote:
> > b) Provide a custom personality routine that uses tables similar to teh
> > existing dwarf2 unwinder.
>
> If you're defining your own personality routine, and your own lsda,
> why can't it be *exactly* like the existing dwarf2 unwinder instead
> of only sort of like it?
Because __cxa_call_unexpected (as defined by the EABI) requires the function
exception specification as an array of pointers[1] to type_into objects.
In practice this means this section of the lsda must be laid out in a
compatible manner so it can be used directly.
> > * unwind.h: Include unwind-arm.h when using ARM EABI unwinder.
>
> I don't like this at all. This is an installed header. If you
> want to replace the file in its entirety, then you should do so
> instead of playing ifdef games.
Ok, I'll see if I can get the build system to do that.
Paul
[1] Actually the symbol value relocated by R_ARM_TARGET2.