Message ID | 20200812140356.2347692-1-stli@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | Fix namespace violation in stdio.h and sys/stat.h if build with optimization. [BZ #26376] | expand |
On Wed, 12 Aug 2020, Stefan Liebler via Libc-alpha wrote: > For getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked in stdio.h, > those are defined "# ifdef __USE_POSIX" instead of "#ifdef __USE_POSIX199506" > for the non-inlining declaration. See also > "Bug 20014 - stdio.h namespace for pre-threads POSIX" > (https://sourceware.org/bugzilla/show_bug.cgi?id=20014). > > For mknodat in sys/stat.h, those are defined "# ifdef __USE_ATFILE" instead of > the additional guard "# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED". This patch is OK.
On 8/20/20 1:57 AM, Joseph Myers wrote: > On Wed, 12 Aug 2020, Stefan Liebler via Libc-alpha wrote: > >> For getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked in stdio.h, >> those are defined "# ifdef __USE_POSIX" instead of "#ifdef __USE_POSIX199506" >> for the non-inlining declaration. See also >> "Bug 20014 - stdio.h namespace for pre-threads POSIX" >> (https://sourceware.org/bugzilla/show_bug.cgi?id=20014). >> >> For mknodat in sys/stat.h, those are defined "# ifdef __USE_ATFILE" instead of >> the additional guard "# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED". > > This patch is OK. > Committed the patch and resolved the bugzilla. Thanks. Stefan
diff --git a/io/sys/stat.h b/io/sys/stat.h index ce014d03a5..69e333656a 100644 --- a/io/sys/stat.h +++ b/io/sys/stat.h @@ -486,13 +486,15 @@ __NTH (mknod (const char *__path, __mode_t __mode, __dev_t __dev)) } # endif -# ifdef __USE_ATFILE +# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +# ifdef __USE_ATFILE __extern_inline int __NTH (mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev)) { return __xmknodat (_MKNOD_VER, __fd, __path, __mode, &__dev); } +# endif # endif # if defined __USE_LARGEFILE64 \ diff --git a/libio/bits/stdio.h b/libio/bits/stdio.h index da62908fd7..6745571ed5 100644 --- a/libio/bits/stdio.h +++ b/libio/bits/stdio.h @@ -60,7 +60,7 @@ fgetc_unlocked (FILE *__fp) # endif /* misc */ -# ifdef __USE_POSIX +# ifdef __USE_POSIX199506 /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int getc_unlocked (FILE *__fp) @@ -95,7 +95,7 @@ fputc_unlocked (int __c, FILE *__stream) # endif /* misc */ -# ifdef __USE_POSIX +# ifdef __USE_POSIX199506 /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int putc_unlocked (int __c, FILE *__stream)