This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make linknamespace tests check only relevant libraries


On 11/28/2014 08:47 PM, Joseph Myers wrote:
> This patch addresses one known caveat in the linknamespace tests: with
> this patch they will now only look for definitions of symbols in
> relevant libraries, meaning that librt and libpthread are not checked
> for ISO C standards, XPG3 and XPG4.
> 
> In particular, this means that if __pthread_initialize_minimal is
> somehow brought in for one of those standards, the definition from
> libc-tls.o will be considered instead of that from libpthread, so
> avoiding bringing in lots of other libpthread symbols.  This should
> address some of the failures reported by Carlos in
> <https://sourceware.org/ml/libc-alpha/2014-11/msg00882.html>, where
> __pointer_chk_guard_local brought in __pthread_initialize_minimal.
> 
> Tested for x86_64.  The removal of one XFAIL for XPG4 actually shows
> up a header bug (shm_open should not be declared for XPG4 - the
> namespace issue was for symbols brought in by shm_open, which is no
> longer found at all now librt isn't searched; I've filed bug 17663 for
> the header bug, though it would show up eventually anyway in the
> course of review of conform/ data against XPG4).
> 
> Committed.

I see ~70 less failures, but I still see ~150 failures.

The complete list follows with some excerpts of the failures.

I've sent you the tarball of the failures in a private email.

Some of them are the `profil_counter` failure you noted, but
others remain the __pointer_chk_guard_local inclusion and
subsequent libpthread analysis, which I think is not correct,
but haven't reviewed in detail.

