Commit Graph

78 Commits

Author SHA1 Message Date
thorpej 5accaea913 Add support for Elf symbol tables to DDB, written from scratch by me.
Known to work in DDB under NetBSD/alpha.
1997-07-01 18:36:36 +00:00
thorpej 9ec5f78d39 Pass the current DDB symbol table to X_db_symbol_values(). 1997-06-26 01:19:07 +00:00
thorpej d9f8d88a35 Fixup the software single-step code (used on architectures where there
is no hardware support for single-stepping):
- Fix branch prediction and delay slot computation (for the MIPS).
- Correctly deal with branch taken vs. branch not taken cases, and
  self-branches.
- General cleanup, including types botches.
Partially from Mach 3, with a bunch of cleanup work by me.
1997-06-26 01:18:11 +00:00
thorpej 1d7e4d35d9 Update prototypes for new function signatures. Note, the ddb_init()
signature is currently different for the DB_AOUT_SYMBOLS vs. the
DB_ELF_SYMBOLS cases. (XXX)
1997-06-26 01:14:16 +00:00
thorpej 84c0797eda Use db_expr_t rather than int when reading a value from the kernel
address space, to avoid type-size problems.
1997-06-26 01:13:11 +00:00
thorpej 0ae10b0d60 In the db_breakpoint_t, use a db_expr_t to store the original instruction,
not an int.
1997-06-26 01:12:05 +00:00
thorpej 76fbbf772d A few small changes to make it easier to support non-a.out symbol table
formats in DDB:
- Reverse the sense of the symbol format #ifdef... i.e. instead of
  "#ifndef DB_NO_AOUT", use "#ifdef DB_AOUT_SYMBOLS".  This is pulled
  in from <machine/db_machdep.h>.
- Change the signature of X_db_sym_init().  Instead of int * and char *,
  it now takes void *'s for the start and end of the symbol table.
- In X_db_sym_init(), check that the pointer to the beginning of
  the symbol table is aligned.
- X_db_symbol_values() now takes a "db_symtab_t *symtab" argument.
1997-06-26 01:11:00 +00:00
thorpej c95e0b0782 Use db_expr_t rather than int in a few strategic places to avoid
type-size problems.
1997-06-26 01:06:46 +00:00
gwr 25bdbcc1dc Move some DDB stuff here from kern_clock.c and kern_proc.c 1997-05-21 19:54:00 +00:00
gwr 84e0c3eb4b Add a "kill" command that calls db_kill_proc(). 1997-05-07 18:51:58 +00:00
gwr 8ae8b46853 Add db_kill_proc(). 1997-05-07 18:50:50 +00:00
gwr ea3925f508 FIXUP_PC_AFTER_BREAK now takes an arg of type db_regs_t * 1997-02-06 21:16:28 +00:00
cgd a9295bf811 make variable pointers (in variable declaration structs) be 'long *', so
that the common case can be handled with no hassles on all machines.
fix up the various internal variables which are also exported via sysctl
(and which therefore must be 'int's) to do the right thing via a special
read/write function.
1997-02-04 00:33:32 +00:00
cgd bd0be84b0a fix printf format widths 1997-02-04 00:32:09 +00:00
mycroft 12da023cd4 db_expr_t became a long. 1997-02-03 23:36:09 +00:00
cgd a34fffe676 part of the SOFTWARE_SSTEP code was mips-specific. #ifdef it appropriately.
fix various 64-bitness bugs.
fix various -Wall bugs.
1997-02-03 19:57:41 +00:00
cgd 3e34fdf8ac fix various 64-bitness bugs.
fix various db_printf format bugs (long vs. int, etc.).
1997-02-03 19:57:03 +00:00
cgd 4e829562bb needs systm.h for prototypes 1997-02-03 19:56:24 +00:00
cgd 65a65d45b2 fix various 64-bitness bugs. 1997-02-03 19:56:03 +00:00
thorpej c14ce368af Define db_onpanic variable; if non-zero, the DDB will be entered when
the kernel panics.  It may be initialized to 0 with the kernel option
"DDB_ONPANIC=0", and is patchable.  It may be changed at run-time
from within the DDB (as a DDB variable) or via the ddb.onpanic sysctl
node.

