This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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)...


Xen-devel mailing list