[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [xen-unstable test] 16231: regressions - FAIL
This patch fixes the current build breakage, anyone want to ack or nack? I'm about to cycle into the office, hopefully I can apply when I arrive. Ian. > > However, the problem in this case appears to be that the ARM structure size > > has changed. If so, that needs to be fixed, or reference.size needs to be > > updated. > > The problem is the use of '#pragma pack(4)' when building the foreign > headers on x86_32. > > I think it is useful to keep checking all arches on every build, rather > than splitting into x86 and arm checks, since that will help catch > inadvertent cross-arch breakage. > > 8<------------------- > > > From a20962085ef8d4c3d55f830647cdcb496bc5ee4a Mon Sep 17 00:00:00 2001 > From: Ian Campbell <ian.campbell@xxxxxxxxxx> > Date: Mon, 25 Feb 2013 09:11:04 +0000 > Subject: [PATCH] tools: foreign: ensure 64 bit values are properly aligned > for arm > > When building the foreign headers on x86_32 we use '#pragma pack(4)' and > therefore need to explicitly align types which should be aligned to 8-byte > boundaries. > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > --- > tools/include/xen-foreign/mkheader.py | 14 ++++++++++---- > 1 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/tools/include/xen-foreign/mkheader.py > b/tools/include/xen-foreign/mkheader.py > index 8a784d3..5bd6eec 100644 > --- a/tools/include/xen-foreign/mkheader.py > +++ b/tools/include/xen-foreign/mkheader.py > @@ -20,15 +20,18 @@ footer = {}; > inttypes["arm32"] = { > "unsigned long" : "uint32_t", > "long" : "uint32_t", > - "xen_pfn_t" : "uint64_t", > - "xen_ulong_t" : "uint64_t", > + "xen_pfn_t" : "__align8__ uint64_t", > + "xen_ulong_t" : "__align8__ uint64_t", > + "uint64_t" : "__align8__ uint64_t", > }; > header["arm32"] = """ > #define __arm___ARM32 1 > #if defined(__GNUC__) && !defined(__STRICT_ANSI__) > # define __DECL_REG(n64, n32) union { uint64_t n64; uint32_t n32; } > +# define __align8__ __attribute__((aligned (8))) > #else > # define __DECL_REG(n64, n32) uint64_t n64 > +# define FIXME > #endif > """; > footer["arm32"] = """ > @@ -38,15 +41,18 @@ footer["arm32"] = """ > inttypes["arm64"] = { > "unsigned long" : "__danger_unsigned_long_on_arm64", > "long" : "__danger_long_on_arm64", > - "xen_pfn_t" : "uint64_t", > - "xen_ulong_t" : "uint64_t", > + "xen_pfn_t" : "__align8__ uint64_t", > + "xen_ulong_t" : "__align8__ uint64_t", > + "uint64_t" : "__align8__ uint64_t", > }; > header["arm64"] = """ > #define __aarch64___ARM64 1 > #if defined(__GNUC__) && !defined(__STRICT_ANSI__) > # define __DECL_REG(n64, n32) union { uint64_t n64; uint32_t n32; } > +# define __align8__ __attribute__((aligned (8))) > #else > # define __DECL_REG(n64, n32) uint64_t n64 > +# define FIXME > #endif > """; > footer["arm64"] = """ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |