Temp Mac workaround
This commit is contained in:
@@ -148,9 +148,9 @@ void* allocMemoryPages(size_t bytes) {
|
|||||||
mem = NULL;
|
mem = NULL;
|
||||||
#if defined(USE_PTHREAD_JIT_WP) && defined(MAC_OS_VERSION_11_0) \
|
#if defined(USE_PTHREAD_JIT_WP) && defined(MAC_OS_VERSION_11_0) \
|
||||||
&& MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
&& MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
||||||
if (__builtin_available(macOS 11.0, *)) {
|
//if (__builtin_available(macOS 11.0, *)) {
|
||||||
pthread_jit_write_protect_np(0);
|
pthread_jit_write_protect_np(0);
|
||||||
}
|
//}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
return mem;
|
return mem;
|
||||||
@@ -173,11 +173,11 @@ void setPagesRW(void* ptr, size_t bytes) {
|
|||||||
char *errfunc;
|
char *errfunc;
|
||||||
#if defined(USE_PTHREAD_JIT_WP) && defined(MAC_OS_VERSION_11_0) \
|
#if defined(USE_PTHREAD_JIT_WP) && defined(MAC_OS_VERSION_11_0) \
|
||||||
&& MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
&& MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
||||||
if (__builtin_available(macOS 11.0, *)) {
|
//if (__builtin_available(macOS 11.0, *)) {
|
||||||
pthread_jit_write_protect_np(0);
|
pthread_jit_write_protect_np(0);
|
||||||
} else {
|
//} else {
|
||||||
pageProtect(ptr, bytes, PAGE_READWRITE, &errfunc);
|
// pageProtect(ptr, bytes, PAGE_READWRITE, &errfunc);
|
||||||
}
|
//}
|
||||||
#else
|
#else
|
||||||
pageProtect(ptr, bytes, PAGE_READWRITE, &errfunc);
|
pageProtect(ptr, bytes, PAGE_READWRITE, &errfunc);
|
||||||
#endif
|
#endif
|
||||||
@@ -187,12 +187,12 @@ void setPagesRX(void* ptr, size_t bytes) {
|
|||||||
char *errfunc;
|
char *errfunc;
|
||||||
#if defined(USE_PTHREAD_JIT_WP) && defined(MAC_OS_VERSION_11_0) \
|
#if defined(USE_PTHREAD_JIT_WP) && defined(MAC_OS_VERSION_11_0) \
|
||||||
&& MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
&& MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
||||||
if (__builtin_available(macOS 11.0, *)) {
|
//if (__builtin_available(macOS 11.0, *)) {
|
||||||
pthread_jit_write_protect_np(1);
|
pthread_jit_write_protect_np(1);
|
||||||
__builtin___clear_cache((char*)ptr, ((char*)ptr) + bytes);
|
__builtin___clear_cache((char*)ptr, ((char*)ptr) + bytes);
|
||||||
} else {
|
//} else {
|
||||||
pageProtect(ptr, bytes, PAGE_EXECUTE_READ, &errfunc);
|
// pageProtect(ptr, bytes, PAGE_EXECUTE_READ, &errfunc);
|
||||||
}
|
//}
|
||||||
#else
|
#else
|
||||||
pageProtect(ptr, bytes, PAGE_EXECUTE_READ, &errfunc);
|
pageProtect(ptr, bytes, PAGE_EXECUTE_READ, &errfunc);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user