From: Julien Grall Date: Tue, 13 Jul 2021 09:20:19 +0000 (+0100) Subject: stubdom: foreignmemory: Fix build after 0dbb4be739c5 X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~316 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3a98c1a4cec1a302beaddf944ded240b61173f87;p=xen.git stubdom: foreignmemory: Fix build after 0dbb4be739c5 Commit 0dbb4be739c5 add the inclusion of xenctrl.h from private.h and wreck the build in an interesting way: In file included from xen/stubdom/include/xen/domctl.h:39:0, from xen/tools/include/xenctrl.h:36, from private.h:4, from minios.c:29: xen/include/public/memory.h:407:5: error: expected specifier-qualifier-list before ‘XEN_GUEST_HANDLE_64’ XEN_GUEST_HANDLE_64(const_uint8) buffer; ^~~~~~~~~~~~~~~~~~~ This is happening because xenctrl.h defines __XEN_TOOLS__ and therefore the public headers will start to expose the non-stable ABI. However, xen.h has already been included by a mini-OS header before hand. So there is a mismatch in the way the headers are included. For now solve it in a very simple (and gross) way by including xenctrl.h before the mini-os headers. Fixes: 0dbb4be739c5 ("tools/libs/foreignmemory: Fix PAGE_SIZE redefinition error") Signed-off-by: Julien Grall Acked-by: Andrew Cooper --- diff --git a/tools/libs/foreignmemory/minios.c b/tools/libs/foreignmemory/minios.c index c5453736d5..f2f4dfb2be 100644 --- a/tools/libs/foreignmemory/minios.c +++ b/tools/libs/foreignmemory/minios.c @@ -17,6 +17,14 @@ * Copyright 2007-2008 Samuel Thibault . */ +/* + * xenctrl.h currently defines __XEN_TOOLS__ which affects what is + * exposed by Xen headers. As the define needs to be set consistently, + * we want to include xenctrl.h before the mini-os headers (they include + * public headers). + */ +#include + #include #include #include