From: <Paul_Koning@Dell.com>
To: <jhb@freebsd.org>
Cc: <gdb-patches@sourceware.org>, <binutils@sourceware.org>
Subject: Re: [PATCH 0/6] Support kernel-backed user threads on FreeBSD
Date: Tue, 12 Jan 2016 19:07:00 -0000 [thread overview]
Message-ID: <8465FE3C-92E3-4B33-820E-311526677F37@dell.com> (raw)
In-Reply-To: <5157941.xsGge3HdBb@ralph.baldwin.cx>
> On Jan 12, 2016, at 1:55 PM, John Baldwin <jhb@freebsd.org> wrote:
>
> On Monday, January 11, 2016 10:53:50 AM John Baldwin wrote:
>> This set of patches adds support for examining kernel-backed user threads on
>> FreeBSD. There is more history in a comment in fbsd-nat.c, but this target
>> uses ptrace directly (instead of libthread_db) to support the current
>> threading library (libthr) on FreeBSD which uses a kernel thread for each
>> user thread. Support for thread names in both core dumps (via FreeBSD's
>> OS-specific NT_THRMISC core note) and live is supported as is scheduler
>> locking. gcore generates register notes for each thread as well.
>>
>> The first two patches are to binutils to support FreeBSD-specific core
>> notes. The last four are to GDB.
>
> (Apologies for fubar'ing the threading on the patches in this series.)
>
> One other note I forgot to mention is that currently I leave the ptid for
> single-threaded processes as (pid, 0, 0) (i.e. I only use LWPs in PTIDs
> when there is more than one thread). What is the best practice? Should
> I always use LWPs in ptids instead?
I would say always use the LWP.
For one thing, the process might start out single-threaded, then at some point midway through the debug session start more threads. If you always use the LWP, the main thread doesn't change identity. But if you fake the PTID to (pid,0,0) then that ID no longer applies once the new thread starts. You'd end up with the confusion of apparently seeing a thread disappear and a new one appear in its place, when in reality that's just the main thread continuing in existence.
paul
next prev parent reply other threads:[~2016-01-12 19:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-11 18:53 John Baldwin
2016-01-12 18:55 ` John Baldwin
2016-01-12 19:06 ` Mark Kettenis
2016-01-12 19:07 ` Paul_Koning [this message]
2016-01-12 19:24 ` Pedro Alves
2016-01-12 21:08 ` John Baldwin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8465FE3C-92E3-4B33-820E-311526677F37@dell.com \
--to=paul_koning@dell.com \
--cc=binutils@sourceware.org \
--cc=gdb-patches@sourceware.org \
--cc=jhb@freebsd.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox