Annotation of ports/misc/xmrig/patches/patch-src_crypto_common_VirtualMemory_unix_cpp, Revision 1.1
1.1 ! kirby 1: $OpenBSD$
! 2:
! 3: Index: src/crypto/common/VirtualMemory_unix.cpp
! 4: --- src/crypto/common/VirtualMemory_unix.cpp.orig
! 5: +++ src/crypto/common/VirtualMemory_unix.cpp
! 6: @@ -65,7 +65,7 @@
! 7: #endif
! 8:
! 9:
! 10: -#if defined(XMRIG_OS_LINUX) || (!defined(XMRIG_OS_APPLE) && !defined(__FreeBSD__))
! 11: +#if defined(XMRIG_OS_LINUX) || (!defined(XMRIG_OS_APPLE) && !defined(__OpenBSD__))
! 12: static inline int hugePagesFlag(size_t size)
! 13: {
! 14: return (static_cast<int>(log2(size)) & MAP_HUGE_MASK) << MAP_HUGE_SHIFT;
! 15: @@ -129,11 +129,11 @@ void *xmrig::VirtualMemory::allocateExecutableMemory(s
! 16: # ifdef XMRIG_ARM
! 17: pthread_jit_write_protect_np(false);
! 18: # endif
! 19: -# elif defined(__FreeBSD__)
! 20: +# elif defined(__OpenBSD__)
! 21: void *mem = nullptr;
! 22:
! 23: if (hugePages) {
! 24: - mem = mmap(0, size, PROT_READ | PROT_WRITE | SECURE_PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER | MAP_PREFAULT_READ, -1, 0);
! 25: + mem = mmap(0, size, PROT_READ | PROT_WRITE | SECURE_PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
! 26: }
! 27:
! 28: if (!mem) {
! 29: @@ -145,7 +145,7 @@ void *xmrig::VirtualMemory::allocateExecutableMemory(s
! 30: void *mem = nullptr;
! 31:
! 32: if (hugePages) {
! 33: - mem = mmap(0, align(size), PROT_READ | PROT_WRITE | SECURE_PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE | hugePagesFlag(hugePageSize()), -1, 0);
! 34: + mem = mmap(0, align(size), PROT_READ | PROT_WRITE | SECURE_PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS | hugePagesFlag(hugePageSize()), -1, 0);
! 35: }
! 36:
! 37: if (!mem) {
! 38: @@ -162,10 +162,10 @@ void *xmrig::VirtualMemory::allocateLargePagesMemory(s
! 39: {
! 40: # if defined(XMRIG_OS_APPLE)
! 41: void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0);
! 42: -# elif defined(__FreeBSD__)
! 43: - void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER | MAP_PREFAULT_READ, -1, 0);
! 44: +# elif defined(__OpenBSD__)
! 45: + void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
! 46: # else
! 47: - void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE | hugePagesFlag(hugePageSize()), 0, 0);
! 48: + void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS hugePagesFlag(hugePageSize()), 0, 0);
! 49: # endif
! 50:
! 51: return mem == MAP_FAILED ? nullptr : mem;
CVSweb