yang zhang created a merge request: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/868
Project:Branches: yang.zhang/rtems:add_machine_exception_signal_map_case to rtems/rtos/rtems:main Author: yang zhang ## Summary Add another machine exception signal map test that is more aligned with the actual application scenario. Utilizing `sigsetjmp`/`siglongjmp` mechanisms, when task was trapped by `SIGILL`/`SIGSEGV`/`SIGFPE` it can continue to execute. For `aarch64`, when call `_CPU_Exception_dispatch_and_resume`, it would check whether it need dispatch, but after first trap it would return back to app without restore`isr_dispatch_disable`, which call path is like '_CPU_Instruction_illegal->trap->_Exception_Raise_signal->_AArch64_Exception_thread_dispatch_in_no_nest_isr->Thread_Do_dispatch->fault_handler->siglongjmp---->sigsetjmp',so subsequent traps would call 'resume_no_need_thread_dispatch', so it would trap->resume->trap->resume, the system is hanged, we should restore `isr_dispatch_disable` in signal fault handler. I test on aarch64/zynqmp_qemu. <!-- Default settings, if it is a dropdown it will set after submission --> -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/868 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
