<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - libpthread-stubs must NOT provide symbols which depend on actual implementation"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98048#c12">Comment # 12</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - libpthread-stubs must NOT provide symbols which depend on actual implementation"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98048">bug 98048</a>
from <span class="vcard"><a class="email" href="mailto:emil.l.velikov@gmail.com" title="Emil Velikov <emil.l.velikov@gmail.com>"> <span class="fn">Emil Velikov</span></a>
</span></b>
<pre>(In reply to Rob Clark from <a href="show_bug.cgi?id=98048#c9">comment #9</a>)
<span class="quote">> (In reply to Ian Romanick from <a href="show_bug.cgi?id=98048#c7">comment #7</a>)
> > My system has glibc-2.22-18.fc23.x86_64, and that has:
> >
> > $ nm /lib64/libc.so.6 | grep 'T pthread'
> > 000000000010fae0 T pthread_attr_destroy
> > 000000000010fb40 T pthread_attr_getdetachstate
> > 000000000010fba0 T pthread_attr_getinheritsched
> > 000000000010fc00 T pthread_attr_getschedparam
> > 000000000010fc60 T pthread_attr_getschedpolicy
> > 000000000010fcc0 T pthread_attr_getscope
> > 000000000010fb10 T pthread_attr_init@@GLIBC_2.2.5
> > 000000000010fb70 T pthread_attr_setdetachstate
> > 000000000010fbd0 T pthread_attr_setinheritsched
> > 000000000010fc30 T pthread_attr_setschedparam
> > 000000000010fc90 T pthread_attr_setschedpolicy
> > 000000000010fcf0 T pthread_attr_setscope
> > 000000000010fd20 T pthread_condattr_destroy
> > 000000000010fd50 T pthread_condattr_init
> > 000000000013e8d0 T <a href="mailto:pthread_cond_broadcast@GLIBC_2.2.5">pthread_cond_broadcast@GLIBC_2.2.5</a>
> > 000000000010fd80 T pthread_cond_broadcast@@GLIBC_2.3.2
> > 000000000013e900 T <a href="mailto:pthread_cond_destroy@GLIBC_2.2.5">pthread_cond_destroy@GLIBC_2.2.5</a>
> > 000000000010fdb0 T pthread_cond_destroy@@GLIBC_2.3.2
> > 000000000013e930 T <a href="mailto:pthread_cond_init@GLIBC_2.2.5">pthread_cond_init@GLIBC_2.2.5</a>
> > 000000000010fde0 T pthread_cond_init@@GLIBC_2.3.2
> > 000000000013e960 T <a href="mailto:pthread_cond_signal@GLIBC_2.2.5">pthread_cond_signal@GLIBC_2.2.5</a>
> > 000000000010fe10 T pthread_cond_signal@@GLIBC_2.3.2
> > 000000000013e9c0 T <a href="mailto:pthread_cond_timedwait@GLIBC_2.2.5">pthread_cond_timedwait@GLIBC_2.2.5</a>
> > 000000000010fe70 T pthread_cond_timedwait@@GLIBC_2.3.2
> > 000000000013e990 T <a href="mailto:pthread_cond_wait@GLIBC_2.2.5">pthread_cond_wait@GLIBC_2.2.5</a>
> > 000000000010fe40 T pthread_cond_wait@@GLIBC_2.3.2
> > 000000000010fab0 T pthread_equal
> > 000000000010fea0 T pthread_exit
> > 000000000010fed0 T pthread_getschedparam
> > 000000000010ff30 T pthread_mutex_destroy
> > 000000000010ff60 T pthread_mutex_init
> > 000000000010ff90 T pthread_mutex_lock
> > 000000000010ffc0 T pthread_mutex_unlock
> > 000000000010fff0 T pthread_self
> > 0000000000110050 T pthread_setcanceltype
> > 000000000010ff00 T pthread_setschedparam
> >
> > I can try reverting fa6db2f9 tomorrow.
>
> Interesting.. I see the same thing. So just fired up glxgears in gdb
> instead and set a breakpoint on pthread_mutexattr_settype(). Turns out some
> of the pthreads syms are coming from libc and some from libpthread-2.23.so.
> Not entirely sure the reasoning for that.
>
> Is it possibly you have the libc part but not libpthreads, so you end up
> mixing libc's partial pthreads w/ pthread-stubs instead of libpthreads.so?</span >
Sure that list is pretty normal/constant. Yet you don't see the issues that Ian
has reported, do you ?
As a simple check - build libpthreads-stub before/after the offending commit
and rebuild libxcb/mesa against it.
In the former case there will be no libpthread-stub.so while in the latter
there will be one. Then at runtime you'll likely end up using the
libc/pthreads/pthreads-stub libraries leading to fun experience.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>