From 863b5c3a4a8bf1949de11d9a512a93f6ca460d2e Mon Sep 17 00:00:00 2001 From: Ivan Chikish Date: Sun, 9 Jul 2023 12:06:43 +0300 Subject: [PATCH] [orbis-kernel] Workaround strange bug Occurs in Debug builds. --- orbis-kernel/src/sysvec.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/orbis-kernel/src/sysvec.cpp b/orbis-kernel/src/sysvec.cpp index 07536514e..e912a3b3b 100644 --- a/orbis-kernel/src/sysvec.cpp +++ b/orbis-kernel/src/sysvec.cpp @@ -109,8 +109,16 @@ template constexpr auto wrap() -> decltype(detail::WrapImpl()()) { return detail::WrapImpl()(); } +namespace { +struct sysc_hash { + std::size_t operator()(SysResult (*ptr)(Thread *, uint64_t *)) const { + return reinterpret_cast(ptr) >> 4; + } +}; +} // namespace + static const std::unordered_map + const char *, sysc_hash> gImplToName = { {wrap().call, "nosys"}, {wrap().call, "sys_exit"},