summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-process')
-rw-r--r--sys-process/criu/criu-2.12.1.ebuild1
-rw-r--r--sys-process/criu/files/criu-2.12.1-glibc-2.26.patch49
2 files changed, 50 insertions, 0 deletions
diff --git a/sys-process/criu/criu-2.12.1.ebuild b/sys-process/criu/criu-2.12.1.ebuild
index fd0c92becf6..76b63750a52 100644
--- a/sys-process/criu/criu-2.12.1.ebuild
+++ b/sys-process/criu/criu-2.12.1.ebuild
@@ -43,6 +43,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
"${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
"${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+ "${FILESDIR}"/${PN}-2.12.1-glibc-2.26.patch
)
criu_arch() {
diff --git a/sys-process/criu/files/criu-2.12.1-glibc-2.26.patch b/sys-process/criu/files/criu-2.12.1-glibc-2.26.patch
new file mode 100644
index 00000000000..d378cc88cff
--- /dev/null
+++ b/sys-process/criu/files/criu-2.12.1-glibc-2.26.patch
@@ -0,0 +1,49 @@
+From d77d8cc402e597bb38edfb4e81db89fd7d96d0b6 Mon Sep 17 00:00:00 2001
+From: Adrian Reber <areber@redhat.com>
+Date: Thu, 29 Jun 2017 14:19:32 +0000
+Subject: [PATCH] fix building with newer glibc
+
+Newer glibc releases have removed SIGUNUSED from bits/signum.h which
+breaks building criu on those systems:
+
+https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8082d91e1c449e0cb137468b731004a5e605c8c6
+
+SIGSYS returns the same value as SIGUNUSED and testing has shown
+that criu still successfully completes zdtm with this patch.
+
+Signed-off-by: Adrian Reber <areber@redhat.com>
+Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
+Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
+---
+ criu/cr-restore.c | 1 -
+ test/zdtm/static/pthread01.c | 2 +-
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/criu/cr-restore.c b/criu/cr-restore.c
+index e8fb4adf..6ba50f18 100644
+--- a/criu/cr-restore.c
++++ b/criu/cr-restore.c
+@@ -880,7 +880,6 @@ static void zombie_prepare_signals(void)
+ (1 << SIGPOLL) |\
+ (1 << SIGIO) |\
+ (1 << SIGSYS) |\
+- (1 << SIGUNUSED)|\
+ (1 << SIGSTKFLT)|\
+ (1 << SIGPWR) \
+ )
+diff --git a/test/zdtm/static/pthread01.c b/test/zdtm/static/pthread01.c
+index 52f849c0..2520fcfe 100644
+--- a/test/zdtm/static/pthread01.c
++++ b/test/zdtm/static/pthread01.c
+@@ -43,7 +43,7 @@ static char *decode_signal(const sigset_t *s, char *buf)
+ COLLECT(SIGTERM); COLLECT(SIGSTKFLT); COLLECT(SIGCHLD); COLLECT(SIGCONT); COLLECT(SIGSTOP);
+ COLLECT(SIGTSTP); COLLECT(SIGTTIN); COLLECT(SIGTTOU); COLLECT(SIGURG); COLLECT(SIGXCPU);
+ COLLECT(SIGXFSZ); COLLECT(SIGVTALRM); COLLECT(SIGPROF); COLLECT(SIGWINCH); COLLECT(SIGIO);
+- COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS); COLLECT(SIGUNUSED);
++ COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS);
+ #undef COLLECT
+
+ return buf;
+--
+2.14.1
+