discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch: Exception Handling in libobjc2 with latest clang builds


From: Logan Chien
Subject: Re: Patch: Exception Handling in libobjc2 with latest clang builds
Date: Tue, 11 Mar 2014 00:39:58 +0800

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 <theraven@sucs.org> 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 <mathias_bauer@gmx.net> 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
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep



--
This email complies with ISO 3103



reply via email to

[Prev in Thread] Current Thread [Next in Thread]