183 Commits

Author SHA1 Message Date
peter
2c2074d8c3 MFC: compensate for removal of pcb->pcb_rflags. 2005-11-15 00:26:31 +00:00
marcel
69a6bd1aa3 MFC 1.10: Fix dump of the unread portion of the kernel message buffer.
PR: bin/87964
Submitted by: Frank Mayhar      frank at exit dot com
2005-11-05 19:13:08 +00:00
marcel
b5bca4807d Mega-MFC:
o  Manpage type fix:
	kgdb/kgdb.1: 1.8

o  Unwind across trapframes:
	kgdb/kgdb.h: 1.3
	kgdb/kthr.c: 1.3
	kgdb/main.c: 1.9
	kgdb/trgt.c: 1.4
	kgdb/trgt_alpha.c: 1.3, 1.4
	kgdb/trgt_amd64.c: 1.3, 1.4, 1.5
	kgdb/trgt_i386.c: 1.3, 1.4, 1.5
	kgdb/trgt_ia64.c: 1.3, 1.4
	kgdb/trgt_sparc64.c: 1.4, 1.5, 1.6
	libgdb/Makefile: 1.10
	libgdb/frame-unwind.diff: 1.1

Approved by: re (scottl)
2005-09-15 05:32:11 +00:00
cvs2svn
44440d8f55 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-09-11 17:50:21 +00:00
marcel
58aac0d793 MFC 1.3: Fix backtraces.
Approved by: re (kensmith)
2005-08-19 04:02:34 +00:00
marcel
b013c49542 Partial MFC rev 1.3:
o  Remove the obscure tid command, because it does what the thread
     command does, but worse.
  o  Move the PID to the extra thread info, where it makes sense and
     where it doesn't confuse users. The extra thread info holds some
     process information, to which the PID belongs.
  o  Implement the to_find_new_threads target method by having it call
     the target beneath us if we're not using KVM. This makes sure that
     new threads are found when using the remote target.

  o  Fix various core dump scenarios:
     -  Implement the to_files_info target method. Previously the
        'info target' command would cause a NULL pointer dereference.
     -  Don't assume there's a current thread. We're not initialized
        in all cases. This prevents a NULL pointer dereference.
     -  When we're not ussing KVM, have the to_xfer_memory target
        method call the target beneath us. This avoids calling into
        KVM with a NULL pointer.

Approved by: re (kensmith)
2005-08-16 03:29:22 +00:00
marcel
f5b654576c MFC 1.8:
o  As mentioned in the previous commit: make the KVM error buffer
   static.
o  Register a function with atexit(3) to close the KVM object if
   we have one open.
o  Show the unread portion of the kernel's message buffer before
   presenting the prompt. It's bound to provide some useful info.
o  Don't call kgdb_target() twice. It results in having all threads
   listed twice.

Approved by: re (hrs)
2005-08-16 00:29:26 +00:00
peter
756b97ccf0 kvm_openfiles() uses the supplied buffer for storing error messages
in future calls, so we can't free it here.  The right place to free the
buffer would be to be after kvm_close(), but we don't do that yet.  A
static buffer would work too.

Reviewed by:  marcel (who has other plans for this anyway)
Approved by:  re
2005-06-24 00:50:12 +00:00
dfr
874478d7fd Add support for XMM registers in GDB for x86 processors that support
SSE (or its successors).

Reviewed by: marcel, davidxu
MFC After: 2 weeks
2005-05-31 09:43:04 +00:00
davidxu
f305634ad3 Don't try to enable event reporting for core file, it is not writable. 2005-05-06 11:01:15 +00:00
davidxu
a072bd5e74 Report events from thread library. 2005-04-12 03:04:04 +00:00
davidxu
f49d76552d Print thread address.
PR: threads/76821
2005-04-05 11:40:58 +00:00
marcel
d810912cf5 Implement and document the -q and -f options with their corresponding
long form (-quiet and -fullname resp.) Bump documentation date.

