Can not compile CVS glibc 20060813 CVS HEAD sysdeps/unix/sysv/linux/openat.c can not be compiled with --enable-kernel=2.6.17 configure option: ... ../sysdeps/unix/sysv/linux/openat.c: In function '__OPENAT': ../sysdeps/unix/sysv/linux/openat.c:156: error: 'va_start' used in function with fixed args ... proposed solution: my diff for sysdeps/unix/sysv/linux/openat.c that compiles and passes tests: ------------ CUT -------------------- --- openat.orig 2006-03-01 07:32:42.000000000 +0200 +++ openat.c.fixed 2006-04-30 19:15:52.000000000 +0300 @@ -27,6 +27,9 @@ #include <sysdep-cancel.h> #include <not-cancel.h> +#if !defined OPENAT +# define OPENAT openat +#endif #if !defined OPENAT && !defined __ASSUME_ATFCTS # define OPENAT openat @@ -70,11 +73,7 @@ int __have_atfcts; int -OPENAT_NOT_CANCEL (fd, file, oflag, mode) - int fd; - const char *file; - int oflag; - mode_t mode; +OPENAT_NOT_CANCEL (int fd, const char *file, int oflag, mode_t mode) { /* We have to add the O_LARGEFILE flag for openat64. */ @@ -144,10 +143,7 @@ OPENAT_NOT_CANCEL (fd, file, oflag, mode the directory associated with FD. If OFLAG includes O_CREAT, a third argument is the file protection. */ int -__OPENAT (fd, file, oflag) - int fd; - const char *file; - int oflag; +__OPENAT (int fd, const char *file, int oflag, ...) { mode_t mode = 0; if (oflag & O_CREAT) ---------------------- CUT ------------------------------- CVS 20060814 CVS HEAD still has no other fix for this.
Created attachment 1220 [details] A diff for the opeat.c file to fix the compilation. This is a hack. The real fix is needed.
Created attachment 1221 [details] The fixed openat.c file The openat.c file after applying the patch.
Fixed with a different patch upstream.
*** Bug 2873 has been marked as a duplicate of this bug. ***
*** Bug 3170 has been marked as a duplicate of this bug. ***