From 8267ab475cb2ac82fd3724c009f21e8e30143f6b Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Mon, 28 Apr 2025 18:28:26 -0400 Subject: [SharedCache] Improve support for older shared cache versions Fixed branch island regions being skipped --- view/sharedcache/workflow/SharedCacheWorkflow.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'view/sharedcache/workflow/SharedCacheWorkflow.cpp') diff --git a/view/sharedcache/workflow/SharedCacheWorkflow.cpp b/view/sharedcache/workflow/SharedCacheWorkflow.cpp index 7f63866a..dcccfe74 100644 --- a/view/sharedcache/workflow/SharedCacheWorkflow.cpp +++ b/view/sharedcache/workflow/SharedCacheWorkflow.cpp @@ -126,7 +126,9 @@ void AnalyzeStubFunction(Ref func, Ref mlil, Sh if (region->type == SharedCacheRegionTypeImage) return false; // Adjust the new region semantics to read only, this helps analysis pickup constant loads in our stub functions. - region->flags = static_cast(SegmentReadable | SegmentContainsData); + // NOTE: We do NOT do this for stub island as that contains CODE! + if (region->type != SharedCacheRegionTypeStubIsland) + region->flags = static_cast(SegmentReadable | SegmentContainsData); return controller.ApplyRegion(*view, *region); }; -- cgit v1.3.1