diff --git a/FEXCore/Source/Interface/Context/Context.h b/FEXCore/Source/Interface/Context/Context.h index 06c6d83c8..c0c9963c0 100644 --- a/FEXCore/Source/Interface/Context/Context.h +++ b/FEXCore/Source/Interface/Context/Context.h @@ -89,8 +89,6 @@ namespace FEXCore::Context { void CompileRIP(FEXCore::Core::InternalThreadState *Thread, uint64_t GuestRIP) override; void CompileRIPCount(FEXCore::Core::InternalThreadState *Thread, uint64_t GuestRIP, uint64_t MaxInst) override; - int GetProgramStatus() const override; - bool IsDone() const override; void SetCustomCPUBackendFactory(CustomCPUFactoryType Factory) override; diff --git a/FEXCore/Source/Interface/Core/Core.cpp b/FEXCore/Source/Interface/Core/Core.cpp index c2158769d..eaac912b7 100644 --- a/FEXCore/Source/Interface/Core/Core.cpp +++ b/FEXCore/Source/Interface/Core/Core.cpp @@ -511,10 +511,6 @@ namespace FEXCore::Context { Dispatcher->ExecuteDispatch(Thread->CurrentFrame); } - int ContextImpl::GetProgramStatus() const { - return ParentThread->StatusCode; - } - struct ExecutionThreadHandler { ContextImpl *This; FEXCore::Core::InternalThreadState *Thread; diff --git a/FEXCore/include/FEXCore/Core/Context.h b/FEXCore/include/FEXCore/Core/Context.h index 580780946..b3f3575eb 100644 --- a/FEXCore/include/FEXCore/Core/Context.h +++ b/FEXCore/include/FEXCore/Core/Context.h @@ -191,16 +191,6 @@ namespace FEXCore::Context { FEX_DEFAULT_VISIBILITY virtual void CompileRIP(FEXCore::Core::InternalThreadState *Thread, uint64_t GuestRIP) = 0; FEX_DEFAULT_VISIBILITY virtual void CompileRIPCount(FEXCore::Core::InternalThreadState *Thread, uint64_t GuestRIP, uint64_t MaxInst) = 0; - /** - * @brief Gets the program exit status - * - * - * @param CTX The context that we created - * - * @return The program exit status - */ - FEX_DEFAULT_VISIBILITY virtual int GetProgramStatus() const = 0; - /** * @brief [[theadsafe]] Checks if the Context is either done working or paused(in the case of single stepping) * diff --git a/Source/Tools/FEXLoader/FEXLoader.cpp b/Source/Tools/FEXLoader/FEXLoader.cpp index 46cf63ec7..a3501ae13 100644 --- a/Source/Tools/FEXLoader/FEXLoader.cpp +++ b/Source/Tools/FEXLoader/FEXLoader.cpp @@ -480,7 +480,8 @@ int main(int argc, char **argv, char **const envp) { if (GdbServer) { DebugServer = fextl::make_unique(CTX.get(), SignalDelegation.get(), SyscallHandler.get()); } - CTX->InitCore(Loader.DefaultRIP(), Loader.GetStackPointer()); + + auto ParentThread = CTX->InitCore(Loader.DefaultRIP(), Loader.GetStackPointer()); // Pass in our VDSO thunks CTX->AppendThunkDefinitions(FEX::VDSO::GetVDSOThunkDefinitions()); @@ -556,7 +557,7 @@ int main(int argc, char **argv, char **const envp) { } } - auto ProgramStatus = CTX->GetProgramStatus(); + auto ProgramStatus = ParentThread->StatusCode; DebugServer.reset(); SyscallHandler.reset();