PR: bin/78031
MFC after: 5 days
2005-03-02 18:40:04 +00:00
obrien
33b81ea30f .It the -v option. 2005-03-01 20:41:38 +00:00
kan
a73cb310d2 Restore r1.2 change to use TARGET_ARCH.
Submitted by:	kris
2005-02-20 23:06:03 +00:00
kan
858ff332fa Attempt to make kgdb little more useful and easy to use. Properly initialize
it to recognise what ABI  to use on amd64 (and possibly others) platform.
Display PID and process name as a part of the 'info threads' output, TIDs
alone are too confusing. Introduce new commmands 'tid <tid>' and 'proc <pid>'
to accompany gdb's default 'thread <thread num>' to make the task of switching
between different contexts easier.
2005-02-20 22:55:07 +00:00
marcel
9a64d9e899 Remove mention of the -k and -wcore options because they don't
exist anymore.

PR: doc/70943
Submitted by: Jun <junsu at delphij dot net>
Reviewed by: delphij
2005-02-15 07:13:51 +00:00
obrien
b8e733bd9d Use the system gnuregex library vs. building GNU regex bits into libiberty
and using them.

Reviewed by:	marcel,imp
Desired by:	ache
2005-02-14 12:10:14 +00:00
ru
f31866b7e7 Markup nits. 2005-01-13 10:07:51 +00:00
peadar
778dfbe1e7 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
2005-01-11 14:53:16 +00:00
ru
cec60429bb Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
marcel
89c49e5178 Source changes to allow building a cross-debugger. Move solib.c and
solib-svr4.c to the MD makefiles because they are native files for
alpha and sparc64, but target files for amd64, i386 and ia64.

Note that kgdb(1) does not yet build as a cross-debugger due to
libkvm.
2004-12-05 06:59:01 +00:00
marcel
97caf4c3a0 Fix previous commit. GDB_CROSS_DEBUGGER needs to be defined for all
subdirectories.
2004-12-05 04:08:22 +00:00
marcel
4f1dd53060 Makefile (only) changes to allow building a cross debugger. 2004-11-30 05:12:37 +00:00
marcel
b9ca717294 s/MACHINE_ARCH/TARGET_ARCH/. We use TARGET_ARCH to pick the MD files
for libgdb and should do so here as well.
2004-11-30 02:56:53 +00:00
joerg
48004ebd9c [Sorry, forgot to commit my source changes in my previous commit.]
Document all options and general usage.

Implement the -a option to bump the annotation_level.  This improves
the Emacs gud behaviour.  You can now supply the following function

(defun gud-gdb-massage-args (file args) (cons "-a" args))

(e.g. by evaluating it from the *scratch* buffer) and get the normal
jump to the source window when browsing the stack.

We should probably eventually supply our own kgdb submode to gud.el.
2004-11-22 16:08:19 +00:00
joerg
6bcf32277d Document all options and general usage.
Implement the -a option to bump the annotation_level.  This improves
the Emacs gud behaviour.  You can now supply the following function

(defun gud-gdb-massage-args (file args) (cons "-a" args))

(e.g. by evaluating it from the *scratch* buffer) and get the normal
jump to the source window when browsing the stack.

We should probably eventually supply our own kgdb submode to gud.el.
2004-11-22 16:07:28 +00:00
joerg
d1447f497b Fix the abuse of Ar macros for designating flag options, use Fl instead. 2004-11-22 15:43:46 +00:00
davidxu
509cea0ce8 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.
2004-11-15 13:06:01 +00:00
marcel
0082ec816d Whitespace fix. 2004-11-09 06:32:37 +00:00
marcel
4f8263497b Prepare for a subsequent import: If the first letter of the filename
changes, start on a new line. Insertion of a filename will keep the
diff limited to the block of filenames that have the same first letter
instead of creating a huge diff. While here, move remote.c after the
remote-*.c files and move tui.c after the tui-*.c files. This matches
the order of ls(1) and makes it easier to compare object files created
by a stock gdb(1) build with the list of files we have here.

