[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] [PATCH v2 1/4] xen: Fix build with public headers
On Tue, Jun 18, 2019 at 01:14:08PM +0100, Daniel P. Berrangé wrote: > 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. Yes, it's propably a better thing to do. So, I'm going to update the series and do: - revert part of 37677d7db3 - import the public headers that depends on ring.h. Or in other words, the one that describe an interface with a guest. I'll do some modification on the headers but only to remove the stuff that QEMU doesn't need (like how to make an hypercall). Thanks, -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |