From 2aa77e85dede6e5d7cc0a33e2be28acfb9dda171 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Wed, 9 Mar 2022 14:26:45 -0800 Subject: [PATCH] LinuxSyscalls: Expose CodeLoader through syscall interface --- External/FEXCore/include/FEXCore/HLE/SyscallHandler.h | 5 +++++ Source/Tests/LinuxSyscalls/Syscalls.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/External/FEXCore/include/FEXCore/HLE/SyscallHandler.h b/External/FEXCore/include/FEXCore/HLE/SyscallHandler.h index 89e6bd8c9..30274b9f8 100644 --- a/External/FEXCore/include/FEXCore/HLE/SyscallHandler.h +++ b/External/FEXCore/include/FEXCore/HLE/SyscallHandler.h @@ -4,6 +4,10 @@ #include +namespace FEXCore { + class CodeLoader; +} + namespace FEXCore::Context { struct Context; } @@ -48,6 +52,7 @@ namespace FEXCore::HLE { virtual FEXCore::IR::SyscallFlags GetSyscallFlags(uint64_t Syscall) const { return FEXCore::IR::SyscallFlags::DEFAULT; } SyscallOSABI GetOSABI() const { return OSABI; } + virtual FEXCore::CodeLoader *GetCodeLoader() const { return nullptr; } protected: SyscallOSABI OSABI; diff --git a/Source/Tests/LinuxSyscalls/Syscalls.h b/Source/Tests/LinuxSyscalls/Syscalls.h index c41a763f6..00c17c081 100644 --- a/Source/Tests/LinuxSyscalls/Syscalls.h +++ b/Source/Tests/LinuxSyscalls/Syscalls.h @@ -133,7 +133,7 @@ public: uint64_t HandleBRK(FEXCore::Core::CpuStateFrame *Frame, void *Addr); FEX::HLE::FileManager FM; - FEXCore::CodeLoader *GetCodeLoader() const { return LocalLoader; } + FEXCore::CodeLoader *GetCodeLoader() const override { return LocalLoader; } void SetCodeLoader(FEXCore::CodeLoader *Loader) { LocalLoader = Loader; } FEX::HLE::SignalDelegator *GetSignalDelegator() { return SignalDelegation; }