This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v4 0/7] Thread handle to thread info mapping


This patch set introduces support for mapping thread handles to the
thread_info structs which GDB uses to keep track of threads in the
inferiors which it's debugging.  I need this in order to find the GDB
thread which corresponds to a saved thread handle (e.g.  pthread_t)
within an implementation of a thread library built atop pthreads.  The
mechanism is general enough however to support other thread handle
representations as well.

Simon reviewed the non-documentation parts of the v3 version of this
patch set.  I think I have addressed all of his concerns from that
review.

Eli approved the two documentation patches.  There have been no
changes from v3 to v4, but I'm including them here for completeness.

Part 1 introduces a target method which maps a thread handle to
the corresponding internal GDB thread object, i.e. something of type
`struct thread_info *'.  An implementation of this new method is
provided for the Linux thread target.

Part 2 adds a python interface for the mechanism introduced in part 1.

Part 3 is a documentation patch.  As noted above, Eli has already
approved this patch which is unchanged from the v3 patch set.

Part 4 adds a test case.  I've incorporated all of Simon's suggestions
from his review of the v3 patch.  I've also added three new tests
which check the behavior of thread_from_thread_handle when passing
a bad thread handle.  After making this change, I found a problem
in part 6.

Part 5 is a bug fix for a problem discovered while working on part 6.

Part 6 adds support for remote targets.  In addition to making several
v3 changes requested by Simon, I adjusted remote_thread_handle_to_thread_info
so that would throw an exception (via a call to error()) when the handle
sizes are mismatched.

Part 7 is a documentation patch for the remote protocol changes that
were implemented in part 6.  This patch is unchanged from the v3 version
and has already been approved by Eli.

Kevin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]