WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] XEN 3.0.1 vsprintf.c - strange macro expansion

To: armand.puccetti@xxxxxx
Subject: Re: [Xen-devel] XEN 3.0.1 vsprintf.c - strange macro expansion
From: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue, 23 May 2006 12:40:32 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 23 May 2006 10:41:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <447346DC.7090806@xxxxxxxxxxxxxxxxxxxxxx>
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: <447346DC.7090806@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.2 (X11/20060522)
Armand Puccetti wrote:
When preprocessing the file vsprintf.c, macro 'va_arg' gets expanded into '__builtin_va_arg', which is not XEN code.

For instance, at line 317 of that file,

   field_width = va_arg(args,int);

becomes

   field_width = __builtin_va_arg(args,int);

using the preprocessing command below.

cpp -C -E -nostdinc -iwithprefix include -I.../xen-3.0.1/xen/include -I.../xen-3.0.1/xen/include/asm-x86/mach-generic -I.../xen-3.0.1/xen/include/asm-x86/mach-default -DNDEBUG -D__i386__ vsprintf.c

The def inition of macro va_arg is located in file acenv.h:298, but has little to do with this result.
Settings: Compiler: gcc 4.0.2, OS: Ubuntu Linux kernel 2.6.12.10

I don't know what acenv.h but AFAIK we aren't using it's va_arg() definition. We include stdarg.h and I assume we build with libgcc.

Regards,

Anthony Liguori

What might be the reason of this behavior? A bug in gcc?





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


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

<Prev in Thread] Current Thread [Next in Thread>