On 2019-01-15 14:16, Peter Maydell wrote: > On Mon, 14 Jan 2019 at 17:45, Thomas Huth <th...@redhat.com> wrote: >> >> Hi Peter! >> >> The following changes since commit 7260438b7056469610ee166f7abe9ff8a26b8b16: >> >> Merge remote-tracking branch >> 'remotes/palmer/tags/riscv-for-master-3.2-part2' into staging (2019-01-14 >> 11:41:43 +0000) >> >> are available in the git repository at: >> >> https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-14v2 >> >> for you to fetch changes up to 650db715681ad1a042705484776e1974f288f3d4: >> >> tests/hexloader-test: Don't pass -nographic to the QEMU under test >> (2019-01-14 18:21:29 +0100) >> >> ---------------------------------------------------------------- >> - Remove deprecated "ivshmem" legacy device >> - Bug fix for vhost-user-test >> - Use more CONFIG Makefile switches for qtests >> - Get rid of global_qtests in some more qtests >> - typedef cleanups >> - Fixes for compiling with Clang >> - Force C standard to gnu99 >> ---------------------------------------------------------------- > > Hi; another compile failure on that ppc64 system, I'm afraid: > > /home/pm215/qemu/qemu-seccomp.c:45:1: error: initializer element is not > constant > }; > ^ > /home/pm215/qemu/qemu-seccomp.c:45:1: error: (near initialization for > ‘sched_setscheduler_arg[0]’) > > (I did a quick check with 'make -k' and it looks like there aren't > any more lurking after that one.) > > The system libseccomp is libseccomp-2.3.1-3.el7.
Darn, I think this time it is a compiler bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63567 It's only fixed in GCC >= v5.0 :-( I see two options: 1) Expand the macro manually: diff --git a/qemu-seccomp.c b/qemu-seccomp.c --- a/qemu-seccomp.c +++ b/qemu-seccomp.c @@ -41,7 +41,7 @@ struct QemuSeccompSyscall { }; const struct scmp_arg_cmp sched_setscheduler_arg[] = { - SCMP_A1(SCMP_CMP_NE, SCHED_IDLE) + { .arg = 1, .op = SCMP_CMP_NE, .datum_a = SCHED_IDLE } }; ... then it compiles fine for me in gnu99 mode, too. 2) Scratch the whole idea with gnu99 again ... Opinions? Thomas