43 lines
2.3 KiB
Diff
43 lines
2.3 KiB
Diff
diff --git a/Source/Tests/FEXLoader.cpp b/Source/Tests/FEXLoader.cpp
|
|
index d6d791cc..19c617ed 100644
|
|
--- a/Source/Tests/FEXLoader.cpp
|
|
+++ b/Source/Tests/FEXLoader.cpp
|
|
@@ -385,8 +385,14 @@ int main(int argc, char **argv, char **const envp) {
|
|
auto SyscallHandler = Loader.Is64BitMode() ? FEX::HLE::x64::CreateHandler(CTX, SignalDelegation.get())
|
|
: FEX::HLE::x32::CreateHandler(CTX, SignalDelegation.get(), std::move(Allocator));
|
|
|
|
- auto Mapper = std::bind_front(&FEX::HLE::SyscallHandler::GuestMmap, SyscallHandler.get());
|
|
- auto Unmapper = std::bind_front(&FEX::HLE::SyscallHandler::GuestMunmap, SyscallHandler.get());
|
|
+ auto SyscallHandlerPtr = SyscallHandler.get();
|
|
+
|
|
+ auto Mapper = [SyscallHandlerPtr](void *addr, size_t length, int prot, int flags, int fd, off_t offset) -> void* {
|
|
+ return SyscallHandlerPtr->GuestMmap(addr, length, prot, flags, fd, offset);
|
|
+ };
|
|
+ auto Unmapper = [SyscallHandlerPtr](void *addr, uint64_t length) -> int {
|
|
+ return SyscallHandlerPtr->GuestMunmap(addr, length);
|
|
+ };
|
|
|
|
if (!Loader.MapMemory(Mapper, Unmapper)) {
|
|
// failed to map
|
|
diff --git a/Source/Tests/TestHarnessRunner.cpp b/Source/Tests/TestHarnessRunner.cpp
|
|
index 0239d033..1ebb312a 100644
|
|
--- a/Source/Tests/TestHarnessRunner.cpp
|
|
+++ b/Source/Tests/TestHarnessRunner.cpp
|
|
@@ -184,8 +184,14 @@ int main(int argc, char **argv, char **const envp) {
|
|
auto SyscallHandler = Loader.Is64BitMode() ? FEX::HLE::x64::CreateHandler(CTX, SignalDelegation.get())
|
|
: FEX::HLE::x32::CreateHandler(CTX, SignalDelegation.get(), std::move(Allocator));
|
|
|
|
- auto Mapper = std::bind_front(&FEX::HLE::SyscallHandler::GuestMmap, SyscallHandler.get());
|
|
- auto Unmapper = std::bind_front(&FEX::HLE::SyscallHandler::GuestMunmap, SyscallHandler.get());
|
|
+ auto SyscallHandlerPtr = SyscallHandler.get();
|
|
+
|
|
+ auto Mapper = [SyscallHandlerPtr](void *addr, size_t length, int prot, int flags, int fd, off_t offset) -> void* {
|
|
+ return SyscallHandlerPtr->GuestMmap(addr, length, prot, flags, fd, offset);
|
|
+ };
|
|
+ auto Unmapper = [SyscallHandlerPtr](void *addr, uint64_t length) -> int {
|
|
+ return SyscallHandlerPtr->GuestMunmap(addr, length);
|
|
+ };
|
|
|
|
if (!Loader.MapMemory(Mapper, Unmapper)) {
|
|
// failed to map
|