diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-11-12 22:45:25 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-11-12 22:45:25 +0000 |
commit | 24f4f8253f177f8a1f5a6cd5f59be1cf766be284 (patch) | |
tree | 91e05083c1bfcc14407e29a835af4471bfd76b2d /conform/Makefile | |
parent | cc67478e282ac5c46a1005474cca51342efe1397 (diff) | |
download | glibc-24f4f8253f177f8a1f5a6cd5f59be1cf766be284.tar.gz glibc-24f4f8253f177f8a1f5a6cd5f59be1cf766be284.tar.xz glibc-24f4f8253f177f8a1f5a6cd5f59be1cf766be284.zip |
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 'conform/Makefile')
-rw-r--r-- | conform/Makefile | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/conform/Makefile b/conform/Makefile index 3c14355256..45917a66f3 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -118,6 +118,23 @@ generated += $(conformtest-header-base) endif endif +linknamespace-symlists-base := $(foreach std,$(conformtest-standards),\ + symlist-$(std)) +linknamespace-symlists-tests := $(addprefix $(objpfx),\ + $(linknamespace-symlists-base)) +tests-special += $(linknamespace-symlists-tests) + +tests-special += $(objpfx)symlist-stdlibs + +linknamespace-header-base := $(foreach std,\ + $(conformtest-standards),\ + $(foreach h,\ + $(conformtest-headers-$(std)),\ + $(std)/$(h)/linknamespace.out)) +linknamespace-header-tests := $(addprefix $(objpfx),\ + $(linknamespace-header-base)) +tests-special += $(linknamespace-header-tests) + include ../Rules $(conformtest-header-list-tests): $(objpfx)header-list-%.out: \ @@ -269,3 +286,196 @@ $(conformtest-header-tests): $(objpfx)%/conform.out: \ --flags='$(conformtest-cc-flags)' --standard=$$std \ --headers=$$hdr > $@); \ $(evaluate-test) + +$(linknamespace-symlists-tests): $(objpfx)symlist-%: list-header-symbols.pl + $(PERL) -w $< --tmpdir=$(objpfx) --cc='$(CC)' \ + --flags='$(conformtest-cc-flags)' --standard=$* \ + --headers="$(strip $(conformtest-headers-$*))" \ + > $@ 2> $@.err; \ + $(evaluate-test) + +linknamespace-libs = $(common-objpfx)libc.a $(common-objpfx)math/libm.a \ + $(common-objpfx)rt/librt.a $(static-thread-library) + +$(objpfx)symlist-stdlibs: $(linknamespace-libs) + LC_ALL=C $(READELF) -W -s $^ > $@; \ + $(evaluate-test) + +$(linknamespace-header-tests): $(objpfx)%/linknamespace.out: \ + linknamespace.pl $(objpfx)symlist-stdlibs + (set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \ + mkdir -p $(@D)/scratch; \ + $(PERL) -w $< --tmpdir=$(@D)/scratch --cc='$(CC)' \ + --flags='$(conformtest-cc-flags)' --standard=$$std \ + --stdsyms=$(objpfx)symlist-$$std --header=$$hdr \ + --libsyms='$(objpfx)symlist-stdlibs' --readelf='$(READELF)' \ + > $@ 2>&1); \ + $(evaluate-test) + +# Pre-standard C feature no longer supported by GCC (obsoleted in +# newer POSIX standards). +test-xfail-XPG3/varargs.h/linknamespace = yes +test-xfail-XPG4/varargs.h/linknamespace = yes +test-xfail-UNIX98/varargs.h/linknamespace = yes + +# Header not provided by glibc. +test-xfail-XPG4/ndbm.h/linknamespace = yes +test-xfail-UNIX98/ndbm.h/linknamespace = yes +test-xfail-XOPEN2K/ndbm.h/linknamespace = yes +test-xfail-XOPEN2K8/ndbm.h/linknamespace = yes + +# Unsorted expected failures. +test-xfail-ISO/math.h/linknamespace = yes +test-xfail-ISO/signal.h/linknamespace = yes +test-xfail-ISO/stdio.h/linknamespace = yes +test-xfail-ISO/time.h/linknamespace = yes +test-xfail-ISO99/complex.h/linknamespace = yes +test-xfail-ISO99/ctype.h/linknamespace = yes +test-xfail-ISO99/math.h/linknamespace = yes +test-xfail-ISO99/signal.h/linknamespace = yes +test-xfail-ISO99/stdio.h/linknamespace = yes +test-xfail-ISO99/tgmath.h/linknamespace = yes +test-xfail-ISO11/complex.h/linknamespace = yes +test-xfail-ISO11/ctype.h/linknamespace = yes +test-xfail-ISO11/math.h/linknamespace = yes +test-xfail-ISO11/signal.h/linknamespace = yes +test-xfail-ISO11/stdio.h/linknamespace = yes +test-xfail-ISO11/tgmath.h/linknamespace = yes +test-xfail-XPG3/ctype.h/linknamespace = yes +test-xfail-XPG3/fnmatch.h/linknamespace = yes +test-xfail-XPG3/glob.h/linknamespace = yes +test-xfail-XPG3/math.h/linknamespace = yes +test-xfail-XPG3/regex.h/linknamespace = yes +test-xfail-XPG3/search.h/linknamespace = yes +test-xfail-XPG3/stdio.h/linknamespace = yes +test-xfail-XPG3/time.h/linknamespace = yes +test-xfail-XPG3/unistd.h/linknamespace = yes +test-xfail-XPG3/wordexp.h/linknamespace = yes +test-xfail-XPG4/ctype.h/linknamespace = yes +test-xfail-XPG4/fmtmsg.h/linknamespace = yes +test-xfail-XPG4/fnmatch.h/linknamespace = yes +test-xfail-XPG4/glob.h/linknamespace = yes +test-xfail-XPG4/grp.h/linknamespace = yes +test-xfail-XPG4/libgen.h/linknamespace = yes +test-xfail-XPG4/math.h/linknamespace = yes +test-xfail-XPG4/netdb.h/linknamespace = yes +test-xfail-XPG4/pwd.h/linknamespace = yes +test-xfail-XPG4/regex.h/linknamespace = yes +test-xfail-XPG4/search.h/linknamespace = yes +test-xfail-XPG4/stdio.h/linknamespace = yes +test-xfail-XPG4/stdlib.h/linknamespace = yes +test-xfail-XPG4/sys/mman.h/linknamespace = yes +test-xfail-XPG4/sys/statvfs.h/linknamespace = yes +test-xfail-XPG4/syslog.h/linknamespace = yes +test-xfail-XPG4/time.h/linknamespace = yes +test-xfail-XPG4/unistd.h/linknamespace = yes +test-xfail-XPG4/wordexp.h/linknamespace = yes +test-xfail-POSIX/aio.h/linknamespace = yes +test-xfail-POSIX/fnmatch.h/linknamespace = yes +test-xfail-POSIX/glob.h/linknamespace = yes +test-xfail-POSIX/math.h/linknamespace = yes +test-xfail-POSIX/mqueue.h/linknamespace = yes +test-xfail-POSIX/pthread.h/linknamespace = yes +test-xfail-POSIX/regex.h/linknamespace = yes +test-xfail-POSIX/sched.h/linknamespace = yes +test-xfail-POSIX/semaphore.h/linknamespace = yes +test-xfail-POSIX/sys/mman.h/linknamespace = yes +test-xfail-POSIX/time.h/linknamespace = yes +test-xfail-POSIX/unistd.h/linknamespace = yes +test-xfail-POSIX/wordexp.h/linknamespace = yes +test-xfail-UNIX98/aio.h/linknamespace = yes +test-xfail-UNIX98/ctype.h/linknamespace = yes +test-xfail-UNIX98/fmtmsg.h/linknamespace = yes +test-xfail-UNIX98/fnmatch.h/linknamespace = yes +test-xfail-UNIX98/glob.h/linknamespace = yes +test-xfail-UNIX98/grp.h/linknamespace = yes +test-xfail-UNIX98/libgen.h/linknamespace = yes +test-xfail-UNIX98/math.h/linknamespace = yes +test-xfail-UNIX98/mqueue.h/linknamespace = yes +test-xfail-UNIX98/netdb.h/linknamespace = yes +test-xfail-UNIX98/pthread.h/linknamespace = yes +test-xfail-UNIX98/pwd.h/linknamespace = yes +test-xfail-UNIX98/regex.h/linknamespace = yes +test-xfail-UNIX98/sched.h/linknamespace = yes +test-xfail-UNIX98/search.h/linknamespace = yes +test-xfail-UNIX98/semaphore.h/linknamespace = yes +test-xfail-UNIX98/stdio.h/linknamespace = yes +test-xfail-UNIX98/stdlib.h/linknamespace = yes +test-xfail-UNIX98/sys/mman.h/linknamespace = yes +test-xfail-UNIX98/sys/statvfs.h/linknamespace = yes +test-xfail-UNIX98/syslog.h/linknamespace = yes +test-xfail-UNIX98/time.h/linknamespace = yes +test-xfail-UNIX98/unistd.h/linknamespace = yes +test-xfail-UNIX98/wchar.h/linknamespace = yes +test-xfail-UNIX98/wordexp.h/linknamespace = yes +test-xfail-XOPEN2K/aio.h/linknamespace = yes +test-xfail-XOPEN2K/complex.h/linknamespace = yes +test-xfail-XOPEN2K/fcntl.h/linknamespace = yes +test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes +test-xfail-XOPEN2K/fnmatch.h/linknamespace = yes +test-xfail-XOPEN2K/glob.h/linknamespace = yes +test-xfail-XOPEN2K/grp.h/linknamespace = yes +test-xfail-XOPEN2K/libgen.h/linknamespace = yes +test-xfail-XOPEN2K/math.h/linknamespace = yes +test-xfail-XOPEN2K/mqueue.h/linknamespace = yes +test-xfail-XOPEN2K/net/if.h/linknamespace = yes +test-xfail-XOPEN2K/netdb.h/linknamespace = yes +test-xfail-XOPEN2K/pthread.h/linknamespace = yes +test-xfail-XOPEN2K/pwd.h/linknamespace = yes +test-xfail-XOPEN2K/regex.h/linknamespace = yes +test-xfail-XOPEN2K/search.h/linknamespace = yes +test-xfail-XOPEN2K/semaphore.h/linknamespace = yes +test-xfail-XOPEN2K/signal.h/linknamespace = yes +test-xfail-XOPEN2K/spawn.h/linknamespace = yes +test-xfail-XOPEN2K/stdlib.h/linknamespace = yes +test-xfail-XOPEN2K/sys/mman.h/linknamespace = yes +test-xfail-XOPEN2K/sys/statvfs.h/linknamespace = yes +test-xfail-XOPEN2K/sys/wait.h/linknamespace = yes +test-xfail-XOPEN2K/syslog.h/linknamespace = yes +test-xfail-XOPEN2K/tgmath.h/linknamespace = yes +test-xfail-XOPEN2K/time.h/linknamespace = yes +test-xfail-XOPEN2K/ucontext.h/linknamespace = yes +test-xfail-XOPEN2K/unistd.h/linknamespace = yes +test-xfail-XOPEN2K/wordexp.h/linknamespace = yes +test-xfail-POSIX2008/aio.h/linknamespace = yes +test-xfail-POSIX2008/complex.h/linknamespace = yes +test-xfail-POSIX2008/ctype.h/linknamespace = yes +test-xfail-POSIX2008/dirent.h/linknamespace = yes +test-xfail-POSIX2008/fcntl.h/linknamespace = yes +test-xfail-POSIX2008/grp.h/linknamespace = yes +test-xfail-POSIX2008/math.h/linknamespace = yes +test-xfail-POSIX2008/mqueue.h/linknamespace = yes +test-xfail-POSIX2008/net/if.h/linknamespace = yes +test-xfail-POSIX2008/netdb.h/linknamespace = yes +test-xfail-POSIX2008/pthread.h/linknamespace = yes +test-xfail-POSIX2008/regex.h/linknamespace = yes +test-xfail-POSIX2008/semaphore.h/linknamespace = yes +test-xfail-POSIX2008/spawn.h/linknamespace = yes +test-xfail-POSIX2008/sys/mman.h/linknamespace = yes +test-xfail-POSIX2008/sys/statvfs.h/linknamespace = yes +test-xfail-POSIX2008/tgmath.h/linknamespace = yes +test-xfail-POSIX2008/time.h/linknamespace = yes +test-xfail-POSIX2008/unistd.h/linknamespace = yes +test-xfail-XOPEN2K8/aio.h/linknamespace = yes +test-xfail-XOPEN2K8/complex.h/linknamespace = yes +test-xfail-XOPEN2K8/dirent.h/linknamespace = yes +test-xfail-XOPEN2K8/fcntl.h/linknamespace = yes +test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes +test-xfail-XOPEN2K8/grp.h/linknamespace = yes +test-xfail-XOPEN2K8/libgen.h/linknamespace = yes +test-xfail-XOPEN2K8/math.h/linknamespace = yes +test-xfail-XOPEN2K8/mqueue.h/linknamespace = yes +test-xfail-XOPEN2K8/net/if.h/linknamespace = yes +test-xfail-XOPEN2K8/netdb.h/linknamespace = yes +test-xfail-XOPEN2K8/pthread.h/linknamespace = yes +test-xfail-XOPEN2K8/pwd.h/linknamespace = yes +test-xfail-XOPEN2K8/regex.h/linknamespace = yes +test-xfail-XOPEN2K8/search.h/linknamespace = yes +test-xfail-XOPEN2K8/semaphore.h/linknamespace = yes +test-xfail-XOPEN2K8/spawn.h/linknamespace = yes +test-xfail-XOPEN2K8/sys/mman.h/linknamespace = yes +test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace = yes +test-xfail-XOPEN2K8/syslog.h/linknamespace = yes +test-xfail-XOPEN2K8/tgmath.h/linknamespace = yes +test-xfail-XOPEN2K8/time.h/linknamespace = yes +test-xfail-XOPEN2K8/unistd.h/linknamespace = yes |