DTRACE mods to libpthread (Was Re: Shared library version bump?)

Daniel Eischen deischen at freebsd.org
Tue May 9 03:30:39 UTC 2006


On Tue, 9 May 2006, John Birrell wrote:

> On Mon, May 08, 2006 at 08:37:18PM -0400, Daniel Eischen wrote:
>> Are you sure you're not talking about mutex(9F) on Solaris ;-)
>
> I don't have an installed version of Solaris. It hates all my
> machines. Even the Dells. Heh. So I don't get to look at man pages.
> Just the source.
>
>> I can see mutex_held in Solaris 10 /lib/libthread.so.1, but I
>> don't see any rwlock_held or rwlock_owned.
>
> It'll be one of their internal interfaces.

Yeah, there wasn't anything I could see that was visible in libpthread
for rwlocks.

> I did this:
>
> <http://perforce.freebsd.org/fileDiffView.cgi?FSPC=//depot/projects/dtrace/src/include/pthread%5fnp.h,//depot/projects/dtrace/src/lib/libpthread/pthread.map,//depot/projects/dtrace/src/lib/libpthread/thread/thr%5fmutex.c,//depot/projects/dtrace/src/lib/libpthread/thread/thr%5frwlock.c&REV=2%202%202%202&ACT=edit%20edit%20edit%20edit&CH=95271>
>
> And then #defined their names/macros to ours.
>
> I hope that link works.

That looks OK, but please use _pthread_foo() and use a weak reference
to it with pthread_foo().  This convention is modeled after Solaris'
symbol naming scheme ;-).

-- 
DE


More information about the freebsd-current mailing list