From: Joseph Myers Date: Tue, 10 May 2016 21:52:08 +0000 (+0000) Subject: Fix sys/stat.h fchmod namespace (bug 20073). X-Git-Tag: glibc-2.24~270 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8da7d8f877d1eeb02cd00dd3ce1f13da951e72b0;p=thirdparty%2Fglibc.git Fix sys/stat.h fchmod namespace (bug 20073). sys/stat.h declares fchmod if __USE_POSIX (i.e. POSIX.1:1990). But it was actually added in 1993 and also in XPG4. This patch changes the conditions to the correct __USE_POSIX199309 || __USE_XOPEN_EXTENDED. Tested for x86_64 and x86 (testsuite, and that installed shared libraries are unchanged by the patch). [BZ #20073] * io/sys/stat.h (fchmod): Declare for [__USE_POSIX199309 || __USE_XOPEN_EXTENDED], not [__USE_POSIX]. * conform/Makefile (test-xfail-XPG3/sys/stat.h/conform): Remove variable. --- diff --git a/ChangeLog b/ChangeLog index c66244413ca..2baca396c80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2016-05-10 Joseph Myers + [BZ #20073] + * io/sys/stat.h (fchmod): Declare for + [__USE_POSIX199309 || __USE_XOPEN_EXTENDED], not [__USE_POSIX]. + * conform/Makefile (test-xfail-XPG3/sys/stat.h/conform): Remove + variable. + * conform/data/sys/stat.h-data [XPG3] (S_IFLNK): Do not expect. [XPG3] (S_IFSOCK): Likewise. [XPG3] (S_ISVTX): Likewise. diff --git a/conform/Makefile b/conform/Makefile index c4412ef36fe..6291ca9642e 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -171,7 +171,6 @@ test-xfail-XPG3/search.h/conform = yes test-xfail-XPG3/signal.h/conform = yes test-xfail-XPG3/stdlib.h/conform = yes test-xfail-XPG3/string.h/conform = yes -test-xfail-XPG3/sys/stat.h/conform = yes test-xfail-XPG3/sys/wait.h/conform = yes test-xfail-XPG3/termios.h/conform = yes test-xfail-XPG3/time.h/conform = yes diff --git a/io/sys/stat.h b/io/sys/stat.h index bf63882c7e5..416d5647d46 100644 --- a/io/sys/stat.h +++ b/io/sys/stat.h @@ -292,7 +292,7 @@ extern int lchmod (const char *__file, __mode_t __mode) #endif /* Set file access permissions of the file FD is open on to MODE. */ -#ifdef __USE_POSIX +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED extern int fchmod (int __fd, __mode_t __mode) __THROW; #endif