[Bug target/89093] [9 Regression] C++ exception handling clobbers d8 VFP register
bernd.edlinger at hotmail dot de
gcc-bugzilla@gcc.gnu.org
Thu Apr 11 15:26:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89093
--- Comment #41 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
(In reply to Jakub Jelinek from comment #39)
> (and, note, not just C++ personality routine, we have also libgcc/unwind-c.c
> with C personality routine (also changed in the patch) and perhaps
> personality routines for other languages; I see e.g. libobjc/exception.c or
> gcc/ada/raise-gcc.c not patched though, and
> libphobos/libdruntime/gcc/deh.d), but perhaps it only cares about the
> personality routine itself and not on what it calls. This needs to be
> clarified.
Yes you are absolutely right about objC, Ada, and D.
At the very least the personality routine, and all functions
that are calling __gnu_unwind_frame need that pragma.
in obj-C it is a macro CONTINUE_UNWINDING, that is fine.
In ada it is continue_unwind a function, that calls __gnu_unwind_frame,
and personality_body calling continue_unwind,
and the personality function itself.
In D it is CONTINUE_UNWINDING, a function.
scanLSDA, __gdc_personality, and gdc_personality itself.
More information about the Gcc-bugs
mailing list