Hi David,

I am using libsupc++ (or libstdc++) when I was testing, thus I think there
might be some problem with the foreign exception handling in libobjc2
run-time.  The output shows that the C++ exception is incorrectly caught by
the Objective-C handler, which expecting an Objective-C id.  I am keep
trying to figure out.

I have checked libcxxrt as well.  It seems that it does not have the same
problem.  The _URC_CONTINUE_UNWIND has been wrapped by continueUnwinding()
properly.

BTW, unfortunately, I am not going to AsiaBSDCon this week.  I am not sure
whether some of my colleagues will attend or not.

Sincerely,
Logan


On Mon, Mar 10, 2014 at 6:30 PM, David Chisnall <[email protected]> wrote:

> You forgot to include the patch...
>
> If you want C++ exceptions to work, then you should have a look at:
>
> https://github.com/pathscale/libcxxrt/blob/master/src/exception.cc
>
> I wrote this for C++ exceptions at about the same time as I wrote the
> Objective-C ones, and it probably has the same bugs.  It would be great to
> have them both working.
>
> Logan: Are you or any of the other MediaTek people going to make it to
> AsiaBSDCon this week?
>
> David
>
> On 10 Mar 2014, at 19:25, Mathias Bauer <[email protected]> wrote:
>
> > Hi dear list,
> >
> > as already reported here, the exception handling in libobjc2 does not
> work correctly on ARM platforms. The personality routine misses the virtual
> stack unwinding required by the ARM EHABI spec.
> >
> > I asked Logan Chien, who was involved in getting the ARM EHABHI stuff
> into llvm, for help and he sent me a patch that solved the problem.
> >
> > The patch makes the ExceptionTest.m work on the ARM systems he and I
> tested it on. The test cases for C++ and foreign exceptions still don't
> work, buth there are other reasons for that (e.g. that the code that there
> is no code that handles C++ exceptions on ARM).
> >
> > So first of all: many thanks to Logan!
> >
> > He asked me to post the patch here, so that's what I do now. Please give
> it a review.
> >
> >
> > _______________________________________________
> > Discuss-gnustep mailing list
> > [email protected]
> > https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
>
>
> --
> This email complies with ISO 3103
>
>
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to