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
