37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
From 98a7d90ee258ceef9c70b0b2955d0458ec46f048 Mon Sep 17 00:00:00 2001
|
|
From: elsid <elsid.mail@gmail.com>
|
|
Date: Fri, 24 Sep 2021 19:40:29 +0200
|
|
Subject: [PATCH] Assume SIGSTKSZ is not a constant
|
|
|
|
SIGSTKSZ is not defined as constant since glibc 2.34:
|
|
https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53
|
|
---
|
|
components/crashcatcher/crashcatcher.cpp | 5 ++---
|
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/components/crashcatcher/crashcatcher.cpp b/components/crashcatcher/crashcatcher.cpp
|
|
index 86571e1e3af..c828e1ca816 100644
|
|
--- a/components/crashcatcher/crashcatcher.cpp
|
|
+++ b/components/crashcatcher/crashcatcher.cpp
|
|
@@ -56,8 +56,6 @@ static const char exec_err[] = "!!! Failed to exec debug process\n";
|
|
|
|
static char argv0[PATH_MAX];
|
|
|
|
-static char altstack[SIGSTKSZ];
|
|
-
|
|
|
|
static struct {
|
|
int signum;
|
|
@@ -475,9 +473,10 @@ int crashCatcherInstallHandlers(int argc, char **argv, int num_signals, int *sig
|
|
|
|
/* Set an alternate signal stack so SIGSEGVs caused by stack overflows
|
|
* still run */
|
|
+ static char* altstack = new char [SIGSTKSZ];
|
|
altss.ss_sp = altstack;
|
|
altss.ss_flags = 0;
|
|
- altss.ss_size = sizeof(altstack);
|
|
+ altss.ss_size = SIGSTKSZ;
|
|
sigaltstack(&altss, nullptr);
|
|
|
|
memset(&sa, 0, sizeof(sa));
|