[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [xen-unstable test] 16231: regressions - FAIL
On Sat, 2013-02-23 at 16:26 +0000, Keir Fraser wrote: > On 23/02/2013 16:09, "Ian Jackson" <Ian.Jackson@xxxxxxxxxxxxx> wrote: > > > xen.org writes ("[xen-unstable test] 16231: regressions - FAIL"): > >> flight 16231 xen-unstable real [real] > >> http://www.chiark.greenend.org.uk/~xensrcts/logs/16231/ > >> > >> Regressions :-( > >> > >> Tests which did not succeed and are blocking, > >> including tests which could not be run: > >> build-i386 4 xen-build fail REGR. vs. 16226 > > > > gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer > > -fno-strict-aliasing -Wdeclaration-after-statement -o checker checker.c > > ./checker > tmp.size > > diff -u reference.size tmp.size > > --- reference.size 2013-02-22 22:53:31.000000000 +0000 > > +++ tmp.size 2013-02-22 23:12:05.000000000 +0000 > > @@ -5,7 +5,7 @@ > > trap_info | - - 8 16 > > cpu_user_regs | - - 68 200 > > vcpu_guest_core_regs | 304 304 - - > > -vcpu_guest_context | 336 336 2800 5168 > > +vcpu_guest_context | 332 332 2800 5168 > > arch_vcpu_info | - - 24 16 > > vcpu_time_info | - - 32 32 > > vcpu_info | - - 64 64 > > make[4]: *** [check-headers] Error 1 > > make[4]: Leaving directory > > `/home/osstest/build.16231.build-i386/xen-unstable/tools/include/xen-foreign' > > make[3]: Leaving directory > > `/home/osstest/build.16231.build-i386/xen-unstable/tools/include' > > make[3]: *** [xen-foreign] Error 2 > > > > Are we supposed to still be doing this for i386 ? > > Yes we are, as we still support our i386 guest ABI. > > 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"] = """ -- 1.7.2.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |