[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/compat: fix compilation errors with clang 6
>>> On 23.01.18 at 14:54, <roger.pau@xxxxxxxxxx> wrote: > On Tue, Jan 23, 2018 at 06:34:44AM -0700, Jan Beulich wrote: >> >>> On 23.01.18 at 13:38, <roger.pau@xxxxxxxxxx> wrote: >> > Fix this by using pragma push/pop in order to store the current pragma >> > value in the compiler stack and later restoring it. >> >> For Linux this is fine all the way back to gcc 4.1 afaict, but what >> about other OSes using gcc? In 4.1, only config/linux.h and a few >> special config/i386/*.h define the necessary macro >> (HANDLE_PRAGMA_PACK_PUSH_POP). > > OK, then I have the following version: > > 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 > > > Since ATM that's a clang only issue I guess we can leave it like that. > I'm not aware of anyway to know whether the compiler supports pragma > pack with psuh/pop. > > Let me know if that's fine and I will send out a formal v2. Yes, that's fine indeed. Checking whether the construct is supported would involve a test compile, which I think we should bother doing only when we can't avoid this anymore. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |