From a5f0adf3847158b7eb80c57ece9238d685c24708 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Mon, 25 Aug 2014 13:27:13 +0200 Subject: [PATCH] qemu: fix seccomp on arm --- ...lude-some-arm-EABI-obsolete-syscalls.patch | 56 +++++++++++++++++++ srcpkgs/qemu/template | 8 +-- 2 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 srcpkgs/qemu/patches/exclude-some-arm-EABI-obsolete-syscalls.patch diff --git a/srcpkgs/qemu/patches/exclude-some-arm-EABI-obsolete-syscalls.patch b/srcpkgs/qemu/patches/exclude-some-arm-EABI-obsolete-syscalls.patch new file mode 100644 index 00000000000..c7b85df56ad --- /dev/null +++ b/srcpkgs/qemu/patches/exclude-some-arm-EABI-obsolete-syscalls.patch @@ -0,0 +1,56 @@ +--- qemu-seccomp.c ++++ qemu-seccomp.c +@@ -25,15 +25,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(timer_settime), 255 }, + { SCMP_SYS(timer_gettime), 254 }, + { SCMP_SYS(futex), 253 }, ++#if !defined(__ARM_EABI__) + { SCMP_SYS(select), 252 }, ++ { SCMP_SYS(time), 245 }, ++ { SCMP_SYS(alarm), 241 }, ++ { SCMP_SYS(getrlimit), 245 }, ++ { SCMP_SYS(mmap), 247 }, ++ { SCMP_SYS(socketcall), 250 }, ++ { SCMP_SYS(ipc), 245 }, ++#endif + { SCMP_SYS(recvfrom), 251 }, + { SCMP_SYS(sendto), 250 }, +- { SCMP_SYS(socketcall), 250 }, + { SCMP_SYS(read), 249 }, + { SCMP_SYS(io_submit), 249 }, + { SCMP_SYS(brk), 248 }, + { SCMP_SYS(clone), 247 }, +- { SCMP_SYS(mmap), 247 }, + { SCMP_SYS(mprotect), 246 }, + { SCMP_SYS(execve), 245 }, + { SCMP_SYS(open), 245 }, +@@ -48,13 +54,11 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(bind), 245 }, + { SCMP_SYS(listen), 245 }, + { SCMP_SYS(semget), 245 }, +- { SCMP_SYS(ipc), 245 }, + { SCMP_SYS(gettimeofday), 245 }, + { SCMP_SYS(readlink), 245 }, + { SCMP_SYS(access), 245 }, + { SCMP_SYS(prctl), 245 }, + { SCMP_SYS(signalfd), 245 }, +- { SCMP_SYS(getrlimit), 245 }, + { SCMP_SYS(set_tid_address), 245 }, + { SCMP_SYS(statfs), 245 }, + { SCMP_SYS(unlink), 245 }, +@@ -93,7 +97,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(times), 245 }, + { SCMP_SYS(exit), 245 }, + { SCMP_SYS(clock_gettime), 245 }, +- { SCMP_SYS(time), 245 }, + { SCMP_SYS(restart_syscall), 245 }, + { SCMP_SYS(pwrite64), 245 }, + { SCMP_SYS(nanosleep), 245 }, +@@ -182,7 +185,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(lstat64), 241 }, + { SCMP_SYS(sendfile64), 241 }, + { SCMP_SYS(ugetrlimit), 241 }, +- { SCMP_SYS(alarm), 241 }, + { SCMP_SYS(rt_sigsuspend), 241 }, + { SCMP_SYS(rt_sigqueueinfo), 241 }, + { SCMP_SYS(rt_tgsigqueueinfo), 241 }, diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template index 1d3185cb5d6..9d5757b31d3 100644 --- a/srcpkgs/qemu/template +++ b/srcpkgs/qemu/template @@ -1,7 +1,7 @@ # Template file for 'qemu' pkgname=qemu version=2.1.0 -revision=2 +revision=3 short_desc="Open Source Processor Emulator" maintainer="Juan RP " homepage="http://qemu.org" @@ -28,13 +28,7 @@ do_configure() { args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-" export PKG_CONFIG=pkg-config export LIBTOOL=libtool - export CFLAGS+=" -D_LINUX_XATTR_H" fi - # seccomp only supported on x86 - case "$XBPS_TARGET_MACHINE" in - i686*|x86_64*) args+=" --enable-seccomp";; - *) args+=" --disable-seccomp";; - esac ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec \ --enable-kvm --audio-drv-list=alsa,sdl,pa --disable-xen --enable-tpm \ --enable-vhost-net --enable-vnc-png --enable-vnc-tls --enable-virtfs \