FAIL: conform/POSIX/assert.h/linknamespace
~~~
[initial] __assert_fail -> [libc.a(assert.o)] __fxprintf -> [libc.a(fxprintf.o)] __vfwprintf -> [libc.a(vfwprintf.o)] _IO_fwide -> [libc.a(iofwide.o)] __pointer_chk_guard_local -> [libc.a(libc-start.o)] __pthread_initialize_minimal -> [libpthread.a(nptl-init.o)] __nptl_setxid_error -> [libpthread.a(pthread_create.o)] __resp -> [libc.a(res_libc.o)] __res_iclose -> [libc.a(res_init.o)] fgets_unlocked
...
~~~
FAIL: conform/POSIX/dirent.h/linknamespace
FAIL: conform/POSIX/fcntl.h/linknamespace
FAIL: conform/POSIX/grp.h/linknamespace
FAIL: conform/POSIX/locale.h/linknamespace
FAIL: conform/POSIX/math.h/linknamespace
FAIL: conform/POSIX/pwd.h/linknamespace
FAIL: conform/POSIX/semaphore.h/conform
FAIL: conform/POSIX/setjmp.h/linknamespace
FAIL: conform/POSIX/signal.h/linknamespace
FAIL: conform/POSIX/stdio.h/linknamespace
FAIL: conform/POSIX/stdlib.h/linknamespace
FAIL: conform/POSIX/string.h/linknamespace
FAIL: conform/POSIX/sys/wait.h/linknamespace
FAIL: conform/POSIX/termios.h/linknamespace
FAIL: conform/POSIX2008/arpa/inet.h/linknamespace
~~~
[initial] accept -> [libpthread.a(ptw-accept.o)] __pthread_disable_asynccancel -> [libpthread.a(cancellation.o)] __pthread_unwind -> [libpthread.a(unwind.o)] __pointer_chk_guard_local -> [libc.a(libc-start.o)] __pthread_initialize_minimal -> [libpthread.a(nptl-init.o)] __nptl_setxid_error -> [libpthread.a(pthread_create.o)] __resp -> [libc.a(res_libc.o)] __res_iclose -> [libc.a(res_init.o)] fgets_unlocked
...
~~~
FAIL: conform/POSIX2008/assert.h/linknamespace
FAIL: conform/POSIX2008/complex.h/linknamespace
FAIL: conform/POSIX2008/cpio.h/conform
FAIL: conform/POSIX2008/cpio.h/linknamespace
FAIL: conform/POSIX2008/fnmatch.h/linknamespace
FAIL: conform/POSIX2008/glob.h/linknamespace
FAIL: conform/POSIX2008/iconv.h/linknamespace
FAIL: conform/POSIX2008/langinfo.h/linknamespace
FAIL: conform/POSIX2008/locale.h/linknamespace
FAIL: conform/POSIX2008/math.h/linknamespace
FAIL: conform/POSIX2008/monetary.h/linknamespace
FAIL: conform/POSIX2008/netinet/in.h/linknamespace
FAIL: conform/POSIX2008/nl_types.h/linknamespace
FAIL: conform/POSIX2008/pwd.h/linknamespace
FAIL: conform/POSIX2008/sched.h/linknamespace
FAIL: conform/POSIX2008/semaphore.h/conform
FAIL: conform/POSIX2008/setjmp.h/linknamespace
FAIL: conform/POSIX2008/signal.h/linknamespace
FAIL: conform/POSIX2008/stdio.h/linknamespace
FAIL: conform/POSIX2008/stdlib.h/linknamespace
FAIL: conform/POSIX2008/string.h/linknamespace
FAIL: conform/POSIX2008/stropts.h/linknamespace
FAIL: conform/POSIX2008/sys/socket.h/linknamespace
FAIL: conform/POSIX2008/sys/wait.h/linknamespace
FAIL: conform/POSIX2008/termios.h/linknamespace
FAIL: conform/POSIX2008/tgmath.h/linknamespace
FAIL: conform/POSIX2008/wchar.h/linknamespace
FAIL: conform/POSIX2008/wordexp.h/linknamespace
FAIL: conform/UNIX98/arpa/inet.h/linknamespace
~~~
[initial] accept -> [libpthread.a(ptw-accept.o)] __pthread_disable_asynccancel -> [libpthread.a(cancellation.o)] __pthread_unwind -> [libpthread.a(unwind.o)] __pointer_chk_guard_local -> [libc.a(libc-start.o)] __pthread_initialize_minimal -> [libpthread.a(nptl-init.o)] __nptl_setxid_error -> [libpthread.a(pthread_create.o)] __resp -> [libc.a(res_libc.o)] __res_iclose -> [libc.a(res_init.o)] fgets_unlocked
...
~~~
FAIL: conform/UNIX98/assert.h/linknamespace
FAIL: conform/UNIX98/cpio.h/conform
FAIL: conform/UNIX98/cpio.h/linknamespace
FAIL: conform/UNIX98/dirent.h/linknamespace
FAIL: conform/UNIX98/fcntl.h/linknamespace
FAIL: conform/UNIX98/fmtmsg.h/conform
FAIL: conform/UNIX98/ftw.h/linknamespace
FAIL: conform/UNIX98/iconv.h/linknamespace
FAIL: conform/UNIX98/langinfo.h/linknamespace
FAIL: conform/UNIX98/locale.h/linknamespace
FAIL: conform/UNIX98/math.h/linknamespace
FAIL: conform/UNIX98/monetary.h/linknamespace
FAIL: conform/UNIX98/netinet/in.h/linknamespace
FAIL: conform/UNIX98/nl_types.h/linknamespace
FAIL: conform/UNIX98/semaphore.h/conform
FAIL: conform/UNIX98/setjmp.h/linknamespace
FAIL: conform/UNIX98/signal.h/linknamespace
FAIL: conform/UNIX98/string.h/linknamespace
FAIL: conform/UNIX98/stropts.h/linknamespace
FAIL: conform/UNIX98/sys/msg.h/linknamespace
FAIL: conform/UNIX98/sys/shm.h/linknamespace
FAIL: conform/UNIX98/sys/socket.h/linknamespace
FAIL: conform/UNIX98/sys/wait.h/linknamespace
FAIL: conform/UNIX98/termios.h/linknamespace
FAIL: conform/UNIX98/ucontext.h/linknamespace
FAIL: conform/UNIX98/ulimit.h/linknamespace
FAIL: conform/UNIX98/utmpx.h/linknamespace
FAIL: conform/XOPEN2K/arpa/inet.h/linknamespace
FAIL: conform/XOPEN2K/assert.h/linknamespace
FAIL: conform/XOPEN2K/complex.h/linknamespace
FAIL: conform/XOPEN2K/cpio.h/conform
FAIL: conform/XOPEN2K/cpio.h/linknamespace
FAIL: conform/XOPEN2K/dirent.h/linknamespace
~~~
[initial] closedir -> [libc.a(closedir.o)] __close_nocancel -> [libpthread.a(ptw-close.o)] __pthread_disable_asynccancel -> [libpthread.a(cancellation.o)] __pthread_unwind -> [libpthread.a(unwind.o)] __pointer_chk_guard_local -> [libc.a(libc-start.o)] __pthread_initialize_minimal -> [libpthread.a(nptl-init.o)] __nptl_setxid_error -> [libpthread.a(pthread_create.o)] __resp -> [libc.a(res_libc.o)] __res_iclose -> [libc.a(res_init.o)] fgets_unlocked
...
~~~
FAIL: conform/XOPEN2K/fmtmsg.h/conform
FAIL: conform/XOPEN2K/ftw.h/linknamespace
FAIL: conform/XOPEN2K/iconv.h/linknamespace
FAIL: conform/XOPEN2K/langinfo.h/linknamespace
FAIL: conform/XOPEN2K/locale.h/linknamespace
FAIL: conform/XOPEN2K/math.h/linknamespace
FAIL: conform/XOPEN2K/monetary.h/linknamespace
FAIL: conform/XOPEN2K/netinet/in.h/linknamespace
FAIL: conform/XOPEN2K/nl_types.h/linknamespace
FAIL: conform/XOPEN2K/sched.h/linknamespace
FAIL: conform/XOPEN2K/setjmp.h/linknamespace
FAIL: conform/XOPEN2K/stdio.h/linknamespace
FAIL: conform/XOPEN2K/string.h/linknamespace
FAIL: conform/XOPEN2K/stropts.h/linknamespace
FAIL: conform/XOPEN2K/sys/msg.h/linknamespace
FAIL: conform/XOPEN2K/sys/shm.h/linknamespace
FAIL: conform/XOPEN2K/sys/socket.h/linknamespace
FAIL: conform/XOPEN2K/termios.h/linknamespace
FAIL: conform/XOPEN2K/tgmath.h/linknamespace
FAIL: conform/XOPEN2K/ulimit.h/linknamespace
FAIL: conform/XOPEN2K/utmpx.h/linknamespace
FAIL: conform/XOPEN2K/wchar.h/linknamespace
FAIL: conform/XOPEN2K8/arpa/inet.h/linknamespace
FAIL: conform/XOPEN2K8/assert.h/linknamespace
FAIL: conform/XOPEN2K8/complex.h/linknamespace
FAIL: conform/XOPEN2K8/cpio.h/conform
FAIL: conform/XOPEN2K8/cpio.h/linknamespace
FAIL: conform/XOPEN2K8/fmtmsg.h/conform
FAIL: conform/XOPEN2K8/fnmatch.h/linknamespace
FAIL: conform/XOPEN2K8/ftw.h/linknamespace
FAIL: conform/XOPEN2K8/glob.h/linknamespace
FAIL: conform/XOPEN2K8/iconv.h/linknamespace
~~~
[initial] iconv -> [libc.a(iconv.o)] __gconv -> [libc.a(gconv.o)] __pointer_chk_guard_local -> [libc.a(libc-start.o)] __pthread_initialize_minimal -> [libpthread.a(nptl-init.o)] __nptl_setxid_error -> [libpthread.a(pthread_create.o)] __resp -> [libc.a(res_libc.o)] __res_iclose -> [libc.a(res_init.o)] fgets_unlocked
...
~~~
FAIL: conform/XOPEN2K8/langinfo.h/linknamespace
FAIL: conform/XOPEN2K8/locale.h/linknamespace
FAIL: conform/XOPEN2K8/math.h/linknamespace
FAIL: conform/XOPEN2K8/monetary.h/linknamespace
FAIL: conform/XOPEN2K8/netinet/in.h/linknamespace
FAIL: conform/XOPEN2K8/nl_types.h/linknamespace
FAIL: conform/XOPEN2K8/sched.h/linknamespace
FAIL: conform/XOPEN2K8/semaphore.h/conform
FAIL: conform/XOPEN2K8/setjmp.h/linknamespace
FAIL: conform/XOPEN2K8/signal.h/linknamespace
FAIL: conform/XOPEN2K8/stdio.h/linknamespace
FAIL: conform/XOPEN2K8/stdlib.h/linknamespace
FAIL: conform/XOPEN2K8/string.h/linknamespace
FAIL: conform/XOPEN2K8/stropts.h/linknamespace
FAIL: conform/XOPEN2K8/sys/msg.h/linknamespace
FAIL: conform/XOPEN2K8/sys/shm.h/linknamespace
FAIL: conform/XOPEN2K8/sys/socket.h/linknamespace
FAIL: conform/XOPEN2K8/sys/wait.h/linknamespace
FAIL: conform/XOPEN2K8/termios.h/linknamespace
FAIL: conform/XOPEN2K8/tgmath.h/linknamespace
FAIL: conform/XOPEN2K8/ulimit.h/linknamespace
FAIL: conform/XOPEN2K8/utmpx.h/linknamespace
FAIL: conform/XOPEN2K8/wchar.h/linknamespace
FAIL: conform/XOPEN2K8/wordexp.h/linknamespace
FAIL: conform/XPG3/cpio.h/conform
FAIL: conform/XPG3/cpio.h/linknamespace
FAIL: conform/XPG3/math.h/linknamespace
FAIL: conform/XPG4/cpio.h/conform
FAIL: conform/XPG4/cpio.h/linknamespace
FAIL: conform/XPG4/fmtmsg.h/conform
FAIL: conform/XPG4/math.h/linknamespace


Cheers,
Carlos.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]