[PATCH v3 0/7] Thread handle to thread info mapping
Kevin Buettner
kevinb@redhat.com
Wed Jul 19 00:42:00 GMT 2017
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 v2 version of these patches and found a number
of problems. I believe I have addressed all of these in this new
patch set.
Pedro noticed a fundamental problem with v2 patch series - the
mapping operation did not take into account the inferior! After a
fork, the parent and the child will have the same sets of thread
handles at the same addresses. These v3 patches also address this
problem.
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. Additional work will be
required, over time, for other thread targets.
Part 2 adds a python interface for the mechanism introduced in part 1.
Part 3 is a documentation patch. It has been adjusted to address Eli's
concerns in an earlier patch series. Simon also proposed some changes
which I've incorporated.
Part 4 adds a test case. I've incorporated Simon's suggestions from
his review of the v2 patchset.
Part 5 is a bug fix for a problem discovered while working on part 6.
Part 6 adds support for remote targets.
Part 7 is a documentation patch for the remote protocol changes that
were implemented in part 6.
More information about the Gdb-patches
mailing list