GDB 6.0 and FreeBSD threads
Julian Elischer
julian at elischer.org
Sun Mar 28 23:43:51 PST 2004
Niall Douglas wrote:
> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>
> On 28 Mar 2004 at 21:13, Julian Elischer wrote:
>
>
>
> You must remember I've never been near FreeBSD before. When the man page says
> POSIX threads are supported, I assumed that meant a full implementation in
> libc_r as the man page specifies. You can see why I might think that,
> especially as libc_r doesn't complain when my code sets PTHREAD_SCOPE_SYSTEM
> which libc_r should return an error on by rights.
On this topic, There are 3 separate compatible threads libraries Libc_r
is only SCOPE_PROCESS, libpthreads implements SCOPE_PROCESS and SCOPE_SYSTEM,
and libthr is only SCOPE_SYSTEM. Do you run ALL threads as scope system, or
only some?
We don't recommend COPE_SYSTEM unless it's really needed (for example to
make some threads run at higher/lower priorities) as they are less
efficient. Benchmark your app with both types. (I think Linux is only SCOPE_SYSTEM).
>
> BTW on my FreeBSD v5.2.1 the library is called libkse, not libpthread which
> doesn't exist.
>
That's the problem with the fact that this field moving so quickly.
You should probably upgrade to -current so that you can debug these threads.
and get reeady for yur app to run on 5.3.
>
>>> You guys could seriously improve the documentation inside the man pages.
>>> Please! Just a two line paragraph would have saved me more than a day of
>>> work.
>>
>> we can't guess what question every developer is going to ask.. But possibly
>> the following paragraph in "man pthread" might be made a bit clearer...
>
>
> Typing man pthread on my FreeBSD v5.2.1 does not show the text you quoted.
> Instead it says it's in libc_r and mentions nothing else.
Hmm maybe it was added since.. oh well. At least you get to see that we
are trying to cover the blank spots.
>
>
>>> After linking to libkse and finding it really doesn't like coexisting
>>> with libc_r, I discovered the libmap.conf trick and it works now.
>>> Unfortunately I'm back to square one in that no gdb supports kse threads.
>>> This is a major problem as my code is heavily multithreaded.
>>
>> why is libc_r beinbg linked into your application? you need to select ONE
>> of the libraries and link with that..
>
>
> It's not me. I link against libGL and /it/ is linked against libc_r.
warning: if you use the nvidia GL libraries you can not yet use libpthread.
>
>
>> The threads support package is at:
>>
>> http://people.freebsd.org/~davidxu/kse/thread_db/ however, realise that
>> this is PRE_ALPHA. you are "on your own" except for direct corespondence
>> with david.
>
>
> Wicked. I had searched google for that in vain so thank you. Do I post bug
> reports here or to David directly?
directly to david.. it's still in prerelease.
Also, you MUST be running TODAY'S -current so you'll need to upgrade.
Sorry but it's an area of active development.
--
+------------------------------------+ ______ _ __
| __--_|\ Julian Elischer | \ U \/ / hard at work in
| / \ julian at elischer.org +------>x USA \ a very strange
| ( OZ ) \___ ___ | country !
+- X_.---._/ presently in San Francisco \_/ \\
v
More information about the freebsd-threads
mailing list