Commit Graph

108 Commits

Author SHA1 Message Date
Bruce Evans
43ea907a42 Backed out "Compensate for header dethreading [mistakes]" mistakes in
alpha files too.
2001-10-13 04:38:46 +00:00
Bruce Evans
6eabd84580 Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
Ian Dowse
3c7bcedd06 Remove the Xresume* labels from the i386 interrupt handlers; the
code in ipl.s and icu_ipl.s that used them was removed when the
interrupt thread system was committed. Debuggers also knew about
Xresume* because these labels hide the real names of the interrupt
handlers (Xintr*), and debuggers need to special-case interrupt
handlers to get the interrupt frame.

Both gdb and ddb will now use the Xintr* and Xfastintr* symbols to
detect interrupt frames. Fast interrupt frames were never identified
correctly before, so this fixes the problem of the running stack
frame getting lost in a ddb or gdb trace generated from a fast
interrupt - e.g. when debugging a simple infinite loop in the kernel
using a serial console, the frame containing the loop would never
appear in a gdb or ddb trace.

Reviewed by:	jhb, bde
2001-10-09 19:54:52 +00:00
Ian Dowse
e5cef9b61f Catch up with the SMPng reduced interrupt frame size. The corresponding
change was made to DDB months ago (i386/i386/db_trace.c revision 1.37).

Reviewed by:	bde
2001-10-08 12:46:01 +00:00
Peter Wemm
d1c276c383 Fix alpha gdb -k on "live" kernels. Use offsetof() instead of some evil
hand-rolled macros to do the same thing.
2001-09-20 06:31:23 +00:00
Bill Fenner
9c52cf5785 Don't try to dereference a kernel pointer in userland; use offsetof()
to get the right address.

This fixes kernel GDB after KSE2.

Reviewed by:	jhb, jake
2001-09-19 18:42:19 +00:00
Peter Wemm
e433a4a84b Update this to compile on the Alpha. 2001-09-14 11:08:44 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Peter Wemm
fd131b1483 Dynamically adapt to kernbase changes on crashdumps, falling back to
KERNBASE if the "kernbase" symbol is not present on older kernels.
2001-08-24 09:12:04 +00:00
David E. O'Brien
fcd08e35ec Define _KERNEL as this grubs around where no userland should go. 2001-08-16 20:47:01 +00:00
Peter Wemm
da81118c1b Use the real structure names explicitly. Note that this is mostly for
reading old a.out core files, which are totally 100% non-understandable
to the gdb floating-point reader if you have SSE turned on.

This should be the last of the world build breakers...
2001-07-12 13:01:17 +00:00
Matt Jacob
8dde563eb3 like i386, add inclusion of lock.h 2001-05-03 06:33:33 +00:00
Mark Murray
573fbdc21f Compensate for dethreaded headers.
(I have no religion about how this was done. Follow-up commits welcome)
2001-05-01 09:08:09 +00:00
Jake Burkholder
aa17032fcb - Add #defines for the symbol names of the kernel interrupt, system
call and trap entry points so they're easy to find and change
- Use the cpuhead and allcpu list to locate globaldata for the current
  cpu, rather than SMP_prvspace or __globaldata
- Use offsets into struct globaldata directly to find per-cpu variables,
  rather than symbols in globals.o

Glanced at by:	peter
2001-01-10 18:15:25 +00:00
Peter Wemm
57a0ee63f0 Fix gdb -k after jake's most recent commit. The gd_XXX symbols are now
offsets in all cases, and we have to find the base address (&__globaldata)
ourselves for the UP case as well as SMP.
2001-01-07 05:08:39 +00:00
Poul-Henning Kamp
3281461493 Use macro API to <sys/queue.h>
Submitted by:	Dima Dorfman <dima@unixfreak.org>
Reviewed by:	phk
2000-12-31 11:22:42 +00:00
Joerg Wunsch
4a24038b4c Fix an annoying message ``gdb: ptrace(PT_GETDBREGS) failed: No such process''
when using gdb on a remote target.  The fix is to restrict PT_GETDBREGS
calls to `child' and `freebsd-uthreads' targets solely.

I've been in some conversation with Brian about this, and this solution
seems to be the most appropriate one.

PR:		gnu/21685
Submitted by:	bsd
2000-12-26 20:38:46 +00:00
John Baldwin
65e26c5e18 Catch up to the new kinfo_proc. 2000-12-12 23:21:24 +00:00
David E. O'Brien
1a37aa566b Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
David E. O'Brien
3726c08892 Deal with a real PITA in that GDB 4.18 (as we imported it) requires a
`wait.h' that was in contrib/binutils/, however this wait.h went away with
bintuils 2.10.0 so I `cvs rm'ed it.  Now we find gdb will not build.  This
binutils wait.h contained nothing we didn't already have in <sys/wait.h>.
So just hack a symlink to it.
2000-11-25 13:59:49 +00:00
Daniel Eischen
ed21d82204 Sync gdb thread support with recent changes to the threads library.
Approved by:	obrien
2000-11-10 00:36:01 +00:00
Daniel Eischen
7c021a1090 Adjust to reflect recent changes in the internal layout of a struct
pthread in libc_r.

Reviewed by:	dfr
2000-10-13 22:15:19 +00:00
Joerg Wunsch
22c68d23f5 Implement the GDB counterpart to use hardware watchpoints in connection
with Brian's kernel support for i386 debug registers.  This makes
watchpoints actually usable for real-life problems.  Note: you can
only set watchpoints on 1-, 2- or 4-byte locations, gdb automatically
falls back to [sloooow] software watchpoints when attempting to use
them on variables which don't fit into this category.  To circumvent
this, one can use the following hack:

