<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>