Stephen, Thank you for reporting this. I have added the issue to the queue of things to work on for StdLib. The fix will depend upon whether GCC4.6 is actually calling this an error or it is a warning being promoted to an error. If a promoted warning, the fix will be to just turn off that specific warning. If GCC4.6 actually reports it as an error, I will probably have to do as you suggest and create va_utimes(const char *path, ...) and have utimes call it.
Happy Holidays, Daryl McDaniel "Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e. it always increases." -- Norman R. Augustine -----Original Message----- From: Stephen Polkowski [mailto:[email protected]] Sent: Monday, December 03, 2012 10:28 AM To: [email protected] Subject: [edk2] StdLib is broken with GCC4.6 Hello, I'm trying to build the AppPkg on Ubuntu 12.04 using the native installed complier. GCC4.6 fails with the following message: /UDK2010.SR1/StdLib/LibC/Uefi/SysCalls.c: In function 'utimes': /UDK2010.SR1/StdLib/LibC/Uefi/SysCalls.c:1250:11: error: 'va_start' used in function with fixed args Apparently, the utimes() function in SysCalls.c is using a bad form of va_list. It is attempting to create a fake va_list to pass on to the kernel. GCC expects the utimes() to have a variadic input. int utimes( const char *path, const struct timeval *times ) { struct __filedes *filp; va_list ap; int fd; int retval = -1; va_start(ap, path); fd = open(path, O_RDWR, 0); if(fd >= 0) { filp = &gMD->fdarray[fd]; retval = filp->f_ops->fo_ioctl( filp, FIOSETIME, ap); close(fd); } va_end(ap); return retval; } To my knowledge, the only way to fix this is to have utimes() call a fake variadic function that finally calls the kernel. Thanks, Stephen ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: BUILD Helping you discover the best ways to construct your parallel projects. http://goparallel.sourceforge.net _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
