commit:     ab855566294f01bf4fedf03d1cf12035c5c4b923
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 12 15:16:23 2015 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Dec 12 15:16:37 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab855566

sys-apps/systemd: Backport build fix for IA64

Bug: https://bugs.gentoo.org/560492

Package-Manager: portage-2.2.26_p25

 sys-apps/systemd/files/226-kcmp.patch  | 31 +++++++++++++++++++++++++++++++
 sys-apps/systemd/systemd-226-r2.ebuild |  1 +
 2 files changed, 32 insertions(+)

diff --git a/sys-apps/systemd/files/226-kcmp.patch 
b/sys-apps/systemd/files/226-kcmp.patch
new file mode 100644
index 0000000..a91f49f
--- /dev/null
+++ b/sys-apps/systemd/files/226-kcmp.patch
@@ -0,0 +1,31 @@
+From 75b554579b4e962e2c02053129a37611a2dc9133 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <flop...@gentoo.org>
+Date: Mon, 14 Sep 2015 18:55:09 -0400
+Subject: [PATCH] Add fallback for kcmp() in case __NR_kcmp is undefined
+
+IA64 is missing this syscall as of linux-4.2.
+This works around it until the necessary kernel patch gets merged.
+---
+ src/basic/missing.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/basic/missing.h b/src/basic/missing.h
+index dc1f244..371ef8a 100644
+--- a/src/basic/missing.h
++++ b/src/basic/missing.h
+@@ -1028,7 +1028,12 @@ static inline int renameat2(int oldfd, const char 
*oldname, int newfd, const cha
+ 
+ #if !HAVE_DECL_KCMP
+ static inline int kcmp(pid_t pid1, pid_t pid2, int type, unsigned long idx1, 
unsigned long idx2) {
++#if defined(__NR_kcmp)
+         return syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2);
++#else
++        errno = ENOSYS;
++        return -1;
++#endif
+ }
+ #endif
+ 
+-- 
+2.6.4
+

diff --git a/sys-apps/systemd/systemd-226-r2.ebuild 
b/sys-apps/systemd/systemd-226-r2.ebuild
index 10471ac..44742e8 100644
--- a/sys-apps/systemd/systemd-226-r2.ebuild
+++ b/sys-apps/systemd/systemd-226-r2.ebuild
@@ -147,6 +147,7 @@ src_prepare() {
        epatch "${FILESDIR}/218-Dont-enable-audit-by-default.patch"
        epatch "${FILESDIR}/226-noclean-tmp.patch"
        epatch "${FILESDIR}/CVE-2015-7510.patch"
+       epatch "${FILESDIR}/226-kcmp.patch"
        epatch_user
        eautoreconf
 }

Reply via email to