History log of /freebsd-9.3-release/gnu/usr.bin/gdb/libgdb/fbsd-threads.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 220043 26-Mar-2011 kib

Print the raw value of si_code, that is esp. useful for undecoded values.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# 218822 18-Feb-2011 dim

Merge binutils 2.17.50 to head. This brings a number of improvements to
x86 CPU support, better support for powerpc64, some new directives, and
many other things. Bump __FreeBSD_version, and add a note to UPDATING.

Thanks to the many people that have helped to test this.

Obtained from: projects/binutils-2.17


# 215679 22-Nov-2010 attilio

Add the ability for GDB to printout the thread name along with other
thread specific informations.

In order to do that, and in order to avoid KBI breakage with existing
infrastructure the following semantic is implemented:
- For live programs, a new member to the PT_LWPINFO is added (pl_tdname)
- For cores, a new ELF note is added (NT_THRMISC) that can be used for
storing thread specific, miscellaneous, informations. Right now it is
just popluated with a thread name.

GDB, then, retrieves the correct informations from the corefile via the
BFD interface, as it groks the ELF notes and create appropriate
pseudo-sections.

Sponsored by: Sandvine Incorporated
Tested by: gianni
Discussed with: dim, kan, kib
MFC after: 2 weeks


# 209690 04-Jul-2010 kib

For "thread signal" command, print some information from siginfo when
available.

Suggested by: davidxu
MFC after: 2 weeks


# 183023 14-Sep-2008 marcel

Widen psaddr_t from uintptr_t to uint64_t. This results in an
ABI change on ILP32 platforms and relating to events. However
it's harmless on little-endian ILP32 platforms in the sense
that it doesn't cause breakages. Old ILP32 thread libraries
write a 32-bit th_p and new thread libraries write a 64-bit
th_p. But due to the fact that we have an unused 32-bit data
field right after th_p and that field is always initialized to
zero, little-endian ILP32 machines effectively have a valid
64-bit th_p by accident. Likewise for new thread libraries and
old libthread_db: little endian ILP32 is unaffected.

At this time we don't support big-endian threaded applications
in GDB, so the breakage for the ILP32 case goes unnoticed.


# 178666 29-Apr-2008 jhb

- Add a global variable 'fbsdcoreops_suppress_target' that can be set to
force the FreeBSD multithreaded core target to not register any target
for handling core dumps. This is analogous to the
'coreops_suppress_target' variable that GDB provides for suppressing the
default core dump target. KGDB will use this new variable so it can
provide its own core dump target that uses libkvm to work with vmcore
files.
- Adjust the long name and documentation of the FreeBSD multithreaded core
dump target so it better matches what GDB's core dump target uses.

MFC after: 1 week
Reviewed by: davidxu, marcel


# 166851 20-Feb-2007 emaste

Avoid writing uninitialized stack data into a thread's MMX/SSE state by
first getting the current state with td_thr_getxmmregs_p. Without this,
debugging a threaded app that uses libthr resulted in kernel panics or
spurious SIGFPEs for me.

(As of revision 1.6, sys/i386/i386/ptrace_machdep.c masks off the
reserved bits in the mxcsr register, which prevents the kernel panics.)

Architectures without PT_GETXMMREGS are not affected.

MFC after: 1 week


# 155412 07-Feb-2006 davidxu

Introduce a new proc service routine ps_linfo() to get LWP info.


# 155379 06-Feb-2006 davidxu

1. Eliminate compile warnings.
2. Add command 'thread signal' to print out current thread's signal mask
and pending signals.


# 146818 31-May-2005 dfr

Add support for XMM registers in GDB for x86 processors that support
SSE (or its successors).

Reviewed by: marcel, davidxu
MFC After: 2 weeks


# 145960 06-May-2005 davidxu

Don't try to enable event reporting for core file, it is not writable.


# 144923 12-Apr-2005 davidxu

Report events from thread library.


# 144664 05-Apr-2005 davidxu

Print thread address.

PR: threads/76821


# 140071 11-Jan-2005 peadar

When grabbing registers for an lwp, fake the inferior's pid using the
lwp ID before invoking the underlying target operation.

For corefiles, we rely on gdb internals to do this, and it uses the
pid as an index, rather than the lwpid, so previously, backtraces
for multithreaded core files wasn't working correctly. For processes,
we currently use ptrace directly, so fixup that code to also use
the pid directly.

Discussed With: marcel, davidxu
MFC After: 4 days


# 137731 15-Nov-2004 davidxu

Always set current thread when activating thread debugger,
the current thread may already be added by fbsd_find_new_threads,
this can result that current thread is not set correctly.


# 134152 22-Aug-2004 davidxu

Fix comments, most are style fix.


# 134149 22-Aug-2004 davidxu

Fix some text messages.


# 134147 22-Aug-2004 davidxu

Add code to support statically linked binary and .core file of threaded
program.


# 133345 08-Aug-2004 davidxu

1. Add some code check if thread suspending or resuming is failed.
2. Add code to retrieve thread tls address.


# 132300 17-Jul-2004 marcel

o ps_pd{read|write} and ps_pt{read|write} are obsolete interface
functions. Only ps_p{read|write} remains.
o Remove ps_getpid. We don't need it now.


# 132244 16-Jul-2004 davidxu

ptrace's first parameter is command not pid. pointy hat to me.


# 132179 15-Jul-2004 davidxu

Add libthread_db assisted debugging support module.