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