Core: Support reporting blocks that are uncacheable due to unhandled ELF relocations

This commit is contained in:
Tony Wasserka committed 2026-03-18 11:59:44 +01:00
1 parent 1ea24f3d6c
commit c67ffb82a8
9 files changed
+52 -2

No files matched your search

+6
View File
@@ -4,6 +4,7 @@
#include <PortabilityInfo.h>
#include <Thunks.h>
#include <FEXCore/Config/Config.h>
#include <FEXCore/Core/CodeCache.h>
#include <FEXCore/Core/Context.h>
#include <FEXCore/Core/HostFeatures.h>
@@ -201,7 +202,12 @@ static std::optional<std::string> GenerateSingleCache(FEXCore::ExecutableFileInf
std::vector<std::unique_ptr<ELFCodeLoader>> LoaderMem;
fmt::print(stderr, "Compiling code...\n");
FEX_CONFIG_OPT(MaxInst, MAXINST);
for (auto Addr : BlockList) {
if (!CTX->CheckIfBlockIsCacheable(*Thread, Addr + SyscallHandler->VAFileStart, MaxInst)) {
continue;
}
CTX->CompileRIP(Thread, Addr + SyscallHandler->VAFileStart);
}