MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / sigill_handler

Function sigill_handler

rpcs3/util/Thread.cpp:2023–2041  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2021}
2022
2023static void sigill_handler(int /*sig*/, siginfo_t* info, void* /*uct*/) noexcept
2024{
2025 std::string msg = fmt::format("Illegal instruction at %p (%s).\n", info->si_addr, *reinterpret_cast<be_t<u128>*>(info->si_addr));
2026
2027 append_thread_name(msg);
2028
2029 sys_log.fatal("\n%s", msg);
2030 sys_log.notice("\n%s", dump_useful_thread_info());
2031 logs::listener::sync_all();
2032
2033 if (rx::isDebuggerPresent())
2034 {
2035 // Convert to SIGTRAP
2036 raise(SIGTRAP);
2037 return;
2038 }
2039
2040 thread_ctrl::emergency_exit(msg);
2041}
2042
2043void sigpipe_signaling_handler(int)
2044{

Callers

nothing calls this directly

Calls 3

append_thread_nameFunction · 0.85
dump_useful_thread_infoFunction · 0.85
formatFunction · 0.70

Tested by

no test coverage detected