PR other/26208 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. (extract_cie_info): Handle S flag in augmentation string. (execute_cfa_program): If context->signal_frame, execute also fs->pc == context->ra instructions. (uw_frame_state_for): If context->signal_frame, don't subtract one from context->ra to find FDE. (uw_update_context_1): Set context->signal_frame to fs->signal_frame. (_Unwind_GetIPInfo): New function. * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. * unwind-sjlj.c (_Unwind_GetIPInfo): New function. * unwind-generic.h (_Unwind_GetIPInfo): New prototype. * unwind-compat.c (_Unwind_GetIPInfo): New function. * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. * config/i386/linux-unwind.h (x86_fallback_frame_state, x86_64_fallback_frame_state): Set fs->signal_frame. * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. (MD_FROB_UPDATE_CONTEXT): Define unconditionally. (frob_update_context): Likewise. Workaround missing S flag in Linux 2.6.12 - 2.6.16 kernel vDSOs. * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. Remove the psw_addr + 1 hack. libjava/ * exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. * include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro. (HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through to throw. * include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty macro. * include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty macro. libstdc++-v3/ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. From-SVN: r111488
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| cxxabi.h | Loading commit data... | |
| del_op.cc | Loading commit data... | |
| del_opnt.cc | Loading commit data... | |
| del_opv.cc | Loading commit data... | |
| del_opvnt.cc | Loading commit data... | |
| eh_alloc.cc | Loading commit data... | |
| eh_arm.cc | Loading commit data... | |
| eh_aux_runtime.cc | Loading commit data... | |
| eh_call.cc | Loading commit data... | |
| eh_catch.cc | Loading commit data... | |
| eh_exception.cc | Loading commit data... | |
| eh_globals.cc | Loading commit data... | |
| eh_personality.cc | Loading commit data... | |
| eh_term_handler.cc | Loading commit data... | |
| eh_terminate.cc | Loading commit data... | |
| eh_throw.cc | Loading commit data... | |
| eh_type.cc | Loading commit data... | |
| eh_unex_handler.cc | Loading commit data... | |
| exception | Loading commit data... | |
| exception_defines.h | Loading commit data... | |
| guard.cc | Loading commit data... | |
| new | Loading commit data... | |
| new_handler.cc | Loading commit data... | |
| new_op.cc | Loading commit data... | |
| new_opnt.cc | Loading commit data... | |
| new_opv.cc | Loading commit data... | |
| new_opvnt.cc | Loading commit data... | |
| pure.cc | Loading commit data... | |
| tinfo.cc | Loading commit data... | |
| tinfo.h | Loading commit data... | |
| tinfo2.cc | Loading commit data... | |
| typeinfo | Loading commit data... | |
| unwind-cxx.h | Loading commit data... | |
| vec.cc | Loading commit data... | |
| vterminate.cc | Loading commit data... |