gnu: libseccomp: Fix build on AArch64.

This is a followup to d100d5d544.

* gnu/packages/patches/libseccomp-open-aarch64.patch: New file.
* gnu/packages/linux.scm (libseccomp)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Ludovic Courtès 2019-11-22 15:12:11 +01:00
parent ca541f9ce6
commit cf87919657
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 30 additions and 1 deletions

View file

@ -1078,6 +1078,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-icu.patch \
%D%/packages/patches/libreoffice-glm.patch \
%D%/packages/patches/libseccomp-open-aarch64.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \

View file

@ -4794,7 +4794,8 @@ (define-public libseccomp
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
"0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))))
"0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))
(patches (search-patches "libseccomp-open-aarch64.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))

View file

@ -0,0 +1,27 @@
This patch fixes the build failure on AArch64 reported
at <https://github.com/seccomp/libseccomp/pull/191>.
From cc21c1b48d35f9d34ef2da0e184af3855bfeee5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 20 Nov 2019 14:11:12 -0500
Subject: [PATCH] tests: use openat instead of open
On arm64, __NR_open is not defined, openat is always used. Let's use openat
instead, which is defined for architectures currently.
---
tests/15-basic-resolver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c
index 6badef1..4884faf 100644
--- a/tests/15-basic-resolver.c
+++ b/tests/15-basic-resolver.c
@@ -55,7 +55,7 @@ int main(int argc, char *argv[])
unsigned int arch;
char *name = NULL;
- if (seccomp_syscall_resolve_name("open") != __NR_open)
+ if (seccomp_syscall_resolve_name("openat") != __NR_openat)
goto fail;
if (seccomp_syscall_resolve_name("read") != __NR_read)
goto fail;