gnu: openmw: Fix build on glibc 2.34 and newer.
* gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/game-development.scm (openmw)[source]<patches>: Use it here. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
e637794875
commit
8c302c2e26
|
@ -1647,6 +1647,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openjdk-10-setsignalhandler.patch \
|
||||
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
|
||||
%D%/packages/patches/openmpi-mtl-priorities.patch \
|
||||
%D%/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch \
|
||||
%D%/packages/patches/openssh-hurd.patch \
|
||||
%D%/packages/patches/openssh-trust-guix-store-directory.patch \
|
||||
%D%/packages/patches/openresolv-restartcmd-guix.patch \
|
||||
|
|
|
@ -1776,7 +1776,8 @@ (define-public openmw
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19mcbnjl4279qalb97msf965bjax48mx1r1qczyvwhn28h6n3bsy"))))
|
||||
"19mcbnjl4279qalb97msf965bjax48mx1r1qczyvwhn28h6n3bsy"))
|
||||
(patches (search-patches "openmw-assume-nonconst-SIGSTKSZ.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test target
|
||||
|
|
39
gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch
Normal file
39
gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
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 86571e1e3a..c828e1ca81 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));
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in a new issue