* inftarg.c (child_thread_alive): New function to see if a
[deliverable/binutils-gdb.git] / gdb / TODO
index 0f8f8ec9d7e415031a35f79f055546ff970edd74..5e4a53efe89f2986c1cf764bc007f23da2b50666 100644 (file)
--- a/gdb/TODO
+++ b/gdb/TODO
@@ -1,11 +1,13 @@
 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.
@@ -103,10 +105,9 @@ blockframe.c, and plenty more. (I count 634 as of 940621 - sts)
 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.
@@ -178,7 +179,9 @@ but not get too snowed if it finds references to the older copy.
 
 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
@@ -272,18 +275,10 @@ Possible feature: A version of the "disassemble" command which shows
 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
@@ -318,9 +313,7 @@ Put dirname in psymtabs and change lookup*symtab to use dirname (so
 /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
@@ -333,9 +326,11 @@ perhaps)
 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
@@ -413,5 +408,65 @@ saying whether we're attaching).
 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:
This page took 0.024357 seconds and 4 git commands to generate.