From fa215a2fc3996ced0d3bfcb68a26fb7f6744a639 Mon Sep 17 00:00:00 2001 From: Niko Date: Wed, 4 Sep 2024 21:20:19 -0400 Subject: [PATCH] feature guard for jit_write_protect --- src/core/module.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/core/module.cpp b/src/core/module.cpp index d0a90d789..c45b01f37 100644 --- a/src/core/module.cpp +++ b/src/core/module.cpp @@ -109,10 +109,17 @@ void Module::LoadModuleToMemory(u32& max_tls_index) { const auto add_segment = [this](const elf_program_header& phdr, bool do_map = true) { const VAddr segment_addr = base_virtual_addr + phdr.p_vaddr; - if (do_map) { + if (do_map) + { +#if defined(__APPLE__) && defined(__aarch64__) pthread_jit_write_protect_np(false); +#endif + elf.LoadSegment(segment_addr, phdr.p_offset, phdr.p_filesz); + +#if defined(__APPLE__) && defined(__aarch64__) pthread_jit_write_protect_np(true); +#endif } auto& segment = info.segments[info.num_segments++]; segment.address = segment_addr;