Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

Re: [Xen-devel] uint64_aligned_t not compatible across gcc versions

To: Jan Beulich <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] uint64_aligned_t not compatible across gcc versions
From: John Levon <levon@xxxxxxxxxxxxxxxxx>
Date: Tue, 29 Aug 2006 13:38:09 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 29 Aug 2006 05:39:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <44F42F59.76E4.0078.0@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <44F328A7.76E4.0078.0@xxxxxxxxxx> <C118CBDA.EB6%Keir.Fraser@xxxxxxxxxxxx> <44F42F59.76E4.0078.0@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
On Tue, Aug 29, 2006 at 12:13:13PM +0200, Jan Beulich wrote:

> Here my take at it. This actually also replaces the patch sent under
> the same subject yesterday, as I meanwhile realized there's a simpler
> way to achieve the desired effect. It also converts the 64-bit store
> to a 32-bit one, as only the upper 32 bits need clearing.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
> 
> Index: 2006-08-28/xen/include/public/arch-x86_32.h
> ===================================================================
> --- 2006-08-28.orig/xen/include/public/arch-x86_32.h  2006-08-28 
> 08:32:38.000000000 +0200
> +++ 2006-08-28/xen/include/public/arch-x86_32.h       2006-08-29 
> 11:15:44.000000000 +0200
> @@ -29,11 +29,11 @@
>  
>  /* Structural guest handles introduced in 0x00030201. */
>  #if (defined(__XEN__) || defined(__XEN_TOOLS__)) && !defined(__ASSEMBLY__)
> -typedef uint64_t __attribute__((aligned(8))) uint64_aligned_t;
> +#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))

This is GCC-specific, in a public header. At the very least it needs to
be conditional on gcc being used (#define __xen_aligned or whatever)...

regards
john

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel