[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] seccomp: Work-around GCC 4.x bug in gnu99 mode
From: |
Daniel P . Berrangé |
Subject: |
Re: [Qemu-devel] [PATCH] seccomp: Work-around GCC 4.x bug in gnu99 mode |
Date: |
Tue, 15 Jan 2019 17:45:06 +0000 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Tue, Jan 15, 2019 at 06:32:42PM +0100, Thomas Huth wrote:
> We'd like to compile QEMU with -std=gnu99, but GCC 4.8 currently
> fails to compile qemu-seccomp.c in this mode:
>
> qemu-seccomp.c:45:1: error: initializer element is not constant
> };
> ^
> qemu-seccomp.c:45:1: error: (near initialization for
> ‘sched_setscheduler_arg[0]’)
>
> This is due to a compiler bug which has just been fixed in GCC 5.0:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63567
>
> Since we still want to support GCC 4.8 for a while and also want to use
> gnu99 mode, work-around the issue by expanding the macro manually.
>
> Signed-off-by: Thomas Huth <address@hidden>
> ---
> qemu-seccomp.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/qemu-seccomp.c b/qemu-seccomp.c
> index 5c73e6a..36d5829 100644
> --- a/qemu-seccomp.c
> +++ b/qemu-seccomp.c
> @@ -41,7 +41,8 @@ struct QemuSeccompSyscall {
> };
>
> const struct scmp_arg_cmp sched_setscheduler_arg[] = {
> - SCMP_A1(SCMP_CMP_NE, SCHED_IDLE)
> + /* was SCMP_A1(SCMP_CMP_NE, SCHED_IDLE), but expanded due to GCC 4.x bug
> */
> + { .arg = 1, .op = SCMP_CMP_NE, .datum_a = SCHED_IDLE }
> };
Reviewed-by: Daniel P. Berrangé <address@hidden>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|