From 1ec2ed937f2eb86033c10cc3db435c1b6bef078b Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 13 Aug 2023 23:29:34 +0100 Subject: [PATCH] Unix: Fix CMake detection and setup of sigaltstack --- cmake/FindSigaltstack.cmake | 2 +- src/os/unix/crashlog_unix.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/FindSigaltstack.cmake b/cmake/FindSigaltstack.cmake index 5ed7106f0f..307454c2b2 100644 --- a/cmake/FindSigaltstack.cmake +++ b/cmake/FindSigaltstack.cmake @@ -11,7 +11,7 @@ check_cxx_source_compiles(" sigaltstack(&ss, nullptr); return 0; }" - SIGALTSTACK + SIGALTSTACK_FOUND ) if (SIGALTSTACK_FOUND) diff --git a/src/os/unix/crashlog_unix.cpp b/src/os/unix/crashlog_unix.cpp index c4dd0f6acc..b3ee778e53 100644 --- a/src/os/unix/crashlog_unix.cpp +++ b/src/os/unix/crashlog_unix.cpp @@ -820,9 +820,9 @@ static void CDECL HandleCrash(int signum) /* static */ void CrashLog::InitialiseCrashLog() { #ifdef WITH_SIGALTSTACK - const size_t stack_size = max(SIGSTKSZ, 512*1024); + const size_t stack_size = std::max(SIGSTKSZ, 512*1024); stack_t ss; - ss.ss_sp = CallocT(stack_size); + ss.ss_sp = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); ss.ss_size = stack_size; ss.ss_flags = 0; sigaltstack(&ss, nullptr);