This one is needed to build QEMU 2.11.x on Ubuntu 18.04. On Wed, 20 Dec 2017 18:14:13 +0100 Paolo Bonzini <pbonz...@redhat.com> wrote:
> Recent glibc added memfd_create in sys/mman.h. This conflicts with > the definition in util/memfd.c: > > /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static > declaration of memfd_create follows non-static declaration > > Fix the configure test, and remove the sys/memfd.h inclusion since the > file actually does not exist---it is a typo in the memfd_create(2) man > page. > > Cc: Marc-André Lureau <marcandre.lur...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > configure | 2 +- > util/memfd.c | 4 +--- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/configure b/configure > index 9c8aa5a..99ccc17 100755 > --- a/configure > +++ b/configure > @@ -3923,7 +3923,7 @@ fi > # check if memfd is supported > memfd=no > cat > $TMPC << EOF > -#include <sys/memfd.h> > +#include <sys/mman.h> > > int main(void) > { > diff --git a/util/memfd.c b/util/memfd.c > index 4571d1a..412e94a 100644 > --- a/util/memfd.c > +++ b/util/memfd.c > @@ -31,9 +31,7 @@ > > #include "qemu/memfd.h" > > -#ifdef CONFIG_MEMFD > -#include <sys/memfd.h> > -#elif defined CONFIG_LINUX > +#if defined CONFIG_LINUX && !defined CONFIG_MEMFD > #include <sys/syscall.h> > #include <asm/unistd.h> >