[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2] x86/compat: fix compilation errors with clang 6
The following errors are generated when compiling Xen with clang 6: In file included from x86_64/asm-offsets.c:9: In file included from /root/src/xen/xen/include/xen/sched.h:8: In file included from /root/src/xen/xen/include/xen/shared.h:6: In file included from /root/src/xen/xen/include/compat/arch-x86/../xen.h:9: /root/src/xen/xen/include/compat/arch-x86/xen.h:10:10: error: the current #pragma pack aligment value is modified in the included file [-Werror,-Wpragma-pack] #include "xen-x86_32.h" ^ /root/src/xen/xen/include/compat/arch-x86/xen-x86_32.h:40:9: note: previous '#pragma pack' directive that modifies alignment is here #pragma pack() ^ In file included from x86_64/asm-offsets.c:9: In file included from /root/src/xen/xen/include/xen/sched.h:8: In file included from /root/src/xen/xen/include/xen/shared.h:6: /root/src/xen/xen/include/compat/arch-x86/../xen.h:9:10: error: the current #pragma pack aligment value is modified in the included file [-Werror,-Wpragma-pack] #include "arch-x86/xen.h" ^ /root/src/xen/xen/include/compat/arch-x86/xen.h:71:9: note: previous '#pragma pack' directive that modifies alignment is here #pragma pack() ^ 2 errors generated. Fix this by using pragma push/pop in order to store the current pragma value in the compiler stack and later restoring it when using clang. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> Cc: Tim Deegan <tim@xxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- Changes since v1: - Only use push/pop with clang. --- xen/include/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xen/include/Makefile b/xen/include/Makefile index 1299b1962f..19066a33a0 100644 --- a/xen/include/Makefile +++ b/xen/include/Makefile @@ -35,8 +35,13 @@ cppflags-y := -include public/xen-compat.h -DXEN_GENERATING_COMPA cppflags-$(CONFIG_X86) += -m32 # 8-byte types are 4-byte aligned on x86_32 ... +ifeq ($(clang),y) +prefix-$(CONFIG_X86) := \#pragma pack(push, 4) +suffix-$(CONFIG_X86) := \#pragma pack(pop) +else prefix-$(CONFIG_X86) := \#pragma pack(4) suffix-$(CONFIG_X86) := \#pragma pack() +endif endif -- 2.15.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |