]> Git Repo - binutils.git/blobdiff - gdb/TODO
* annotate.texi (Breakpoint Info): Document annotation of header
[binutils.git] / gdb / TODO
index c09283ad2b5be397b0bb54eace1035b2db17cd51..eed910746611081ae5696ae11f45d92efeb645c0 100644 (file)
--- a/gdb/TODO
+++ b/gdb/TODO
 Things to do for Mach
 ---------------------
 
-This section is up to date as of 28 Oct 1993.
-
-All my attempted compilation was on douglas.gnu.ai.mit.edu.  
+Note: If mach_port_t is undefined, you have mach2 headers instead of
+mach3 headers.  Get the mach3 headers or typedef it to unsigned int.
 
 0.  Get it to compile and run again, especially for non-threaded
 programs (some of the following are sub-tasks for this).
@@ -38,22 +37,16 @@ the hooks for PREPARE_TO_PROCEED and ATTACH_TO_THREAD, which I haven't
 merged--can these go in target_resume()?
 
 4.  BFD problem--"Undefined symbol _aout_32_swap_exec_header_in".
+Believed to be fixed (fix not yet tested with GDB).
 
 5.  The linker complains about mfree and so on being multiply defined.
-As one version is in a library, this seems like a linker bug.  But I
-think changing MMALLOC_LIB to MMALLOC in the .mh files is all that is
-necessary to fix it.
+Believed to be fixed (fix not yet tested).
 
 6.  i386_mach3_float_info and register_addr were undefined in the
 link.  I haven't investigated, but probably just another easy
-configuration thing or something.
-
-7.  I couldn't find mach_port_t in any of the headers in
-/usr/include/*.h or /usr/include/mach/*.h (I think those are the two
-places I tried).  Typedeffing it to void * in nm-m3.h seemed to work,
-but of course that's hardly an elegant solution.
+configuration thing or something. (possibly already fixed).
 
-8.  Implement the features which CMU gdb has which the main GDB does
+7.  Implement the features which CMU gdb has which the main GDB does
 not.  This could be done by getting paperwork from CMU and merging
 their changes, or by reimplementing them.
 
@@ -81,7 +74,16 @@ breakpoints that don't have to be removed to step over them.
 
 Speed up watchpoints by using debug registers, page table diddling (on
 SunOS4, can call mprotect() in the inferior; on other machines can do
-something simpler), etc.
+something simpler), etc.  Note that you need to detect a
+"fast-watchable expression" (i.e., if watching "*p", then either a
+change to the address pointed to by p or a change to p itself which
+causes the value of *p to change, is a watchpoint hit).  It is
+possible we will also someday want extensions which are
+lower-level--"read from these addresses", "write to these addresses",
+etc., but there is no consensus about just how important these are and
+exactly what form they would take.  There is a consensus that the
+existing watchpoint semantics should use hardware assists when
+available.
 
 Update gdbint.texinfo to include doc on the directory structure and 
 the various tricks of building gdb.
@@ -217,9 +219,6 @@ Eliminate separate declarations of registers[] everywhere.
 
 "ena d" is ambiguous, why?  "ena delete" seems to think it is a command!
 
-Line numbers are off in some spots.  In proceed() at 1st "oneproc = 1",
-it seems to run that statement, but it doesn't actually.
-
 Perhaps move the tdep, xdep, and nat files, into the config
 subdirectories.  If not, at least straighten out their names so that
 they all start with the machine name.
@@ -337,4 +336,5 @@ stop the remote system when the GDB user types ^C (like remote.c
 does).  For ebmon, use ^Ak.
 
 Possible feature: A version of the "disassemble" command which shows
-both source and assembly code.
+both source and assembly code ("set symbol-filename on" is a partial
+solution).
This page took 0.026438 seconds and 4 git commands to generate.