If you find inaccuracies in this list, please send mail to
-bug-gdb@prep.ai.mit.edu.
+bug-gdb@prep.ai.mit.edu. If you would like to work on any of these,
+you should consider sending mail to the same address, to find out
+whether anyone else is working on it.
General To Do List
------------------
-This to do list is probably not up to date, and opinions may vary
-about the importance or even desirability of some of the items.
+This list is probably not up to date, and opinions vary about the
+importance or even desirability of some of the items.
START_INFERIOR_TRAPS_EXPECTED need never be defined to 2, since that
is its default value. Clean this up.
to get to that spot by accident. E.g. "n" over execute_command which has
an error.
-Watchpoints seem not entirely reliable, though they haven't failed me recently.
-
-"set zeroprint off", don't bother printing members of structs which are entirely
-zero. Useful for those big structs with few useful members.
+"set zeroprint off", don't bother printing members of structs which
+are entirely zero. Useful for those big structs with few useful
+members.
GDB does four ioctl's for every command, probably switching terminal modes
to/from inferior or for readline or something.
Generalize and Standardize the RPC interface to a target program,
improve it beyond the "ptrace" interface, and see if it can become a
-standard for remote debugging.
+standard for remote debugging. (This is talking about the vxworks
+interface. Seems unlikely to me that there will be "a standard" for
+remote debugging anytime soon --kingdon, 8 Nov 1994).
Remove all references to:
text_offset
both source and assembly code ("set symbol-filename on" is a partial
solution).
-xcoffexec.c should be eliminated, contents going into either exec.c
-or rs6000-nat.c.
-
investigate "x/s 0" (right now stops early) (I think maybe GDB is
using a 0 address for bad purposes internally).
-Play with RS/6000 shared libraries (using shared library tests
-listed in testsuite/TODO as a guide). (Schauer has done shared
-library stuff on most other platforms but has not touched the
-RS/6000).
-
-Make "info path" and path_comma work again (but independent of the
+Make "info path" and path_command work again (but independent of the
environment either of gdb or that we'll pass to the inferior).
Make GDB understand the GCC feature for putting octal constants in
/foo/bar.c works whether compiled by cc /foo/bar.c, or cd /foo; cc
bar.c).
-merge xcoffexec.c and exec.c (might need a simple hook or two in
-exec.c, but that's no excuse to duplicate the whole thing). Merge
-xcoffread.c and coffread.c. Use breakpoint_re_set instead of
+Merge xcoffread.c and coffread.c. Use breakpoint_re_set instead of
fixup_breakpoints.
Fix byte order and int size sins in tm-a29k.h
Make a watchpoint which contains a function call an error (it is
broken now, making it work is probably not worth the effort).
-Make SIGINT handling independent of the debugging target. Do this
-by adding a new target_send_signal which sends a signal to a running
-process. (This is to replace the calls to signal() in remote.c).
+Re-do calls to signal() in remote.c, and inflow.c (set_sigint_trap and
+so on) to be independent of the debugging target, using target_stop to
+stop the inferior. Probably the part which is now handled by
+interrupt_query in remote.c can be done without any new features in
+the debugging target.
New test case based on weird.exp but in which type numbers are not
renumbered (thus multiply defining a type). This currently causes an
PAGE_SIZE redefined warnings on AIX. Probably should be using
BFD_PAGE_SIZE throughout BFD.
+Rewrite proceed, wait_for_inferior, and normal_stop to clean them up.
+Suggestions:
+
+ 1) Make each test in wait_for_inferior a seperate subroutine
+ call.
+ 2) Combine wait_for_inferior and normal_stop to clean up
+ communication via global variables.
+ 3) See if you can find some way to clean up the global
+ variables that are used; possibly group them by data flow
+ and information content?
+
+Work out some kind of way to allow running the inferior to be done as
+a sub-execution of, eg. breakpoint command lists. Currently running
+the inferior interupts any command list execution. This would require
+some rewriting of wait_for_inferior & friends, and hence should
+probably be done in concert with the above.
+
+Add function arguments to gdb user defined functions.
+
+Add convenience variables that refer to exec file, symbol file,
+selected frame source file, selected frame function, selected frame
+line number, etc.
+
+Add a "suspend" subcommand of the "continue" command to suspend gdb
+while continuing execution of the subprocess. Useful when you are
+debugging servers and you want to dodge out and initiate a connection
+to a server running under gdb.
+
+Add stab information to allow reasonable debugging of inline functions
+(possibly they should show up on a stack backtrace? With a note
+indicating that they weren't "real"?).
+
+Modify the naked "until" command to step until past the current source
+line, rather than past the current pc value. This is tricky simply
+because the low level routines have no way of specifying a multi-line
+step range, and there is no way of saying "don't print stuff when we
+stop" from above (otherwise could just call step many times).
+
+Modify the handling of symbols grouped through BINCL/EINCL stabs to
+allocate a partial symtab for each BINCL/EINCL grouping. This will
+seriously decrease the size of inter-psymtab dependencies and hence
+lessen the amount that needs to be read in when a new source file is
+accessed.
+
+Do an "x/i $pc" after each stepi or nexti.
+
+Modify all of the disassemblers to use printf_filtered to get correct
+more filtering.
+
+Modify gdb to work correctly with Pascal.
+
+Add a command for searching memory, a la adb. It specifies size,
+mask, value, start address. ADB searches until it finds it or hits
+an error (or is interrupted).
+The GDB_TARGET_IS_HPPA kludges in partial-stab.h should be zapped sometime
+after GCC-2.7 has been released (whenever we decide corner case debugging
+problems with GCC-2.6 compiled code are not important).
+# Local Variables:
+# mode: text
+# End: