[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 1/4] xen: Fix build with public headers
From: |
Daniel P . Berrangé |
Subject: |
Re: [Qemu-devel] [PATCH v2 1/4] xen: Fix build with public headers |
Date: |
Tue, 18 Jun 2019 13:14:08 +0100 |
User-agent: |
Mutt/1.11.4 (2019-03-13) |
On Tue, Jun 18, 2019 at 12:23:38PM +0100, Anthony PERARD wrote:
> Following 37677d7db3 "Clean up a few header guard symbols", QEMU start
> to fail to build:
>
> In file included from ~/xen/tools/../tools/include/xen/io/blkif.h:31:0,
> from ~/xen/tools/qemu-xen-dir/hw/block/xen_blkif.h:5,
> from ~/xen/tools/qemu-xen-dir/hw/block/xen-block.c:22:
> ~/xen/tools/../tools/include/xen/io/ring.h:68:0: error: "__CONST_RING_SIZE"
> redefined [-Werror]
> #define __CONST_RING_SIZE(_s, _sz) \
>
> In file included from ~/xen/tools/qemu-xen-dir/hw/block/xen_blkif.h:4:0,
> from ~/xen/tools/qemu-xen-dir/hw/block/xen-block.c:22:
> ~/xen/tools/qemu-xen-dir/include/hw/xen/io/ring.h:66:0: note: this is the
> location of the previous definition
> #define __CONST_RING_SIZE(_s, _sz) \
>
> The issue is that some public xen headers have been imported (by
> f65eadb639 "xen: import ring.h from xen") but not all. With the change
> in the guards symbole, the ring.h header start to be imported twice.
Ah, so the include/hw/xen/io/ring.h file in tree is a copy of
/usr/include/xen/io/ring.h from xen-devel. Previously both
these used "#ifndef __XEN_PUBLIC_IO_RING_H__". After
the header guard cleanup in 37677d7db3, our local copy used a
different header guard from the installed copy & thus we're
not protected from dual inclusion.
IMHO the right solutions here are either
- Don't copy public Xen headers into our tree
- Keep our Xen header copies identical to the originals
Importing public headers and then changing them locally is the worst
thing to do. With that in mind I think we should revert the part of
commit 37677d7db3 that touched the imported Xen headers.
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 :|
- [Qemu-devel] [PATCH v2 0/4] Fix build of Xen support + cleanup, Anthony PERARD, 2019/06/18
- [Qemu-devel] [PATCH v2 4/4] xen: Avoid VLA, Anthony PERARD, 2019/06/18
- [Qemu-devel] [PATCH v2 2/4] xen: Import other xen/io/*.h, Anthony PERARD, 2019/06/18
- [Qemu-devel] [PATCH v2 1/4] xen: Fix build with public headers, Anthony PERARD, 2019/06/18
- Re: [Qemu-devel] [PATCH v2 1/4] xen: Fix build with public headers,
Daniel P . Berrangé <=
- [Qemu-devel] [PATCH v2 3/4] xen: Drop includes of xen/hvm/params.h, Anthony PERARD, 2019/06/18
- Re: [Qemu-devel] [Xen-devel] [PATCH v2 0/4] Fix build of Xen support + cleanup, no-reply, 2019/06/18