aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-12 22:45:25 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-12 22:45:25 +0000
commit24f4f8253f177f8a1f5a6cd5f59be1cf766be284 (patch)
tree91e05083c1bfcc14407e29a835af4471bfd76b2d /ChangeLog
parentcc67478e282ac5c46a1005474cca51342efe1397 (diff)
downloadglibc-24f4f8253f177f8a1f5a6cd5f59be1cf766be284.zip
glibc-24f4f8253f177f8a1f5a6cd5f59be1cf766be284.tar.gz
glibc-24f4f8253f177f8a1f5a6cd5f59be1cf766be284.tar.bz2
Add tests for namespace for static linking.
One thing we currently try to ensure manually is that glibc is namespace-clean for static linking; that is, if you only use features from a particular standard (including the set of features exposed by headers given feature test macros such as _DEFAULT_SOURCE that don't correspond to any written standard), the library objects brought in by the static linker will not define or use (strong) names that are reserved to the user in that standard. This patch implements automatic tests for this, using the same set of standards as for the header conformance tests (it would, however, be easy to add more standards for this testing, without them needing to have the definitions of expected header contents for the header tests). The tests are based on the functions declared in each header, as extracted using GCC's -aux-info option. The following comment from linknamespace.pl explains the caveats around this approach: Here's an example of the output for ISO (C90) assert.h, from before my recent fixes and whitelisting of cases that seem more complicated to fix: [initial] __assert_fail -> [libc.a(assert.o)] free -> [libc.a(malloc.o)] __get_nprocs -> [libc.a(getsysstats.o)] fgets_unlocked [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] __libc_setlocale_lock -> [libc.a(setlocale.o)] _nl_archive_subfreeres -> [libc.a(loadarchive.o)] __sysconf -> [libc.a(sysconf.o)] __tzname_max -> [libc.a(tzset.o)] __tzfile_compute -> [libc.a(tzfile.o)] fileno [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] __libc_setlocale_lock -> [libc.a(setlocale.o)] _nl_archive_subfreeres -> [libc.a(loadarchive.o)] __sysconf -> [libc.a(sysconf.o)] __tzname_max -> [libc.a(tzset.o)] __tzfile_compute -> [libc.a(tzfile.o)] fread_unlocked [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] __libc_setlocale_lock -> [libc.a(setlocale.o)] _nl_archive_subfreeres -> [libc.a(loadarchive.o)] __sysconf -> [libc.a(sysconf.o)] __tzname_max -> [libc.a(tzset.o)] __tzfile_compute -> [libc.a(tzfile.o)] ftello [initial] __assert_fail -> [libc.a(assert.o)] free -> [libc.a(malloc.o)] malloc_info [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] __libc_setlocale_lock -> [libc.a(setlocale.o)] _nl_default_locale_path -> [libc.a(findlocale.o)] memmem [initial] __assert_perror_fail -> [libc.a(assert-perr.o)] __strerror_r -> [libc.a(_strerror.o)] mempcpy [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] _nl_find_domain -> [libc.a(finddomain.o)] _nl_expand_alias -> [libc.a(localealias.o)] qsort -> [libc.a(msort.o)] qsort_r [initial] __assert_fail -> [libc.a(assert.o)] _dl_pagesize -> [libc.a(dl-support.o)] __rawmemchr -> [libc.a(rawmemchr.o)] rawmemchr [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] __getcwd -> [libc.a(getcwd.o)] rewinddir [initial] __assert_fail -> [libc.a(assert.o)] stderr [initial] __assert_fail -> [libc.a(assert.o)] stderr -> [libc.a(stdio.o)] stdin [initial] __assert_fail -> [libc.a(assert.o)] stderr -> [libc.a(stdio.o)] stdout [initial] __assert_fail -> [libc.a(assert.o)] __dcgettext -> [libc.a(dcgettext.o)] __dcigettext -> [libc.a(dcigettext.o)] stpcpy [initial] __assert_fail -> [libc.a(assert.o)] __fxprintf -> [libc.a(fxprintf.o)] _IO_vfprintf -> [libc.a(vfprintf.o)] __printf_fp -> [libc.a(printf_fp.o)] wmemset Of the 161 XFAILs, seven are the inevitable varargs.h and ndbm.h failures; I think the remaining 154 mostly represent genuine bugs in glibc that should mostly be straightforward to fix (probably rather fewer than 154 bugs - issues generally affect multiple headers, for multiple standards). (When fixing, of course you need to file a bug in Bugzilla, and check for the possibility that the header conditionals are what's incorrect - that the first listed symbol shouldn't have been declared, or that the symbol finally brought in should have been declared.) * conform/GlibcConform.pm: New file. * conform/conformtest.pl: Use GlibcConform module. * conform/linknamespace.pl: New file. * conform/list-header-symbols.pl: Likewise. * conform/Makefile (linknamespace-symlists-base): New variable. (linknamespace-symlists-tests): Likewise. (linknamespace-header-base): Likewise. (linknamespace-header-tests): Likewise. (tests-special): Add new tests. ($(linknamespace-symlists-tests)): New rule. (linknamespace-libs): New variable. ($(objpfx)symlist-stdlibs): New rule. ($(linknamespace-header-tests)): Likewise. (test-xfail-XPG3/varargs.h/linknamespace): New variable. (test-xfail-XPG4/varargs.h/linknamespace): Likewise. (test-xfail-UNIX98/varargs.h/linknamespace): Likewise. (test-xfail-XPG4/ndbm.h/linknamespace): Likewise. (test-xfail-UNIX98/ndbm.h/linknamespace): Likewise. (test-xfail-XOPEN2K/ndbm.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/ndbm.h/linknamespace): Likewise. (test-xfail-ISO/math.h/linknamespace): Likewise. (test-xfail-ISO/signal.h/linknamespace): Likewise. (test-xfail-ISO/stdio.h/linknamespace): Likewise. (test-xfail-ISO/time.h/linknamespace): Likewise. (test-xfail-ISO99/complex.h/linknamespace): Likewise. (test-xfail-ISO99/ctype.h/linknamespace): Likewise. (test-xfail-ISO99/math.h/linknamespace): Likewise. (test-xfail-ISO99/signal.h/linknamespace): Likewise. (test-xfail-ISO99/stdio.h/linknamespace): Likewise. (test-xfail-ISO99/tgmath.h/linknamespace): Likewise. (test-xfail-ISO11/complex.h/linknamespace): Likewise. (test-xfail-ISO11/ctype.h/linknamespace): Likewise. (test-xfail-ISO11/math.h/linknamespace): Likewise. (test-xfail-ISO11/signal.h/linknamespace): Likewise. (test-xfail-ISO11/stdio.h/linknamespace): Likewise. (test-xfail-ISO11/tgmath.h/linknamespace): Likewise. (test-xfail-XPG3/ctype.h/linknamespace): Likewise. (test-xfail-XPG3/fnmatch.h/linknamespace): Likewise. (test-xfail-XPG3/glob.h/linknamespace): Likewise. (test-xfail-XPG3/math.h/linknamespace): Likewise. (test-xfail-XPG3/regex.h/linknamespace): Likewise. (test-xfail-XPG3/search.h/linknamespace): Likewise. (test-xfail-XPG3/stdio.h/linknamespace): Likewise. (test-xfail-XPG3/time.h/linknamespace): Likewise. (test-xfail-XPG3/unistd.h/linknamespace): Likewise. (test-xfail-XPG3/wordexp.h/linknamespace): Likewise. (test-xfail-XPG4/ctype.h/linknamespace): Likewise. (test-xfail-XPG4/fmtmsg.h/linknamespace): Likewise. (test-xfail-XPG4/fnmatch.h/linknamespace): Likewise. (test-xfail-XPG4/glob.h/linknamespace): Likewise. (test-xfail-XPG4/grp.h/linknamespace): Likewise. (test-xfail-XPG4/libgen.h/linknamespace): Likewise. (test-xfail-XPG4/math.h/linknamespace): Likewise. (test-xfail-XPG4/netdb.h/linknamespace): Likewise. (test-xfail-XPG4/pwd.h/linknamespace): Likewise. (test-xfail-XPG4/regex.h/linknamespace): Likewise. (test-xfail-XPG4/search.h/linknamespace): Likewise. (test-xfail-XPG4/stdio.h/linknamespace): Likewise. (test-xfail-XPG4/stdlib.h/linknamespace): Likewise. (test-xfail-XPG4/sys/mman.h/linknamespace): Likewise. (test-xfail-XPG4/sys/statvfs.h/linknamespace): Likewise. (test-xfail-XPG4/syslog.h/linknamespace): Likewise. (test-xfail-XPG4/time.h/linknamespace): Likewise. (test-xfail-XPG4/unistd.h/linknamespace): Likewise. (test-xfail-XPG4/wordexp.h/linknamespace): Likewise. (test-xfail-POSIX/aio.h/linknamespace): Likewise. (test-xfail-POSIX/fnmatch.h/linknamespace): Likewise. (test-xfail-POSIX/glob.h/linknamespace): Likewise. (test-xfail-POSIX/math.h/linknamespace): Likewise. (test-xfail-POSIX/mqueue.h/linknamespace): Likewise. (test-xfail-POSIX/pthread.h/linknamespace): Likewise. (test-xfail-POSIX/regex.h/linknamespace): Likewise. (test-xfail-POSIX/sched.h/linknamespace): Likewise. (test-xfail-POSIX/semaphore.h/linknamespace): Likewise. (test-xfail-POSIX/sys/mman.h/linknamespace): Likewise. (test-xfail-POSIX/time.h/linknamespace): Likewise. (test-xfail-POSIX/unistd.h/linknamespace): Likewise. (test-xfail-POSIX/wordexp.h/linknamespace): Likewise. (test-xfail-UNIX98/aio.h/linknamespace): Likewise. (test-xfail-UNIX98/ctype.h/linknamespace): Likewise. (test-xfail-UNIX98/fmtmsg.h/linknamespace): Likewise. (test-xfail-UNIX98/fnmatch.h/linknamespace): Likewise. (test-xfail-UNIX98/glob.h/linknamespace): Likewise. (test-xfail-UNIX98/grp.h/linknamespace): Likewise. (test-xfail-UNIX98/libgen.h/linknamespace): Likewise. (test-xfail-UNIX98/math.h/linknamespace): Likewise. (test-xfail-UNIX98/mqueue.h/linknamespace): Likewise. (test-xfail-UNIX98/netdb.h/linknamespace): Likewise. (test-xfail-UNIX98/pthread.h/linknamespace): Likewise. (test-xfail-UNIX98/pwd.h/linknamespace): Likewise. (test-xfail-UNIX98/regex.h/linknamespace): Likewise. (test-xfail-UNIX98/sched.h/linknamespace): Likewise. (test-xfail-UNIX98/search.h/linknamespace): Likewise. (test-xfail-UNIX98/semaphore.h/linknamespace): Likewise. (test-xfail-UNIX98/stdio.h/linknamespace): Likewise. (test-xfail-UNIX98/stdlib.h/linknamespace): Likewise. (test-xfail-UNIX98/sys/mman.h/linknamespace): Likewise. (test-xfail-UNIX98/sys/statvfs.h/linknamespace): Likewise. (test-xfail-UNIX98/syslog.h/linknamespace): Likewise. (test-xfail-UNIX98/time.h/linknamespace): Likewise. (test-xfail-UNIX98/unistd.h/linknamespace): Likewise. (test-xfail-UNIX98/wchar.h/linknamespace): Likewise. (test-xfail-UNIX98/wordexp.h/linknamespace): Likewise. (test-xfail-XOPEN2K/aio.h/linknamespace): Likewise. (test-xfail-XOPEN2K/complex.h/linknamespace): Likewise. (test-xfail-XOPEN2K/fcntl.h/linknamespace): Likewise. (test-xfail-XOPEN2K/fmtmsg.h/linknamespace): Likewise. (test-xfail-XOPEN2K/fnmatch.h/linknamespace): Likewise. (test-xfail-XOPEN2K/glob.h/linknamespace): Likewise. (test-xfail-XOPEN2K/grp.h/linknamespace): Likewise. (test-xfail-XOPEN2K/libgen.h/linknamespace): Likewise. (test-xfail-XOPEN2K/math.h/linknamespace): Likewise. (test-xfail-XOPEN2K/mqueue.h/linknamespace): Likewise. (test-xfail-XOPEN2K/net/if.h/linknamespace): Likewise. (test-xfail-XOPEN2K/netdb.h/linknamespace): Likewise. (test-xfail-XOPEN2K/pthread.h/linknamespace): Likewise. (test-xfail-XOPEN2K/pwd.h/linknamespace): Likewise. (test-xfail-XOPEN2K/regex.h/linknamespace): Likewise. (test-xfail-XOPEN2K/search.h/linknamespace): Likewise. (test-xfail-XOPEN2K/semaphore.h/linknamespace): Likewise. (test-xfail-XOPEN2K/signal.h/linknamespace): Likewise. (test-xfail-XOPEN2K/spawn.h/linknamespace): Likewise. (test-xfail-XOPEN2K/stdlib.h/linknamespace): Likewise. (test-xfail-XOPEN2K/sys/mman.h/linknamespace): Likewise. (test-xfail-XOPEN2K/sys/statvfs.h/linknamespace): Likewise. (test-xfail-XOPEN2K/sys/wait.h/linknamespace): Likewise. (test-xfail-XOPEN2K/syslog.h/linknamespace): Likewise. (test-xfail-XOPEN2K/tgmath.h/linknamespace): Likewise. (test-xfail-XOPEN2K/time.h/linknamespace): Likewise. (test-xfail-XOPEN2K/ucontext.h/linknamespace): Likewise. (test-xfail-XOPEN2K/unistd.h/linknamespace): Likewise. (test-xfail-XOPEN2K/wordexp.h/linknamespace): Likewise. (test-xfail-POSIX2008/aio.h/linknamespace): Likewise. (test-xfail-POSIX2008/complex.h/linknamespace): Likewise. (test-xfail-POSIX2008/ctype.h/linknamespace): Likewise. (test-xfail-POSIX2008/dirent.h/linknamespace): Likewise. (test-xfail-POSIX2008/fcntl.h/linknamespace): Likewise. (test-xfail-POSIX2008/grp.h/linknamespace): Likewise. (test-xfail-POSIX2008/math.h/linknamespace): Likewise. (test-xfail-POSIX2008/mqueue.h/linknamespace): Likewise. (test-xfail-POSIX2008/net/if.h/linknamespace): Likewise. (test-xfail-POSIX2008/netdb.h/linknamespace): Likewise. (test-xfail-POSIX2008/pthread.h/linknamespace): Likewise. (test-xfail-POSIX2008/regex.h/linknamespace): Likewise. (test-xfail-POSIX2008/semaphore.h/linknamespace): Likewise. (test-xfail-POSIX2008/spawn.h/linknamespace): Likewise. (test-xfail-POSIX2008/sys/mman.h/linknamespace): Likewise. (test-xfail-POSIX2008/sys/statvfs.h/linknamespace): Likewise. (test-xfail-POSIX2008/tgmath.h/linknamespace): Likewise. (test-xfail-POSIX2008/time.h/linknamespace): Likewise. (test-xfail-POSIX2008/unistd.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/aio.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/complex.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/dirent.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/fcntl.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/fmtmsg.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/grp.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/libgen.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/math.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/mqueue.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/net/if.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/netdb.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/pthread.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/pwd.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/regex.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/search.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/semaphore.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/spawn.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/sys/mman.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/syslog.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/tgmath.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/time.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/unistd.h/linknamespace): Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog175
1 files changed, 175 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 177a6d7..d4c3406 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,180 @@
2014-11-12 Joseph Myers <joseph@codesourcery.com>
+ * conform/GlibcConform.pm: New file.
+ * conform/conformtest.pl: Use GlibcConform module.
+ * conform/linknamespace.pl: New file.
+ * conform/list-header-symbols.pl: Likewise.
+ * conform/Makefile (linknamespace-symlists-base): New variable.
+ (linknamespace-symlists-tests): Likewise.
+ (linknamespace-header-base): Likewise.
+ (linknamespace-header-tests): Likewise.
+ (tests-special): Add new tests.
+ ($(linknamespace-symlists-tests)): New rule.
+ (linknamespace-libs): New variable.
+ ($(objpfx)symlist-stdlibs): New rule.
+ ($(linknamespace-header-tests)): Likewise.
+ (test-xfail-XPG3/varargs.h/linknamespace): New variable.
+ (test-xfail-XPG4/varargs.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/varargs.h/linknamespace): Likewise.
+ (test-xfail-XPG4/ndbm.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/ndbm.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/ndbm.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/ndbm.h/linknamespace): Likewise.
+ (test-xfail-ISO/math.h/linknamespace): Likewise.
+ (test-xfail-ISO/signal.h/linknamespace): Likewise.
+ (test-xfail-ISO/stdio.h/linknamespace): Likewise.
+ (test-xfail-ISO/time.h/linknamespace): Likewise.
+ (test-xfail-ISO99/complex.h/linknamespace): Likewise.
+ (test-xfail-ISO99/ctype.h/linknamespace): Likewise.
+ (test-xfail-ISO99/math.h/linknamespace): Likewise.
+ (test-xfail-ISO99/signal.h/linknamespace): Likewise.
+ (test-xfail-ISO99/stdio.h/linknamespace): Likewise.
+ (test-xfail-ISO99/tgmath.h/linknamespace): Likewise.
+ (test-xfail-ISO11/complex.h/linknamespace): Likewise.
+ (test-xfail-ISO11/ctype.h/linknamespace): Likewise.
+ (test-xfail-ISO11/math.h/linknamespace): Likewise.
+ (test-xfail-ISO11/signal.h/linknamespace): Likewise.
+ (test-xfail-ISO11/stdio.h/linknamespace): Likewise.
+ (test-xfail-ISO11/tgmath.h/linknamespace): Likewise.
+ (test-xfail-XPG3/ctype.h/linknamespace): Likewise.
+ (test-xfail-XPG3/fnmatch.h/linknamespace): Likewise.
+ (test-xfail-XPG3/glob.h/linknamespace): Likewise.
+ (test-xfail-XPG3/math.h/linknamespace): Likewise.
+ (test-xfail-XPG3/regex.h/linknamespace): Likewise.
+ (test-xfail-XPG3/search.h/linknamespace): Likewise.
+ (test-xfail-XPG3/stdio.h/linknamespace): Likewise.
+ (test-xfail-XPG3/time.h/linknamespace): Likewise.
+ (test-xfail-XPG3/unistd.h/linknamespace): Likewise.
+ (test-xfail-XPG3/wordexp.h/linknamespace): Likewise.
+ (test-xfail-XPG4/ctype.h/linknamespace): Likewise.
+ (test-xfail-XPG4/fmtmsg.h/linknamespace): Likewise.
+ (test-xfail-XPG4/fnmatch.h/linknamespace): Likewise.
+ (test-xfail-XPG4/glob.h/linknamespace): Likewise.
+ (test-xfail-XPG4/grp.h/linknamespace): Likewise.
+ (test-xfail-XPG4/libgen.h/linknamespace): Likewise.
+ (test-xfail-XPG4/math.h/linknamespace): Likewise.
+ (test-xfail-XPG4/netdb.h/linknamespace): Likewise.
+ (test-xfail-XPG4/pwd.h/linknamespace): Likewise.
+ (test-xfail-XPG4/regex.h/linknamespace): Likewise.
+ (test-xfail-XPG4/search.h/linknamespace): Likewise.
+ (test-xfail-XPG4/stdio.h/linknamespace): Likewise.
+ (test-xfail-XPG4/stdlib.h/linknamespace): Likewise.
+ (test-xfail-XPG4/sys/mman.h/linknamespace): Likewise.
+ (test-xfail-XPG4/sys/statvfs.h/linknamespace): Likewise.
+ (test-xfail-XPG4/syslog.h/linknamespace): Likewise.
+ (test-xfail-XPG4/time.h/linknamespace): Likewise.
+ (test-xfail-XPG4/unistd.h/linknamespace): Likewise.
+ (test-xfail-XPG4/wordexp.h/linknamespace): Likewise.
+ (test-xfail-POSIX/aio.h/linknamespace): Likewise.
+ (test-xfail-POSIX/fnmatch.h/linknamespace): Likewise.
+ (test-xfail-POSIX/glob.h/linknamespace): Likewise.
+ (test-xfail-POSIX/math.h/linknamespace): Likewise.
+ (test-xfail-POSIX/mqueue.h/linknamespace): Likewise.
+ (test-xfail-POSIX/pthread.h/linknamespace): Likewise.
+ (test-xfail-POSIX/regex.h/linknamespace): Likewise.
+ (test-xfail-POSIX/sched.h/linknamespace): Likewise.
+ (test-xfail-POSIX/semaphore.h/linknamespace): Likewise.
+ (test-xfail-POSIX/sys/mman.h/linknamespace): Likewise.
+ (test-xfail-POSIX/time.h/linknamespace): Likewise.
+ (test-xfail-POSIX/unistd.h/linknamespace): Likewise.
+ (test-xfail-POSIX/wordexp.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/aio.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/ctype.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/fmtmsg.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/fnmatch.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/glob.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/grp.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/libgen.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/math.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/mqueue.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/netdb.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/pthread.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/pwd.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/regex.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/sched.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/search.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/semaphore.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/stdio.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/stdlib.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/sys/mman.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/sys/statvfs.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/syslog.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/time.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/unistd.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/wchar.h/linknamespace): Likewise.
+ (test-xfail-UNIX98/wordexp.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/aio.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/complex.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/fcntl.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/fmtmsg.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/fnmatch.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/glob.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/grp.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/libgen.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/math.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/mqueue.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/net/if.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/netdb.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/pthread.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/pwd.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/regex.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/search.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/semaphore.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/signal.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/spawn.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/stdlib.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/sys/mman.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/sys/statvfs.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/sys/wait.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/syslog.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/tgmath.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/time.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/ucontext.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/unistd.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/wordexp.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/aio.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/complex.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/ctype.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/dirent.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/fcntl.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/grp.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/math.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/mqueue.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/net/if.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/netdb.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/pthread.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/regex.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/semaphore.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/spawn.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/sys/mman.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/sys/statvfs.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/tgmath.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/time.h/linknamespace): Likewise.
+ (test-xfail-POSIX2008/unistd.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/aio.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/complex.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/dirent.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/fcntl.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/fmtmsg.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/grp.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/libgen.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/math.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/mqueue.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/net/if.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/netdb.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/pthread.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/pwd.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/regex.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/search.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/semaphore.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/spawn.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/sys/mman.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/syslog.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/tgmath.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/time.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K8/unistd.h/linknamespace): Likewise.
+
[BZ #17589]
* intl/localealias.c [_LIBC] (FGETS): Use __fgets_unlocked instead
of fgets_unlocked.