Message300355
-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. |
|
Date |
User |
Action |
Args |
2017-08-16 12:47:57 | gut | set | recipients:
+ gut, pitrou, vstinner, brunoalr |
2017-08-16 12:47:57 | gut | set | messageid: <1502887677.3.0.637594444001.issue30910@psf.upfronthosting.co.za> |
2017-08-16 12:47:57 | gut | link | issue30910 messages |
2017-08-16 12:47:56 | gut | create | |
|