Export all DDB built-in variables via sysctl.
1997-01-09 05:37:02 +00:00
fvdl d5f094e14f Make this compile with -Wcast-qual 1996-10-28 08:42:13 +00:00
christos 17f5b2a175 backout previous kprintf changes 1996-10-13 04:10:34 +00:00
christos 5476886e52 printf -> kprintf, sprintf -> ksprintf 1996-10-10 17:47:29 +00:00
christos 3f15a06497 Recognize %.2x as %02x 1996-09-25 21:03:06 +00:00
cgd 34829de7f9 change more __kprintf__ format attributes to use __kprintf_attribute__,
rather than just __attribute__, so they can be #defined out on non-NetBSD
versions of gcc.
1996-04-04 05:13:50 +00:00
christos 6bfb8e5ce7 Fix cut'n'paste'o in %p previous fix. 1996-04-01 17:27:14 +00:00
christos e86e25ba54 Add __kprintf__ attributes to the printf functions 1996-03-31 21:43:17 +00:00
christos 9352303b25 Recognize %p formats so that ps/m works in ddb 1996-03-31 21:42:42 +00:00
christos f9c1d40866 Fix db_printf format specifications. 1996-03-30 22:30:03 +00:00
christos 73a848c28f - Fix db_printf format args.
- Recognize ':' as recursive printf; fixes PR/835
- cleanup error(1) output.
1996-03-30 22:28:45 +00:00
christos b4a31b1fc7 Kernel version of longjmp() does not take the return value of setjmp() as
an argument. setjmp() always returns 1.
1996-03-13 21:06:38 +00:00
christos bdc697d910 Bring setjmp/longjmp prototypes into scope. 1996-03-07 14:33:39 +00:00
gwr 5688147b3a Eliminate dependency on /usr/include/* 1996-02-27 20:54:43 +00:00
gwr eebcc06b89 eliminate setjmp.h 1996-02-13 17:39:01 +00:00
christos 8c2e3b4b11 DDB prototype changes. 1996-02-05 01:56:47 +00:00
cgd f5655b153b fix paste-o 1995-11-24 22:13:08 +00:00
cgd 5cd2526d5c db_lastsym (cast from pointer) should be long not int. db_maxoff -> db_expr_t 1995-11-23 01:42:08 +00:00
gwr e3c55a3fdd Need to include <vm/vm.h> 1995-10-26 14:52:33 +00:00
mycroft c32738aa00 Fix nits pointed out by GCC 2.7. 1995-10-16 05:28:14 +00:00
gwr e7f3fdcd35 Avoid printing values as "end+0x...." 1995-05-24 20:21:00 +00:00
gwr 138e648f63 Leave db_recover as it was on entry to avoid endless "exception in ddb"...
(Don't need to frob it at all here because db_command_loop does it.)
1994-12-02 06:07:37 +00:00
gwr df82cd38bb Make x/a print the address; simplify slightly. 1994-11-17 04:51:50 +00:00
gwr 21a1e8e747 When use default form when printing location (i.e. after step).
Use less space printing longs (so you can fit four per line).
1994-11-14 20:40:04 +00:00
mycroft f77d6c1435 Remove bogus definition of cnpollc(). 1994-10-26 17:57:50 +00:00
mycroft 4f0f8fdfc4 db_error() does not return. 1994-10-09 08:56:23 +00:00
mycroft 72fa9c8429 Get rid of unneeded `extern's. 1994-10-09 08:41:20 +00:00
mycroft 07dbafe712 Use BYTE_ORDER, not BYTE_[LM]SF. 1994-10-09 08:37:35 +00:00
mycroft 9085601009 Clean up #includes. 1994-10-09 08:29:55 +00:00
mycroft da4e97dcc4 Add prototypes. 1994-10-09 08:19:29 +00:00
mycroft 17ac077f4b Fix some weird formatting. 1994-10-06 05:20:42 +00:00