mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-30 16:11:01 +00:00
Make serialization reproducible
This commit is contained in:
@@ -9,7 +9,7 @@ struct exported_symbol
|
||||
};
|
||||
|
||||
using exported_symbols = std::vector<exported_symbol>;
|
||||
using address_name_mapping = std::unordered_map<uint64_t, std::string>;
|
||||
using address_name_mapping = std::map<uint64_t, std::string>;
|
||||
|
||||
struct mapped_module
|
||||
{
|
||||
|
||||
@@ -39,8 +39,7 @@ void syscall_dispatcher::setup(const exported_symbols& ntdll_exports, const expo
|
||||
|
||||
void syscall_dispatcher::add_handlers()
|
||||
{
|
||||
std::unordered_map<std::string, syscall_handler> handler_mapping{};
|
||||
handler_mapping.reserve(this->handlers_.size());
|
||||
std::map<std::string, syscall_handler> handler_mapping{};
|
||||
|
||||
this->add_handlers(handler_mapping);
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
std::unordered_map<uint64_t, syscall_handler_entry> handlers_{};
|
||||
std::map<uint64_t, syscall_handler_entry> handlers_{};
|
||||
|
||||
void add_handlers(std::unordered_map<std::string, syscall_handler>& handler_mapping);
|
||||
void add_handlers(std::map<std::string, syscall_handler>& handler_mapping);
|
||||
void add_handlers();
|
||||
};
|
||||
|
||||
@@ -70,7 +70,7 @@ inline std::vector<std::string> find_syscalls(const exported_symbols& exports)
|
||||
return syscalls;
|
||||
}
|
||||
|
||||
inline void map_syscalls(std::unordered_map<uint64_t, syscall_handler_entry>& handlers,
|
||||
inline void map_syscalls(std::map<uint64_t, syscall_handler_entry>& handlers,
|
||||
const std::vector<std::string>& syscalls, const uint64_t base_index)
|
||||
{
|
||||
for (size_t i = 0; i < syscalls.size(); ++i)
|
||||
|
||||
@@ -2180,7 +2180,7 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
void syscall_dispatcher::add_handlers(std::unordered_map<std::string, syscall_handler>& handler_mapping)
|
||||
void syscall_dispatcher::add_handlers(std::map<std::string, syscall_handler>& handler_mapping)
|
||||
{
|
||||
#define add_handler(syscall) \
|
||||
do \
|
||||
|
||||
Reference in New Issue
Block a user