On 20 Dec 2015, at 11:39, Dmitry Moskalchuk <[email protected]> wrote:
> 
> Thanks for explanation, this is exactly what was unclear for me - how to 
> properly handle both Objective-C and C++ exceptions in 
> __gnustep_objcxx_personality_v0. The way to wrap Objective-C exception into 
> C++ one makes sense and looks simple to implement. I'll try to move with it 
> and will get back with results in a few days.

Ah, looking over the C++ unwinder code (which I wrote about 5 years ago, so 
don’t remember too well), I now see why it’s different on ARM:

https://github.com/pathscale/libcxxrt/blob/master/src/cxxabi.h#L113

You’ll need to copy those fields in here:

https://github.com/gnustep/libobjc2/blob/master/objcxx_eh.cc#L80

That should prevent objc_init_cxx_exception from overwriting the wrong fields 
on ARM.  I think that there are some tests in the test suite (the ‘test’ build 
target if you haven’t disabled building tests) that will indicate if it’s 
actually working.

David




-- Sent from my Apple II


_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to