Armand Puccetti
2006-May-23 17:31 UTC
[Xen-devel] XEN 3.0.1 vsprintf.c - strange macro expansion
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 What might be the reason of this behavior? A bug in gcc? _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Anthony Liguori
2006-May-23 17:40 UTC
Re: [Xen-devel] XEN 3.0.1 vsprintf.c - strange macro expansion
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.10I 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@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel