Revert previous ser-unix change. Locks up serial device.
[deliverable/binutils-gdb.git] / gdb / TODO
index b3fdbc72c4ae94996e007853c1132d7d90f66912..d59a8dfc8c8ebb98c935662a2c7972b468cf732d 100644 (file)
--- a/gdb/TODO
+++ b/gdb/TODO
@@ -11,17 +11,6 @@ Below is a list of problems identified during the GDB 5.0 release
 cycle.  People hope to have these problems fixed in a follow-on
 release.
 
-(The names in paren indicate people that posted the original problem.)
-
---
-
-GDB requires GCC to build under IRIX
-
-IRIX, being more pedantic than GCC reports as errors certain
-assignments that GCC treats as warnings.
-
-This can be worked around by building GDB with the GCC compiler.
-
 --
 
 The BFD directory requires bug-fixed AUTOMAKE et.al.
@@ -35,22 +24,7 @@ and  ftp://sourceware.cygnus.com/pub/binutils
 
 --
 
-Possible regressions with some devel GCCs.
-http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00475.html
-
-gcc-2.95.2 outputs a line note *before* the prologue (and one for the
-closing brace after the epilogue, instead of before it, as it used to
-be). By disabling the RTL-style prologue generating mechanism
-(undocumented GCC option -mno-schedule-prologue), you get back the
-traditional behaviour.
-http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00510.html
-
-This should now be fixed.
-
---
-
 RFD: infrun.c: No bpstat_stop_status call after proceed over break?
-(Peter Schauer)
 http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00665.html
 
 GDB misses watchpoint triggers after proceeding over a breakpoint on
@@ -101,6 +75,10 @@ Dan Nicolaescu writes:
 > It stops in a function that is defined as weak, not in the function
 > that is actualy run... 
 
+--
+
+GDB 5.0 doesn't work on Linux/SPARC
+
 --
 
                Code Cleanups: Next Release
@@ -117,33 +95,35 @@ Patches in the database.
 
 --
 
-Purge PARAMS
+Purge PARAMS.
 
 Eliminate all uses of PARAMS in GDB's source code.
 
 --
 
-Elimination of make_cleanup_func. (Andrew Cagney)
+Fix copyright notices.
 
-make_cleanup_func elimination
-http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00791.html
-http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00814.html
+Turns out that ``1998-2000'' isn't considered valid :-(
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00467.html
 
 --
 
-               Code Cleanups: General
-               ======================
+Find something better than DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC to
+determine the default isa/byte-order.
 
-The following are more general cleanups and fixes.  They are not tied
-to any specific release.
+--
+
+Rely on BFD_BIG_ENDIAN and BFD_LITTLE_ENDIAN instead of host dependant
+BIG_ENDIAN and LITTLE_ENDIAN.
 
 --
 
-ATTRIBUTE_UNUSED
+               Code Cleanups: General
+               ======================
 
-The need for this as almost been eliminated.  The next version of GCC
-(assuming cagney gets the relevant patch committed) will be able to
-supress unused parameter warnings.
+The following are more general cleanups and fixes.  They are not tied
+to any specific release.
 
 --
 
@@ -165,6 +145,9 @@ file at a time.
 Elimination of ``(catch_errors_ftype *) func''.
 
 Like make_cleanup_func it isn't portable.
+http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00791.html
+http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00814.html
+
 
 --
 
@@ -258,7 +241,84 @@ suffer bit rot.
 
 Updated readline
 
-Readline 4.? is out.  A merge wouldn't hurt.
+Readline 4.? is out.  A merge wouldn't hurt.  Patches are in:
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00436.html
+
+--
+
+Deprecate "fg".  Apparently ``fg'' is actually continue.
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00417.html
+
+--
+
+Deprecate current use of ``floatformat_unknown''.
+
+Require all targets to explicitly provide their float format instead
+of defaulting to floatformat unknown.  Doing the latter leads to nasty
+bugs.
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00447.html
+
+--
+
+Rationalize floatformat_to_double() vs floatformat_to_doublest().
+
+Looks like GDB migrated floatformat_to_double() to libiberty but then
+turned around and created a ..._to_doublest() the latter containing
+several bug fixes.
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00472.html
+
+--
+
+Move floatformat_ia64_ext to libiberty/include floatformat.[ch].
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00466.html
+
+--
+
+Follow through `make check' with --enable-shared.
+
+When the srcware tree is configured with --enable-shared, the `expect'
+program won't run properly.  Jim Wilson found out gdb has a local hack
+to set LD_LIBRARY_PATH, but, AFAIK, no other project has been hacked
+similarly.
+
+http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00845.html
+
+--
+
+The ``maintenance deprecate set endian big'' command doesn't notice
+that it is deprecating ``set endian'' and not ``set endian big'' (big
+is implemented using an enum).  Is anyone going to notice this?
+
+--
+
+When tab expanding something like ``set arch<tab>'' ignore the
+deprecated ``set archdebug'' and expand to ``set architecture''.
+
+--
+
+Eliminate ``arm_register_names[j] = (char *) regnames[j]'' and the
+like from arm-tdep.c.
+
+--
+
+Fix uses of ->function.cfunc = set_function().
+
+The command.c code calls sfunc() when a set command.  Rather than
+change it suggest fixing the callback function so that it is more
+useful.  See:
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-06/msg00062.html
+
+See also ``Fix implementation of  ``target xxx''.'' below.
+
+--
+
+IRIX 3.x support is probably broken.
 
 --
 
@@ -298,6 +358,9 @@ Convert GDB build process to AUTOMAKE.
 
 See also sub-directory configure below.
 
+The current convention is (kind of) to use $(<header>_h) in all
+dependency lists.  It isn't done in a consistent way.
+
 --
 
 Cleanup configury support for optional sub-directories.
@@ -331,6 +394,28 @@ Document trace machinery
 
 --
 
+Document ui-out and ui-file.
+
+http://sourceware.cygnus.com/ml/gdb/2000-04/msg00121.html
+
+--
+
+Update texinfo.tex to latest?
+
+
+
+--
+
+Incorporate agentexpr.texi into gdb.texinfo
+
+agentexpr.texi mostly describes the details of the byte code used for
+tracepoints, not the internals of the support for this in GDB.  So it
+looks like gdb.texinfo is a better place for this information.
+
+http://sourceware.cygnus.com/ml/gdb-patches/2000-04/msg00566.html
+
+--
+
 Document overlay machinery.
 
 --
@@ -367,6 +452,16 @@ http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00034.html
 
 --
 
+Change the (char *list[]) to (const char (*)[]) so that dynamic lists can
+be passed.
+
+--
+
+When tab expanding something like ``set arch<tab>'' ignore the
+deprecated ``set archdebug'' and expand to ``set architecture''.
+
+--
+
 Replace the code that uses the host FPU with an emulator of the target
 FPU.
 
@@ -481,19 +576,22 @@ Modify gdb to work correctly with Pascal.
 
 Re: Various C++ things
 
-value_headof/value_from_vtable_info are worthless, and should be removed.
-The one place in printcmd.c that uses it should use the RTTI functions.
+value_headof/value_from_vtable_info are worthless, and should be
+removed.  The one place in printcmd.c that uses it should use the RTTI
+functions.
 
-RTTI for g++ should be using the typeinfo functions rather than the vtables.
-The typeinfo functions are always at offset 4 from the beginning of the vtable,
-and are always right. The vtables will have weird names like E::VB sometimes.
-The typeinfo function will always be "E type_info function", or somesuch.
+RTTI for g++ should be using the typeinfo functions rather than the
+vtables.  The typeinfo functions are always at offset 4 from the
+beginning of the vtable, and are always right. The vtables will have
+weird names like E::VB sometimes.  The typeinfo function will always
+be "E type_info function", or somesuch.
 
-value_virtual_fn_field needs to be fixed so there are no failures for virtual
-functions for C++ using g++.
+value_virtual_fn_field needs to be fixed so there are no failures for
+virtual functions for C++ using g++.
 
-Testsuite cases are the major priority right now for C++ support, since i have
-to make a lot of changes that could potentially break each other.
+Testsuite cases are the major priority right now for C++ support,
+since i have to make a lot of changes that could potentially break
+each other.
 
 --
 
@@ -545,6 +643,18 @@ Add the cycle step command.
 
 http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00237.html
 
+--
+
+Resolve how to scale things to support very large packets.
+
+--
+
+Resolve how to handle a target that changes things like its endianess
+on the fly - should it be returned in the ``T'' packet?
+
+Underlying problem is that the register file is target endian.  If the
+target endianess changes gdb doesn't know.
+
 --
 
                        Symbol Support
@@ -582,6 +692,39 @@ conversions.
 Consequence of recent symtab clarification.  No marks for figuring out
 who maintains the MIPS.
 
+--
+
+                       Testsuite Support
+                       =================
+
+There are never to many testcases.
+
+--
+
+Better thread testsuite.
+
+--
+
+Better C++ testsuite.
+
+--
+
+Look at adding a GDB specific testsuite directory so that white box
+tests of key internals can be added (eg ui_file).
+
+--
+
+Separate out tests that involve the floating point (FP).
+
+(Something for people brining up new targets).  FP and non-fp tests
+are combined.  I think there should be set of basic tests that
+exercise pure integer support and then a more expanded set that
+exercise FP and FP/integer interactions.
+
+As an example, the MIPS, for n32 as problems with passing FP's and
+structs.  Since most inferior call tests include FP it is difficult to
+determine of the integer tests are ok.
+
 --
 
                Architectural Changes: General
@@ -778,11 +921,12 @@ symtab file.
 
 --
 
-Fix ``set architecture <tab>''
+Fix target_signal_from_host() etc.
 
-This command should expand to a list of all supported architectures.
-At present ``info architecture'' needs to be used.  That is simply
-wrong.  It involves the use of add_set_enum_cmd().
+The name is wrong for starters.  ``target_signal'' should probably be
+``gdb_signal''.  ``from_host'' should be ``from_target_signal''.
+After that it needs to be multi-arched and made independant of any
+host signal numbering.
 
 --
 
@@ -819,6 +963,12 @@ name.
 
 --
 
+Make MIPS pure multi-arch.
+
+It is only at the multi-arch enabled stage.
+
+--
+
 Truly multi-arch.
 
 Enable the code to recognize --enable-targets=.... like BINUTILS does.
@@ -856,8 +1006,7 @@ gdb_stdtarg is easily confused with gdb_stdarg.
 
 Extra ui_file methods - dump.
 
-These are for debugging / testing.  An aside is to set up a whitebox
-testsuite for key internals such as ui_file.
+Very useful for whitebox testing.
 
 --
 
@@ -972,6 +1121,36 @@ The way GDB throws errors and records them needs a re-think.  ui_out
 handles the correct output well.  It doesn't resolve what to do with
 output / error-messages when things go wrong.
 
+--
+
+do_setshow_command contains a 1024 byte buffer.
+
+The function assumes that there will never be any more than 1024 bytes
+of enum.  It should use mem_file.
+
+--
+
+Should struct cmd_list_element . completer take the command as an
+argument?
+
+--
+
+Should the bulk of top.c:line_completion_function() be moved to
+command.[hc]?  complete_on_cmdlist() and complete_on_enums() could
+then be made private.
+
+--
+
+top.c (execute_command): Should a command being valid when the target
+is running be made an attribute (predicate) to the command rather than
+an explicit set of tests.
+
+--
+
+top.c (execute_command): Should the bulk of this function be moved
+into command.[hc] so that top.c doesn't grub around in the command
+internals?
+
 --
 
                Architectural Change: Async
@@ -1018,6 +1197,9 @@ command) useful information such as the actual command and a context
 for that command.  Other changes such as making ``struct command''
 opaque may also help.
 
+See also:
+http://sourceware.cygnus.com/ml/gdb-patches/2000-06/msg00062.html
+
 --
 
 Make "target xxx" command interruptible.
@@ -1038,6 +1220,24 @@ to a server running under gdb.
 
 --
 
+                       TODO FAQ
+                       ========
+
+Frequently requested but not approved requests.
+
+--
+
+Eliminate unused argument warnings using ATTRIBUTE_UNUSED.
+
+The benefits on this one are thought to be marginal - GDBs design
+means that unused parameters are very common.  GCC 3.0 will also
+include the option -Wno-unused-parameter which means that ``-Wall
+-Wno-unused-parameters -Werror'' can be specified.
+
+--
+
+
+
                        Legacy Wish List
                        ================
 
@@ -1070,6 +1270,11 @@ re-evaluation" after new symbols are loaded.
 
 Make single_step() insert and remove breakpoints in one operation.
 
+[If this is talking about having single_step() insert the breakpoints,
+run the target then pull the breakpoints then it is wrong.  The
+function has to return as control has to eventually be passed back to
+the main event loop.]
+
 --
 
 Speed up single stepping by avoiding extraneous ptrace calls.
This page took 0.030617 seconds and 4 git commands to generate.