This is a non-functional change only.
2004-11-09 06:02:48 +00:00
ru
5db2b9d5b3 For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
ache
e389b7e70d Update to readline 5.0 2004-10-18 10:13:24 +00:00
brooks
230e08557d If the argument to the -r flag starts with a ':' or a '|', don't try to
make sure it is a device.  GDB special cases these prefixes and treats
:#### as a tcp port on localhost and executes what ever follows '|'.

This allows kgdb to debug via dconschat.

Discussed with:	marcel
2004-09-03 07:11:42 +00:00
davidxu
ef41142de6 Only compile fbsd-thread.c on amd64 and i386, other architectures
have not been tested yet.
2004-08-22 10:59:33 +00:00
davidxu
7afd3579e8 Fix comments, most are style fix. 2004-08-22 09:05:57 +00:00
davidxu
c47e28f44c Fix some text messages. 2004-08-22 08:48:56 +00:00
davidxu
9ffe386e73 Add code to support statically linked binary and .core file of threaded
program.
2004-08-22 05:53:38 +00:00
marcel
0058f637d6 Improve the usage. Without any arguments, kgdb(1) works on /dev/mem
with the currently running kernel image. Otherwise, one of -c, -n or
-r is expected for working on a particular core file (-c), working
on a saved dump (-n) or working remotely (-r). When working on a
saved dump, a kernel may be omitted.
For a remote debugging session (-r), kgdb(1) will use the specified
device.
2004-08-15 02:39:20 +00:00
davidxu
c327574af2 Initialize thread_db module. 2004-08-10 12:20:00 +00:00
davidxu
8a33af7a5a Initialize thread_db module. 2004-08-08 22:46:22 +00:00
davidxu
be987aa523 1. Add some code check if thread suspending or resuming is failed.
2. Add code to retrieve thread tls address.
2004-08-08 22:45:36 +00:00
marcel
824264d2f4 Hook kgdb into the build. 2004-07-25 05:32:50 +00:00
marcel
79ca58867f Add the beginnings of kernel debugging support. the kgdb(1) tool
is basicly a shell on top of libgdb that knows about kernel threads,
kernel modules and kvm(3). As the word "beginnings" implies, not
all of the features have been implemented yet. The tool is useful
and I'd like feedback on the taken route.

The simplest way to debug a kernel core file is:
	kgdb -n 0

This opens /var/crash/vmcore.0 with the corresponding kernel in
the object directory (kernel.debug is used if it exists).

Typical things that need to be added are:
o  Auto loading of kernel modules,
o  Handling of trapframes so that backtraces can be taken across
   them,
o  Some fancy commands to extract useful information out of a core
   file,
o  Various (probably many) other things.
2004-07-25 05:29:15 +00:00
marcel
8fa131ee77 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.
2004-07-17 17:08:13 +00:00
davidxu
9ff80f3e79 ptrace's first parameter is command not pid. pointy hat to me. 2004-07-16 06:11:48 +00:00
marcel
4990faa208 Update config.h to account for the prgregset_t and psaddr_t types
that have been added to <sys/procfs.h>. This change has no effect
because the source file that would be affected is not compiled on
FreeBSD. Hence, this is for completeness only.
2004-07-16 05:03:42 +00:00
davidxu
f478e0fbc2 Add libthread_db assisted debugging support module. 2004-07-15 04:51:04 +00:00
obrien
aedb4c2148 Prepare for upcoming Binutils house cleaning. 2004-07-06 21:55:11 +00:00
marcel
1689691aa6 We don't have to reach into binutils/doc anymore for inc-hist.diff
The file was repo copied into our doc directory.
2004-06-27 03:33:17 +00:00