Gustavo Serra Scalet added the comment:

-fexceptions documentation:
https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fexceptions

Highlight to: "you may need to enable this option when compiling C code that 
needs to interoperate properly with exception handlers written in C++"

And this issue was detected when cpython is used like the following:
.---------------------.
|     A C++ code      | <= Designed to be the catcher
:---------------------:
|       cpython       | <= Should only pass exception up
:---------------------:
| called C++ function | <= Raises a C++ exception
'---------------------'

This is already working for X64, but not on PPC64LE (and possibly ARM64 and 
other architectures as well).

For some reason the C++ unwinder can unwind C frames without special unwind 
information on X64. Maybe it can assume frame information on this architectures 
and it succeeds, but that's just pure luck in my opinion.

ps: this patch is not v2.7 specific. It should be applied globally to other 
versions as well. It was merely reported to v2.7 as it was the python version 
that our c++ library was using. Maybe it'll be easier to backport this patch to 
other versions once it's in.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue30910>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to