]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
x86/hyperv: change hv_tlb_flush_ex to fix clang build
authorWei Liu <wl@xen.org>
Mon, 23 Dec 2019 11:03:30 +0000 (11:03 +0000)
committerWei Liu <wl@xen.org>
Mon, 23 Dec 2019 12:21:01 +0000 (12:21 +0000)
Clang complains:

In file included from synic.c:15:
/builds/xen-project/xen/xen/include/asm/guest/hyperv-tlfs.h:900:18: error: field 'hv_vp_set' with variable sized type 'struct hv_vpset' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end]
        struct hv_vpset hv_vp_set;
                        ^
1 error generated.
/builds/xen-project/xen/xen/Rules.mk:198: recipe for target 'synic.o' failed
make[6]: *** [synic.o] Error 1

Comment out the last variable size array from hv_tlb_flush_ex to fix
clang builds.

Fixes: bbba482664 ("x86: import hyperv-tlfs.h from Linux")
Signed-off-by: Wei Liu <liuwe@microsoft.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/include/asm-x86/guest/hyperv-tlfs.h

index fe9fb232d0cb3aa1cfddc9e364eb1a4f7d49920c..5b43f99de86476c24095992e4e5c7a406e6e6bf0 100644 (file)
@@ -908,12 +908,12 @@ struct hv_tlb_flush {
        u64 gva_list[];
 } __packed;
 
-/* HvFlushVirtualAddressSpaceEx, HvFlushVirtualAddressListEx hypercalls */
+/* HvFlushVirtualAddressSpaceEx hypercall */
 struct hv_tlb_flush_ex {
        u64 address_space;
        u64 flags;
        struct hv_vpset hv_vp_set;
-       u64 gva_list[];
+       /* u64 gva_list[]; */
 } __packed;
 
 struct hv_partition_assist_pg {