From 5c99296b92a47a461c2f0ca599910cb31762128d Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 29 Dec 2020 10:55:35 +0100 Subject: [PATCH] LibELF: Don't try to call mremap() on macOS There is no mremap() on macOS. I'm just #ifdef'ing out the call here since I don't think the dynamic loader code matters on macOS anyway. --- Libraries/LibELF/DynamicLoader.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Libraries/LibELF/DynamicLoader.cpp b/Libraries/LibELF/DynamicLoader.cpp index e011f65380..7e635a4994 100644 --- a/Libraries/LibELF/DynamicLoader.cpp +++ b/Libraries/LibELF/DynamicLoader.cpp @@ -185,11 +185,13 @@ bool DynamicLoader::load_stage_2(unsigned flags, size_t total_tls_size) // dbg() << "Someone linked non -fPIC code into " << m_filename << " :("; ASSERT(m_text_segment_load_address.get() != 0); +#ifndef AK_OS_MACOS // Remap this text region as private. if (mremap(m_text_segment_load_address.as_ptr(), m_text_segment_size, m_text_segment_size, MAP_PRIVATE) == MAP_FAILED) { perror("mremap .text: MAP_PRIVATE"); return false; } +#endif if (0 > mprotect(m_text_segment_load_address.as_ptr(), m_text_segment_size, PROT_READ | PROT_WRITE)) { perror("mprotect .text: PROT_READ | PROT_WRITE"); // FIXME: dlerror?