From 776027d1f1b8c4f0b1e8e4e954fc245a6b6e3bd9 Mon Sep 17 00:00:00 2001 From: Patrick Quist Date: Sat, 28 Sep 2024 15:11:24 +0200 Subject: [PATCH 1/3] getpagesize() was removed from OSX PAGE_SIZE is a macro that can be used (which I'm guessing is defined to be `sysconf(_SC_PAGESIZE)` probably) --- src/from_current.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/from_current.cpp b/src/from_current.cpp index 308735f7..f62d5e5e 100644 --- a/src/from_current.cpp +++ b/src/from_current.cpp @@ -107,7 +107,11 @@ namespace cpptrace { } #else int get_page_size() { + #ifdef getpagesize return getpagesize(); + #else + return PAGE_SIZE; + #endif } constexpr auto memory_readonly = PROT_READ; constexpr auto memory_readwrite = PROT_READ | PROT_WRITE; From b0e3c0fe1580fe316bec6c0ef5e2a42ebef29dce Mon Sep 17 00:00:00 2001 From: Patrick Quist Date: Sun, 29 Sep 2024 01:37:21 +0200 Subject: [PATCH 2/3] logic better --- src/from_current.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/from_current.cpp b/src/from_current.cpp index f62d5e5e..05638048 100644 --- a/src/from_current.cpp +++ b/src/from_current.cpp @@ -107,10 +107,12 @@ namespace cpptrace { } #else int get_page_size() { - #ifdef getpagesize - return getpagesize(); + #if defined(_SC_PAGESIZE) + return sysconf(_SC_PAGESIZE); + #elif defined(PAGE_SIZE) + return PAGE_SIZE; #else - return PAGE_SIZE; + return getpagesize(); #endif } constexpr auto memory_readonly = PROT_READ; From 5524636ca01a4b7b0d4fe7114932e02e6ba06079 Mon Sep 17 00:00:00 2001 From: Patrick Quist Date: Sun, 29 Sep 2024 02:17:10 +0200 Subject: [PATCH 3/3] Update from_current.cpp --- src/from_current.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/from_current.cpp b/src/from_current.cpp index 05638048..47610fbf 100644 --- a/src/from_current.cpp +++ b/src/from_current.cpp @@ -109,8 +109,6 @@ namespace cpptrace { int get_page_size() { #if defined(_SC_PAGESIZE) return sysconf(_SC_PAGESIZE); - #elif defined(PAGE_SIZE) - return PAGE_SIZE; #else return getpagesize(); #endif