watch *(int *)0x<some address>

David O'Brien is IMHO considering to get this fully integrated into the
official GDB, but as long as we've got the i386/* files sitting around
in our private FreeBSD tree here, the feature can now be tested more
extensively, so i'm committing this for the time being.

This work has been done in order to debug a tix toolkit problem, thus
it has been sponsored by teh Deutsche Post AG.

Reviewed by:	bsd (not the operating system, but Brian :-)
2000-08-17 16:27:26 +00:00
Jake Burkholder
e39756439c Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
Jake Burkholder
740a1973a6 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
David E. O'Brien
7f3d7f20f8 Pull the switch and activate our Binutils to a snapshot of the up and
comming 2.10 release.
2000-05-22 08:09:42 +00:00
David E. O'Brien
56d2e40e38 callback.c is not really used, nor is it part of GDB 4.18. 2000-05-17 19:30:59 +00:00
Doug Rabson
a052d1ca88 Add support for debugging programs using libc_r's implementation of
pthreads.
2000-04-29 09:03:49 +00:00
Gary Jennejohn
f367e39024 Add a '+' to the first LDADD, otherwise it clobbers the LDADD in
Makefile.alpha such that the -lkvm disappears and the link fails.

This time I tested it, honest :)
2000-04-04 11:12:55 +00:00
Bruce Evans
6a18627411 Use ${dir}/libfoo.a' instead of -L${dir} -lfoo' for local static
libraries in LDADD so that `make checkdpadd' doesn't report non-errors.

Fixed some style bugs (the usual ones for DPADD and LDADD, and misformatting
of $FreeBSD$).
2000-03-27 18:02:04 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
Andrew Gallatin
4331c85a32 Live & postmortem kernel debugging support for the alpha platform.
This was modeled after NetBSD's kernel debugging support.

Reviewed by: Doug Rabson <dfr@nlsystems.com>
1999-06-21 15:00:15 +00:00
Dmitrij Tejblum
8ea9dacf53 Fix placement of signal trampoline. 1999-06-13 19:41:50 +00:00
Bruce Evans
583393551b Fixed some regressions in rev.1.40:
- rev.1.39 was clobbered.
- PROG was defined twice, once as nm.
- style bugs.
1999-05-11 08:07:51 +00:00
Doug Rabson
0ba2f2a9ba Implement corefiles for FreeBSD/alpha. This requires a separate change to
the kernel which is awaiting review.
1999-05-07 21:49:06 +00:00
Doug Rabson
657b29aa29 Add core-regset.c to the Makefile to allow debugging elf corefiles. 1999-05-07 19:53:05 +00:00
Doug Rabson
5c3925f8f9 * Add bmake framework for using gdb alongside binutils. The old bmake
framework was repository copied from gnu/usr.bin/gdb.
* Add alpha support.
1999-05-02 11:32:14 +00:00
Luoqi Chen
d53bd1ea8d Make gdb work with kernel after the SMP vmspace sharing changes. 1999-04-28 01:27:55 +00:00
Bruce Evans
146fe9aaf2 echo -> ${ECHO}. 1999-04-03 07:04:53 +00:00
Bruce Evans
cc4fb50148 Fixed breakage of gdbreplay's and gdbserver's BINDIR in previous commit.
They may belong in /usr/libexec/{aout,elf}, but objformat doesn't
support that.

Fixed bogus `?=' assignments for BINDIR.
1998-10-15 14:15:09 +00:00
John Polstra
e8f80c1aca Fix GDB so that it can handle ELF core dumps. 1998-09-14 22:49:02 +00:00
John Birrell
050c06f9e2 Missed some BINFORMATs. Fingers! Can't live with 'em. Can't live without 'em. 1998-08-30 02:46:35 +00:00
John Birrell
0e94cd8261 BINFORMAT -> OBJFORMAT ready for E-day. I tossed a coin to decide this
one. We'll probably need to revisit gdb after E-day.
1998-08-30 02:01:07 +00:00
Bruce Evans
09d693f205 Fixed printf format errors. 1998-06-30 20:48:45 +00:00
Bruce Evans
e7c80443b4 Don't attempt to read process context from the kernel when (the
kernel's) curproc is null.  This fixes endless recursion in
xfer_umem() for attempts to read from user addresses, in particular
for attempts to read %fs and %gs from the pcb for `info reg'.
1998-05-12 16:49:13 +00:00
Bruce Evans
e4e61e7b97 Simplified using new yacc rules. This is cosmetic - the old rules
worked because .ORDER prevented problems from concurrent generation
of multiple parsers (and their headers), and there were no missing
dependencies because the generated headers were not actually used.
1998-05-04 17:56:22 +00:00
Bruce Evans
2b3c4dd72c Fixed apparent bitrot (=' changed to ?=') in the definition of BINDIR
in the previous commit.  Just don't define it here at all.  This works
now that the default is inherited properly.
1998-05-01 14:44:00 +00:00
Doug Rabson
0f9bd807c9 Add support for ELF shared libraries. Also use bfd from the binutils in that
case rather than gdb's own copy.
1998-04-30 08:03:50 +00:00
Bruce Evans
3f9af06bf9 Removed vestiges of use of beforedepend target. 1998-03-19 15:21:19 +00:00
Bruce Evans
6dd8984675 Use foo/bar.a' instead of -Lfoo -lbar' for linking to static internal
libraries, so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.
1998-03-07 08:55:00 +00:00