mirror of
https://github.com/yuzu-mirror/oaknut.git
synced 2026-02-04 12:44:15 +01:00
oaknut: code_block: Add NetBSD and OpenBSD support
This commit is contained in:
parent
18b86a3ecf
commit
19cd42204e
|
|
@ -36,6 +36,10 @@ public:
|
|||
# else
|
||||
m_memory = (std::uint32_t*)mmap(nullptr, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE | MAP_JIT, -1, 0);
|
||||
# endif
|
||||
#elif defined(__NetBSD__)
|
||||
m_memory = (std::uint32_t*)mmap(nullptr, size, PROT_MPROTECT(PROT_READ | PROT_WRITE | PROT_EXEC), MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
#elif defined(__OpenBSD__)
|
||||
m_memory = (std::uint32_t*)mmap(nullptr, size, PROT_READ | PROT_EXEC, MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
#else
|
||||
m_memory = (std::uint32_t*)mmap(nullptr, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
#endif
|
||||
|
|
@ -68,23 +72,19 @@ public:
|
|||
|
||||
void protect()
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
# if TARGET_OS_IPHONE
|
||||
mprotect(m_memory, m_size, PROT_READ | PROT_EXEC);
|
||||
# else
|
||||
#if defined(__APPLE__) && !TARGET_OS_IPHONE
|
||||
pthread_jit_write_protect_np(1);
|
||||
# endif
|
||||
#elif defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
mprotect(m_memory, m_size, PROT_READ | PROT_EXEC);
|
||||
#endif
|
||||
}
|
||||
|
||||
void unprotect()
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
# if TARGET_OS_IPHONE
|
||||
mprotect(m_memory, m_size, PROT_READ | PROT_WRITE);
|
||||
# else
|
||||
#if defined(__APPLE__) && !TARGET_OS_IPHONE
|
||||
pthread_jit_write_protect_np(0);
|
||||
# endif
|
||||
#elif defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
mprotect(m_memory, m_size, PROT_READ | PROT_WRITE);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue