Patch from David Mosberger, cleanups to improve 32b-x-64b cross support.
[deliverable/binutils-gdb.git] / gdb / TODO
CommitLineData
c906108c 1If you find inaccuracies in this list, please send mail to
2a00c9ce
AC
2gdb-patches@sourceware.cygnus.com. If you would like to work on any
3of these, you should consider sending mail to the same address, to
4find out whether anyone else is working on it.
c906108c 5
138f88c0 6
4afc966c
AC
7 Known problems in GDB 5.0
8 =========================
138f88c0 9
bc9e5bbf
AC
10Below is a list of problems identified during the GDB 5.0 release
11cycle. People hope to have these problems fixed in a follow-on
12release.
138f88c0 13
138f88c0
AC
14--
15
4fd99b5a
AC
16The BFD directory requires bug-fixed AUTOMAKE et.al.
17
18AUTOMAKE 1.4 incorrectly set the TEXINPUTS environment variable. It
19contained the full path to texinfo.tex when it should have only
20contained the directory. The bug has been fixed in the current
21AUTOMAKE sources. Automake snapshots can be found in:
22 ftp://sourceware.cygnus.com/pub/gdb/snapshots
23and ftp://sourceware.cygnus.com/pub/binutils
24
25--
26
bc9e5bbf 27RFD: infrun.c: No bpstat_stop_status call after proceed over break?
138f88c0
AC
28http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00665.html
29
bc9e5bbf
AC
30GDB misses watchpoint triggers after proceeding over a breakpoint on
31x86 targets.
32
138f88c0
AC
33--
34
67edb2c6
AC
35x86 linux GDB and SIGALRM (???)
36http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00803.html
37
bc9e5bbf
AC
38I know there are problems with single stepping through signal
39handlers. These problems were present in 4.18. They were just masked
40because 4.18 failed to recognize signal handlers. Fixing it is not
41easy, and will require changes to handle_inferior_event(), that I
42prefer not to make before the 5.0 release.
67edb2c6 43
bc9e5bbf 44Mark
67edb2c6
AC
45
46--
47
9d6d78f2
AC
48Revised UDP support (was: Re: [Fwd: [patch] UDP transport support])
49http://sourceware.cygnus.com/ml/gdb-patches/2000-04/msg00000.html
50
bc9e5bbf
AC
51(Broken) support for GDB's remote protocol across UDP is to be
52included in the follow-on release.
138f88c0 53
b2f4b24d
AC
54--
55
56Can't build IRIX -> arm GDB.
57http://sourceware.cygnus.com/ml/gdb-patches/2000-04/msg00356.html
58
59David Whedon writes:
60> Now I'm building for an embedded arm target. If there is a way of turning
61> remote-rdi off, I couldn't find it. It looks like it gets built by default
62> in gdb/configure.tgt(line 58) Anyway, the build dies in
63> gdb/rdi-share/unixcomm.c. SERPORT1 et. al. never get defined because we
64> aren't one of the architectures supported.
65
6bc37a96
AC
66--
67
68Problem with weak functions
69http://sourceware.cygnus.com/ml/gdb/2000-05/msg00060.html
70
71Dan Nicolaescu writes:
72> It seems that gdb-4.95.1 does not display correctly the function when
73> stoping in weak functions.
74>
75> It stops in a function that is defined as weak, not in the function
76> that is actualy run...
b2f4b24d 77
26099b4a
AC
78--
79
80GDB 5.0 doesn't work on Linux/SPARC
81
3fffcb5e
AC
82--
83
4afc966c
AC
84 Code Cleanups: Next Release
85 ===========================
3fffcb5e 86
4afc966c
AC
87The following are small cleanups that will hopefully be completed by
88the follow on to 5.0.
3fffcb5e 89
138f88c0
AC
90--
91
4afc966c 92Delete macro TARGET_BYTE_ORDER_SELECTABLE.
bc9e5bbf 93
4afc966c
AC
94Patches in the database.
95
96--
97
26099b4a 98Purge PARAMS.
4afc966c
AC
99
100Eliminate all uses of PARAMS in GDB's source code.
101
102--
103
78566ebe
AC
104Fix copyright notices.
105
106Turns out that ``1998-2000'' isn't considered valid :-(
107
108http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00467.html
109
4afc966c
AC
110--
111
112 Code Cleanups: General
113 ======================
114
115The following are more general cleanups and fixes. They are not tied
116to any specific release.
bc9e5bbf
AC
117
118--
119
d8038014
AC
120Eliminate more compiler warnings.
121
122Of course there also needs to be the usual debate over which warnings
123are valid and how to best go about this.
124
125One method: choose a single option; get agreement that it is
126reasonable; try it out to see if there isn't anything silly about it
127(-Wunused-parameters is an example of that) then incrementally hack
128away.
129
130The other method is to enable all warnings and eliminate them from one
131file at a time.
132
133--
134
4afc966c 135Elimination of ``(catch_errors_ftype *) func''.
bc9e5bbf 136
4afc966c 137Like make_cleanup_func it isn't portable.
6ecce94d
AC
138http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00791.html
139http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00814.html
140
4afc966c
AC
141
142--
143
144Nuke USG define.
145
146--
147
148[PATCH/5] src/intl/Makefile.in:distclean additions
149http://sourceware.cygnus.com/ml/gdb-patches/2000-04/msg00363.html
150
151Do not forget to merge the patch back into the trunk.
152
153--
154
155Rationalize the host-endian code (grep for HOST_BYTE_ORDER).
156
157At present defs.h includes <endian.h> (which is linux specific) yet
158almost nothing depends on it. Suggest "gdb_endian.h" which can also
159handle <machine/endian.h> and only include that where it is really
160needed.
161
162--
163
164Replace asprintf() calls with xasprintf() calls.
165
166As with things like strdup() most calls to asprintf() don't check the
167return value.
168
169--
170
171Replace strsave() + mstrsave() with libiberty:xstrdup().
172
173--
174
175Replace savestring() with something from libiberty.
176
177An xstrldup()? but that would have different semantics.
178
179--
180
181Rationalize use of floatformat_unknown in GDB sources.
182
183Instead of defaulting to floatformat_unknown, should hosts/targets
184specify the value explicitly?
185
186http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00447.html
187
188--
189
190Add a ``name'' member to include/floatformat.h:struct floatformat.
191Print that name in gdbarch.c.
192
193--
194
195Sort out the harris mess in include/floatformat.h (it hardwires two
196different floating point formats).
197
198--
199
200See of the GDB local floatformat_do_doublest() and libiberty's
201floatformat_to_double (which was once GDB's ...) can be merged some
202how.
203
204--
205
206Eliminate mmalloc() from GDB.
207
208Also eliminate it from defs.h.
209
210--
211
212Eliminate PTR. ISO-C allows ``void *''.
213
214--
215
216Eliminate abort ().
217
218GDB should never abort. GDB should either throw ``error ()'' or
219``internal_error ()''. Better still GDB should naturally unwind with
220an error status.
221
222--
223
224GDB probably doesn't build on FreeBSD pre 2.2.x
225http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00378.html
226
227Fixes to get FreeBSD working on 2.2.x, 3.x and 4.x caused the code to
228suffer bit rot.
bc9e5bbf
AC
229
230--
231
232Updated readline
233
78566ebe
AC
234Readline 4.? is out. A merge wouldn't hurt. Patches are in:
235
236http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00436.html
237
238--
239
240Deprecate "fg". Apparently ``fg'' is actually continue.
241
242http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00417.html
243
244--
245
246Deprecate current use of ``floatformat_unknown''.
247
248Require all targets to explicitly provide their float format instead
249of defaulting to floatformat unknown. Doing the latter leads to nasty
250bugs.
251
252http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00447.html
bc9e5bbf
AC
253
254--
255
78566ebe
AC
256Rationalize floatformat_to_double() vs floatformat_to_doublest().
257
258Looks like GDB migrated floatformat_to_double() to libiberty but then
259turned around and created a ..._to_doublest() the latter containing
260several bug fixes.
261
262http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00472.html
263
264--
265
266Move floatformat_ia64_ext to libiberty/include floatformat.[ch].
267
268http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00466.html
269
270--
271
272Always build ser-tcp.c.
273
274The patch as submitted was just going to add ser-tcp.c to the Alpha's
275makefile. A better patch is to instead add ser-tcp.c to SER_HARDWARE
276and make it a standard part of all debuggers.
277
278If problems occure then configure.in can sort them out.
279
280http://sourceware.cygnus.com/ml/gdb-patches/2000-04/msg00544.html
281
282--
283
284Follow through `make check' with --enable-shared.
285
286When the srcware tree is configured with --enable-shared, the `expect'
287program won't run properly. Jim Wilson found out gdb has a local hack
288to set LD_LIBRARY_PATH, but, AFAIK, no other project has been hacked
289similarly.
290
291http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00845.html
292
b4a20239
AC
293--
294
295Change the parameter ``char *list[]'' (etc) to ``const char (*)[]'' so
296that dynamic lists from things like gdbarch_printable_names() can be
297passed.
298
299--
300
301The ``maintenance deprecate set endian big'' command doesn't notice
302that it is deprecating ``set endian'' and not ``set endian big'' (big
303is implemented using an enum). Is anyone going to notice this?
304
305--
306
307When tab expanding something like ``set arch<tab>'' ignore the
308deprecated ``set archdebug'' and expand to ``set architecture''.
309
78566ebe
AC
310--
311
312
4afc966c
AC
313 New Features and Fixes
314 ======================
bc9e5bbf 315
4afc966c
AC
316These are harder than cleanups but easier than work involving
317fundamental architectural change.
bc9e5bbf
AC
318
319--
320
4afc966c
AC
321Add built-by, build-date, tm, xm, nm and anything else into gdb binary
322so that you can see how the GDB was created.
bc9e5bbf 323
4afc966c
AC
324Some of these (*m.h) would be added to the generated config.h. That
325in turn would fix a long standing bug where by the build process many
326not notice a changed tm.h file. Since everything depends on config.h,
327a change to *m.h forces a change to config.h and, consequently forces
328a rebuild.
bc9e5bbf
AC
329
330--
331
4afc966c
AC
332Add an "info bfd" command that displays supported object formats,
333similarly to objdump -i.
5683e87a 334
4afc966c 335Is there a command already?
5683e87a
AC
336
337--
338
4afc966c 339Fix ``I'm sorry, Dave, I can't do that.'' from symfile.c.
bc9e5bbf 340
4afc966c 341This requires internationalization.
bc9e5bbf 342
4afc966c 343--
bc9e5bbf 344
4afc966c 345Convert GDB build process to AUTOMAKE.
bc9e5bbf 346
4afc966c 347See also sub-directory configure below.
138f88c0 348
b4a20239
AC
349The current convention is (kind of) to use $(<header>_h) in all
350dependency lists. It isn't done in a consistent way.
351
67edb2c6
AC
352--
353
4afc966c 354Cleanup configury support for optional sub-directories.
7ae38352 355
4afc966c
AC
356Check how GCC handles multiple front ends for an example of how things
357could work. A tentative first step is to rationalize things so that
358all sub directories are handled in a fashion similar to gdb/mi.
359
360See also automake above.
7ae38352
AC
361
362--
363
4afc966c
AC
364Restructure gdb directory tree so that it avoids any 8.3 and 14
365filename problems.
67edb2c6 366
4afc966c 367--
67edb2c6 368
4afc966c
AC
369Add a transcript mechanism to GDB.
370
371Such a mechanism might log all gdb input and output to a file in a
372form that would allow it to be replayed. It could involve ``gdb
373--transcript=FILE'' or it could involve ``(gdb) transcript file''.
67edb2c6
AC
374
375--
376
4afc966c 377Can the xdep files be replaced by autoconf?
bc9e5bbf 378
4afc966c 379--
bc9e5bbf 380
4afc966c 381Document trace machinery
bc9e5bbf 382
4afc966c
AC
383--
384
78566ebe
AC
385Document ui-out and ui-file.
386
387http://sourceware.cygnus.com/ml/gdb/2000-04/msg00121.html
388
389--
390
391Update texinfo.tex to latest?
392
393
394
395--
396
397Incorporate agentexpr.texi into gdb.texinfo
398
399agentexpr.texi mostly describes the details of the byte code used for
400tracepoints, not the internals of the support for this in GDB. So it
401looks like gdb.texinfo is a better place for this information.
402
403http://sourceware.cygnus.com/ml/gdb-patches/2000-04/msg00566.html
404
405--
406
4afc966c 407Document overlay machinery.
bc9e5bbf 408
7ae38352
AC
409--
410
4afc966c 411``(gdb) catch signal SIGNAL''
7ae38352 412
4afc966c
AC
413Overlaps with ``handle SIGNAL'' but the implied behavour is different.
414You can attach commands to a catch but not a handle. A handle has a
415limited number of hardwired actions.
7ae38352
AC
416
417--
418
4afc966c 419Get the TUI working on all platforms.
7ae38352 420
bc9e5bbf
AC
421--
422
4afc966c
AC
423Add support for ``gdb --- PROGRAM ARGS ...''.
424Add support for ``gdb -cmd=...''
9debab2f 425
4afc966c
AC
426Along with many variations. Check:
427
428????? for a full discussion.
429
430for a discussion.
9debab2f
AC
431
432--
433
4afc966c 434Implement ``(gdb) !ls''.
e55e8cee 435
4afc966c
AC
436Which is very different from ``(gdb) ! ls''. Implementing the latter
437is trivial.
438
439http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00034.html
e55e8cee
AC
440
441--
442
b4a20239
AC
443Change the (char *list[]) to (const char (*)[]) so that dynamic lists can
444be passed.
445
446--
447
448When tab expanding something like ``set arch<tab>'' ignore the
449deprecated ``set archdebug'' and expand to ``set architecture''.
450
451--
452
4afc966c
AC
453Replace the code that uses the host FPU with an emulator of the target
454FPU.
7ae38352 455
4afc966c
AC
456--
457
458 Thread Support
459 ==============
7ae38352
AC
460
461--
462
4afc966c
AC
463Generic: lin-thread cannot handle thread exit (Mark Kettenis, Michael
464Snyder) http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00525.html
7ae38352 465
4afc966c
AC
466The thread_db assisted debugging code doesn't handle exiting threads
467properly, at least in combination with glibc 2.1.3 (the framework is
468there, just not the actual code). There are at least two problems
469that prevent this from working.
470
471As an additional reference point, the pre thread_db code did not work
472either.
7ae38352
AC
473
474--
475
4afc966c
AC
476GNU/Linux/x86 and random thread signals (and Solaris/SPARC but not
477Solaris/x86).
478http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00336.html
7ae38352 479
4afc966c
AC
480Christopher Blizzard writes:
481
482So, I've done some more digging into this and it looks like Jim
483Kingdon has reported this problem in the past:
484
485http://sourceware.cygnus.com/ml/bug-gdb/1999-10/msg00058.html
486
487I can reproduce this problem both with and without Tom's patch. Has
488anyone seen this before? Maybe have a solution for it hanging around?
489:)
490
491There's a test case for this documented at:
492
493when debugging threaded applications you get extra SIGTRAPs
494http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=9565
495
496[There should be a GDB testcase - cagney]
7ae38352
AC
497
498--
499
4afc966c
AC
500GDB5 TOT on unixware 7
501http://sourceware.cygnus.com/ml/gdb/2000-04/msg00119.html
7ae38352 502
4afc966c
AC
503Robert Lipe writes:
504> I just spun the top of tree of the GDB5 branch on UnixWare 7. As a
505> practical matter, the current thread support is somewhat more annoying
506> than when GDB was thread-unaware.
7ae38352
AC
507
508--
509
4afc966c 510Migrate qfThreadInfo packet -> qThreadInfo. (Andrew Cagney)
7ae38352 511
4afc966c
AC
512Add support for packet enable/disable commands with these thread
513packets. General cleanup.
514
515[PATCH] Document the ThreadInfo remote protocol queries
516http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00832.html
517
518[PATCH] "info threads" queries for remote.c
519http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00831.html
7ae38352
AC
520
521--
522
4afc966c
AC
523 Language Support
524 ================
7ae38352 525
4afc966c 526New languages come onto the scene all the time.
7ae38352
AC
527
528--
529
4afc966c 530Pascal (Pierre Muller, David Taylor)
7ae38352 531
4afc966c
AC
532Pierre Muller has contributed patches for adding Pascal Language
533support to GDB.
534
5352 pascal language patches inserted in database
536http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00521.html
537
538Indent -gnu ?
539http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00496.html
540
541--
542
543Java (Anthony Green, David Taylor)
544
545Anthony Green has a number of Java patches that did not make it into
546the 5.0 release.
547
548Patch: java tests
549http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00512.html
550
551Patch: java booleans
552http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00515.html
553
554Patch: handle N_MAIN stab
555http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00527.html
556
557--
558
559[Comming...]
560
561Modify gdb to work correctly with Pascal.
562
563--
564
565Re: Various C++ things
566
26099b4a
AC
567value_headof/value_from_vtable_info are worthless, and should be
568removed. The one place in printcmd.c that uses it should use the RTTI
569functions.
4afc966c 570
26099b4a
AC
571RTTI for g++ should be using the typeinfo functions rather than the
572vtables. The typeinfo functions are always at offset 4 from the
573beginning of the vtable, and are always right. The vtables will have
574weird names like E::VB sometimes. The typeinfo function will always
575be "E type_info function", or somesuch.
4afc966c 576
26099b4a
AC
577value_virtual_fn_field needs to be fixed so there are no failures for
578virtual functions for C++ using g++.
4afc966c 579
26099b4a
AC
580Testsuite cases are the major priority right now for C++ support,
581since i have to make a lot of changes that could potentially break
582each other.
7ae38352
AC
583
584--
585
4afc966c 586Add support for Modula3
7ae38352 587
4afc966c 588Get DEC/Compaq to contribute their Modula-3 support.
7ae38352
AC
589
590--
591
4afc966c
AC
592 Remote Protocol Support
593 =======================
7ae38352
AC
594
595--
596
4afc966c 597set/show remote X-packet ...
7ae38352 598
4afc966c
AC
599``(gdb) help set remote X-packet'' doesn't list the applicable
600responses. The help message needs to be expanded.
7ae38352
AC
601
602--
603
604Remote protocol doco feedback.
605
606Too much feedback to mention needs to be merged in (901660). Search
607for the word ``remote''.
608
4afc966c
AC
609
610http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00023.html
611http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00056.html
612http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00382.html
613
7ae38352
AC
614--
615
4afc966c 616GDB doesn't recover gracefully from remote protocol errors.
7ae38352 617
4afc966c
AC
618GDB wasn't checking for NAKs from the remote target. Instead a NAK is
619ignored and a timeout is required before GDB retries. A pre-cursor to
620fixing this this is making GDB's remote protocol packet more robust.
621
622While downloading to a remote protocol target, gdb ignores packet
623errors in so far as it will continue to edownload with chunk N+1 even
624if chunk N was not correctly sent. This causes gdb.base/remote.exp to
625take a painfully long time to run. As a PS that test needs to be
626fixed so that it builds on 16 bit machines.
7ae38352
AC
627
628--
629
4afc966c 630Add the cycle step command.
7ae38352 631
4afc966c 632http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00237.html
7ae38352 633
26099b4a
AC
634--
635
636Resolve how to scale things to support very large packets.
637
638--
639
640Resolve how to handle a target that changes things like its endianess
641on the fly - should it be returned in the ``T'' packet?
642
643Underlying problem is that the register file is target endian. If the
644target endianess changes gdb doesn't know.
645
7ae38352
AC
646--
647
4afc966c
AC
648 Symbol Support
649 ==============
7ae38352 650
4afc966c
AC
651If / when GDB starts to support the debugging of multi-processor
652(rather than multi-thread) applications the symtab code will need to
653be updated a little so that several independant symbol tables are
654active at a given time.
655
656The other interesting change is a clarification of the exact meaning
657of CORE_ADDR and that has had consequences for a few targets (that
658were abusing that data type).
7ae38352 659
d8038014
AC
660--
661
4afc966c 662Investiagate ways of reducing memory.
d8038014
AC
663
664--
665
4afc966c 666Investigate ways of improving load time.
d8038014 667
4afc966c
AC
668--
669
670Get the d10v to use POINTER_TO_ADDRESS and ADDRESS_TO_POINTER.
671
672Consequence of recent symtab clarification. No marks for figuring out
673who maintains the d10v.
d8038014 674
0aaf65d7
AC
675--
676
4afc966c
AC
677Get the MIPS to correctly sign extend all address <-> pointer
678conversions.
0aaf65d7 679
4afc966c
AC
680Consequence of recent symtab clarification. No marks for figuring out
681who maintains the MIPS.
0aaf65d7 682
26099b4a
AC
683--
684
685 Testsuite Support
686 =================
687
688There are never to many testcases.
689
690--
691
692Better thread testsuite.
693
694--
695
696Better C++ testsuite.
697
698--
699
700Look at adding a GDB specific testsuite directory so that white box
701tests of key internals can be added (eg ui_file).
702
703--
704
705Separate out tests that involve the floating point (FP).
706
707(Something for people brining up new targets). FP and non-fp tests
708are combined. I think there should be set of basic tests that
709exercise pure integer support and then a more expanded set that
710exercise FP and FP/integer interactions.
711
712As an example, the MIPS, for n32 as problems with passing FP's and
713structs. Since most inferior call tests include FP it is difficult to
714determine of the integer tests are ok.
715
7ae38352
AC
716--
717
4afc966c
AC
718 Architectural Changes: General
719 ==============================
7ae38352
AC
720
721These are harder than simple cleanups / fixes and, consequently
722involve more work. Typically an Architectural Change will be broken
723down into a more digestible set of cleanups and fixes.
724
725--
726
4afc966c
AC
727Cleanup software single step.
728
729At present many targets implement software single step by directly
730blatting memory (see rs6000-tdep.c). Those targets should register
731the applicable breakpoints using the breakpoint framework. Perhaphs a
732new internal breakpoint class ``step'' is needed.
733
734--
735
7ae38352
AC
736Replace READ_FP() with FRAME_HANDLE().
737
738READ_FP() is a hangover from the days of the vax when the ABI really
739did have a frame pointer register. Modern architectures typically
740construct a virtual frame-handle from the stack pointer and various
741other bits of string.
742
743Unfortunatly GDB still treats this synthetic FP register as though it
744is real. That in turn really confuses users (arm and ``print $fp'' VS
745``info registers fp''). The synthetic FP should be separated out of
746the true register set presented to the user.
747
748--
749
2a00c9ce
AC
750Register Cache Cleanup (below from Andrew Cagney)
751
752I would depict the current register architecture as something like:
753
754 High GDB --> Low GDB
755 | |
756 \|/ \|/
757 --- REG NR -----
758 |
759 register + REGISTER_BYTE(reg_nr)
760 |
761 \|/
762 -------------------------
763 | extern register[] |
764 -------------------------
765
766where neither the high (valops.c et.al.) or low gdb (*-tdep.c) are
767really clear on what mechanisms they should be using to manipulate that
768buffer. Further, much code assumes, dangerously, that registers are
769contigious. Having got mips-tdep.c to support multiple ABIs, believe
770me, that is a bad assumption. Finally, that register cache layout is
771determined by the current remote/local target and _not_ the less
772specific target ISA. In fact, in many cases it is determined by the
773somewhat arbitrary layout of the [gG] packets!
774
775
776How I would like the register file to work is more like:
777
778
779 High GDB
780 |
781 \|/
782 pseudo reg-nr
783 |
784 map pseudo <->
785 random cache
786 bytes
787 |
788 \|/
789 ------------
790 | register |
791 | cache |
792 ------------
793 /|\
794 |
795 map random cache
796 bytes to target
797 dependant i-face
798 /|\
799 |
800 target dependant
801 such as [gG] packet
802 or ptrace buffer
803
804The main objectives being:
805
806 o a clear separation between the low
807 level target and the high level GDB
808
809 o a mechanism that solves the general
810 problem of register aliases, overlaps
811 etc instead of treating them as optional
812 extras that can be wedged in as an after
813 thought (that is a reasonable description
814 of the current code).
815
816 Identify then solve the hard case and the
817 rest just falls out. GDB solved the easy
818 case and then tried to ignore the real
819 world :-)
820
821 o a removal of the assumption that the
822 mapping between the register cache
823 and virtual registers is largely static.
824 If you flip the USR/SSR stack register
825 select bit in the status-register then
826 the corresponding stack registers should
827 reflect the change.
828
829 o a mechanism that clearly separates the
830 gdb internal register cache from any
831 target (not architecture) dependant
832 specifics such as [gG] packets.
833
834Of course, like anything, it sounds good in theory. In reality, it
835would have to contend with many<->many relationships at both the
836virt<->cache and cache<->target level. For instance:
837
838 virt<->cache
839 Modifying an mmx register may involve
840 scattering values across both FP and
841 mmpx specific parts of a buffer
842
843 cache<->target
844 When writing back a SP it may need to
845 both be written to both SP and USP.
846
847
848Hmm,
849
850Rather than let this like the last time it was discussed, just slip, I'm
851first going to add this e-mail (+ references) to TODO. I'd then like to
852sketch out a broad strategy I think could get us there.
853
854
855First thing I'd suggest is separating out the ``extern registers[]''
856code so that we can at least identify what is using it. At present
857things are scattered across many files. That way we can at least
858pretend that there is a cache instead of a global array :-)
859
860I'd then suggest someone putting up a proposal for the pseudo-reg /
861high-level side interface so that code can be adopted to it. For old
862code, initially a blanket rename of write_register_bytes() to
863deprecated_write_register_bytes() would help.
864
865Following that would, finaly be the corresponding changes to the target.
bc9e5bbf
AC
866
867--
868
67edb2c6
AC
869Check that GDB can handle all BFD architectures (Andrew Cagney)
870
871There should be a test that checks that BFD/GDB are in sync with
872regard to architecture changes. Something like a test that first
873queries GDB for all supported architectures and then feeds each back
874to GDB.. Anyone interested in learning how to write tests? :-)
875
876--
877
4afc966c
AC
878 Architectural Change: Multi-arch et al.
879 =======================================
2a00c9ce 880
4afc966c
AC
881The long term objective is to remove all assumptions that there is a
882single target with a single address space with a single instruction
883set architecture and single application binary interface.
2a00c9ce 884
4afc966c
AC
885This is an ongoing effort. The first milestone is to enable
886``multi-arch'' where by all architectural decisions are made at
887runtime.
7ae38352 888
4afc966c
AC
889It should be noted that ``gdbarch'' is really ``gdbabi'' and
890``gdbisa''. Once things are multi-arched breaking that down correctly
891will become much easier.
7ae38352
AC
892
893--
894
4afc966c 895GDBARCH cleanup (Andrew Cagney)
7ae38352 896
4afc966c
AC
897The non-generated parts of gdbarch.{sh,h,c} should be separated out
898into arch-utils.[hc].
899
900Document that gdbarch_init_ftype could easily fail because it didn't
901identify an architecture.
ed952ac5
AC
902
903--
904
4afc966c 905Fix BELIEVE_PPC_PROMOTION. Change it to BELIEVE_PPC_PROMOTION_P?
ed952ac5 906
4afc966c
AC
907At present there is still #ifdef BELIEVE_PPC_PROMOTION code in the
908symtab file.
ed952ac5 909
4afc966c
AC
910--
911
8e6a3c35
AC
912Fix target_signal_from_host() etc.
913
914The name is wrong for starters. ``target_signal'' should probably be
915``gdb_signal''. ``from_host'' should be ``from_target_signal''.
916After that it needs to be multi-arched and made independant of any
917host signal numbering.
918
919--
920
4afc966c
AC
921Update ALPHA so that it uses ``struct frame_extra_info'' instead of
922EXTRA_FRAME_INFO.
923
924This is a barrier to replacing mips_extra_func_info with something
925that works with multi-arch.
7ae38352
AC
926
927--
928
4afc966c
AC
929Multi-arch mips_extra_func_info.
930
931This first needs the alpha to be updated so that it uses ``struct
932frame_extra_info''.
7ae38352
AC
933
934--
935
4afc966c 936Rationalize TARGET_SINGLE_FORMAT and TARGET_SINGLE_BIT et al.
7ae38352 937
4afc966c 938Surely one of them is redundant.
7ae38352
AC
939
940--
941
4afc966c 942Convert ALL architectures to MULTI-ARCH.
7ae38352
AC
943
944--
945
946Select the initial multi-arch ISA / ABI based on --target or similar.
947
948At present the default is based on what ever is first in the BFD
949archures table. It should be determined based on the ``--target=...''
950name.
951
952--
953
954Truly multi-arch.
955
956Enable the code to recognize --enable-targets=.... like BINUTILS does.
957
4afc966c
AC
958Can the tm.h and nm.h files be eliminated by multi-arch.
959
7ae38352
AC
960--
961
4afc966c
AC
962 Architectural Change: MI, LIBGDB and scripting languages
963 ========================================================
7ae38352 964
4afc966c
AC
965See also architectural changes related to the event loop. LIBGDB
966can't be finished until there is a generic event loop being used by
967all targets.
968
969The long term objective is it to be possible to integrate GDB into
970scripting languages.
7ae38352
AC
971
972--
973
4afc966c 974Implement generic ``(gdb) commmand > file''
7ae38352 975
4afc966c
AC
976Once everything is going through ui_file it should be come fairly
977easy.
978
979http://sourceware.cygnus.com/ml/gdb/2000-04/msg00104.html
980
981--
982
983Replace gdb_stdtarg with gdb_targout (and possibly gdb_targerr).
984
985gdb_stdtarg is easily confused with gdb_stdarg.
986
987--
988
989Extra ui_file methods - dump.
990
26099b4a 991Very useful for whitebox testing.
4afc966c
AC
992
993--
994
995Eliminate error_begin().
996
997With ui_file, there is no need for the statefull error_begin ()
998function.
999
1000--
1001
1002Send normal output to gdb_stdout.
1003Send error messages to gdb_stderror.
1004Send debug and log output log gdb_stdlog.
1005
1006GDB still contains many cases where (f)printf or printf_filtered () is
1007used when it should be sending the messages to gdb_stderror or
1008gdb_stdlog. The thought of #defining printf to something has crossed
1009peoples minds ;-)
7ae38352
AC
1010
1011--
1012
1013Re-do GDB's output pager.
1014
1015GDB's output pager still relies on people correctly using *_filtered
1016for gdb_stdout and *_unfiltered for gdb_stdlog / gdb_stderr.
1017Hopefully, with all normal output going to gdb_stdout, the pager can
1018just look at the ui_file that the output is on and then use that to
1019decide what to do about paging. Sounds good in theory.
1020
1021--
1022
4afc966c
AC
1023Check/cleanup MI documentation.
1024
1025The list of commands specified in the documentation needs to be
1026checked against the mi-cmds.c table in a mechanical way (so that they
1027two can be kept up-to-date).
1028
1029--
1030
1031Convert MI into libgdb
1032
1033MI provides a text interface into what should be many of the libgdb
1034functions. The implementation of those functions should be separated
1035into the MI interface and the functions proper. Those functions being
1036moved to gdb/lib say.
1037
1038--
1039
1040Create libgdb.h
1041
1042The first part can already be found in defs.h.
1043
1044--
1045
1046MI's input does not use buffering.
1047
1048At present the MI interface reads raw characters of from an unbuffered
1049FD. This is to avoid several nasty buffer/race conditions. That code
1050should be changed so that it registers its self with the event loop
1051(on the input FD) and then push commands up to MI as they arrive.
1052
1053The serial code already does this.
1054
1055--
1056
1057Make MI interface accessable from existing CLI.
1058
1059--
1060
1061Add a breakpoint-edit command to MI.
1062
1063It would be similar to MI's breakpoint create but would apply to an
1064existing breakpoint. It saves the need to delete/create breakpoints
1065when ever they are changed.
1066
1067--
1068
1069Add directory path to MI breakpoint.
1070
1071That way the GUI's task of finding the file within which the
1072breakpoint was set is simplified.
1073
1074--
1075
1076Add a mechanism to reject certain expression classes to MI
7ae38352
AC
1077
1078There are situtations where you don't want GDB's expression
1079parser/evaluator to perform inferior function calls or variable
4afc966c
AC
1080assignments. A way of restricting the expression parser so that such
1081operations are not accepted would be very helpful.
7ae38352
AC
1082
1083--
1084
1085Remove sideffects from libgdb breakpoint create function.
1086
1087The user can use the CLI to create a breakpoint with partial
1088information - no file (gdb would use the file from the last
1089breakpoint).
1090
1091The libgdb interface currently affects that environment which can lead
1092to confusion when a user is setting breakpoints via both the MI and
1093the CLI.
1094
1095This is also a good example of how getting the CLI ``right'' will be
1096hard.
1097
1098--
1099
4afc966c 1100Move gdb_lasterr to ui_out?
7ae38352 1101
4afc966c
AC
1102The way GDB throws errors and records them needs a re-think. ui_out
1103handles the correct output well. It doesn't resolve what to do with
1104output / error-messages when things go wrong.
7ae38352 1105
4afc966c
AC
1106--
1107
1108 Architectural Change: Async
1109 ===========================
1110
1111While GDB uses an event loop when prompting the user for input. That
1112event loop is not exploited by targets when they allow the target
1113program to continue. Typically targets still block in (target_wait())
1114until the program again halts.
1115
1116The closest a target comes to supporting full asynchronous mode are
1117the remote targets ``async'' and ``extended-async''.
7ae38352
AC
1118
1119--
1120
4afc966c 1121Asynchronous expression evaluator
7ae38352 1122
4afc966c 1123Inferior function calls hang GDB.
7ae38352
AC
1124
1125--
1126
1127Fix implementation of ``target xxx''.
1128
1129At present when the user specifies ``target xxxx'', the CLI maps that
1130directly onto a target open method. It is then assumed that the
1131target open method should do all sorts of complicated things as this
1132is the only chance it has. Check how the various remote targets
1133duplicate the target operations. Check also how the various targets
1134behave differently for purely arbitrary reasons.
1135
1136What should happen is that ``target xxxx'' should call a generic
1137``target'' function and that should then co-ordinate the opening of
1138``xxxx''. This becomes especially important when you're trying to
1139open an asynchronous target that may need to perform background tasks
1140as part of the ``attach'' phase.
1141
1142Unfortunatly, due to limitations in the old/creaking command.h
1143interface, that isn't possible. The function being called isn't told
1144of the ``xxx'' or any other context information.
1145
1146Consequently a precursor to fixing ``target xxxx'' is to clean up the
1147CLI code so that it passes to the callback function (attatched to a
1148command) useful information such as the actual command and a context
1149for that command. Other changes such as making ``struct command''
1150opaque may also help.
1151
1152--
1153
4afc966c
AC
1154Make "target xxx" command interruptible.
1155
1156As things become async this becomes possible. A target would start
1157the connect and then return control to the event loop. A cntrl-c
1158would notify the target that the operation is to be abandoned and the
1159target code could respond.
7ae38352
AC
1160
1161--
1162
4afc966c
AC
1163Add a "suspend" subcommand of the "continue" command to suspend gdb
1164while continuing execution of the subprocess. Useful when you are
1165debugging servers and you want to dodge out and initiate a connection
1166to a server running under gdb.
1167
1168[hey async!!]
7ae38352 1169
2a00c9ce
AC
1170--
1171
26099b4a
AC
1172 TODO FAQ
1173 ========
1174
1175Frequently requested but not approved requests.
1176
1177--
1178
1179Eliminate unused argument warnings using ATTRIBUTE_UNUSED.
1180
1181The benefits on this one are thought to be marginal - GDBs design
1182means that unused parameters are very common. GCC 3.0 will also
1183include the option -Wno-unused-parameter which means that ``-Wall
1184-Wno-unused-parameters -Werror'' can be specified.
1185
1186--
1187
1188
1189
2a00c9ce
AC
1190 Legacy Wish List
1191 ================
1192
1193This list is not up to date, and opinions vary about the importance or
1194even desirability of some of the items. If you do fix something, it
1195always pays to check the below.
1196
1197--
c906108c 1198
b83266a0
SS
1199@c This does not work (yet if ever). FIXME.
1200@c @item --parse=@var{lang} @dots{}
1201@c Configure the @value{GDBN} expression parser to parse the listed languages.
1202@c @samp{all} configures @value{GDBN} for all supported languages. To get a
1203@c list of all supported languages, omit the argument. Without this
1204@c option, @value{GDBN} is configured to parse all supported languages.
1205
7ae38352 1206--
c906108c
SS
1207
1208START_INFERIOR_TRAPS_EXPECTED need never be defined to 2, since that
1209is its default value. Clean this up.
1210
7ae38352
AC
1211--
1212
c906108c
SS
1213It should be possible to use symbols from shared libraries before we know
1214exactly where the libraries will be loaded. E.g. "b perror" before running
1215the program. This could maybe be done as an extension of the "breakpoint
1216re-evaluation" after new symbols are loaded.
1217
7ae38352
AC
1218--
1219
c906108c
SS
1220Make single_step() insert and remove breakpoints in one operation.
1221
26099b4a
AC
1222[If this is talking about having single_step() insert the breakpoints,
1223run the target then pull the breakpoints then it is wrong. The
1224function has to return as control has to eventually be passed back to
1225the main event loop.]
1226
7ae38352
AC
1227--
1228
c906108c
SS
1229Speed up single stepping by avoiding extraneous ptrace calls.
1230
7ae38352
AC
1231--
1232
c906108c
SS
1233Speed up single stepping by not inserting and removing breakpoints
1234each time the inferior starts and stops.
1235
1236Breakpoints should not be inserted and deleted all the time. Only the
1237one(s) there should be removed when we have to step over one. Support
1238breakpoints that don't have to be removed to step over them.
1239
7ae38352 1240[this has resulted in numerous debates. The issue isn't clear cut]
c906108c 1241
7ae38352 1242--
c906108c
SS
1243
1244Provide "voodoo" debugging of core files. This creates a zombie
1245process as a child of the debugger, and loads it up with the data,
1246stack, and regs of the core file. This allows you to call functions
1247in the executable, to manipulate the data in the core file.
1248
7ae38352 1249[you wish]
c906108c 1250
7ae38352 1251--
c906108c 1252
7ae38352 1253GDB reopens the source file on every line, as you "next" through it.
c906108c 1254
7ae38352 1255[still true? I've a memory of this being fixed]
c906108c 1256
7ae38352 1257--
c906108c
SS
1258
1259Perhaps "i source" should take an argument like that of "list".
1260
7ae38352 1261--
c906108c
SS
1262
1263Remove "at 0xnnnn" from the "b foo" response, if `print address off' and if
1264it matches the source line indicated.
1265
7ae38352 1266--
c906108c 1267
7ae38352 1268The prompt at end of screen should accept space as well as CR.
c906108c 1269
7ae38352 1270--
c906108c
SS
1271
1272Backtrace should point out what the currently selected frame is, in
1273its display, perhaps showing "@3 foo (bar, ...)" or ">3 foo (bar,
1274...)" rather than "#3 foo (bar, ...)".
1275
7ae38352
AC
1276--
1277
c906108c
SS
1278"i program" should work for core files, and display more info, like what
1279actually caused it to die.
1280
7ae38352
AC
1281--
1282
c906108c
SS
1283"x/10i" should shorten the long name, if any, on subsequent lines.
1284
7ae38352 1285--
c906108c
SS
1286
1287"next" over a function that longjumps, never stops until next time you happen
1288to get to that spot by accident. E.g. "n" over execute_command which has
1289an error.
1290
7ae38352
AC
1291--
1292
c906108c
SS
1293"set zeroprint off", don't bother printing members of structs which
1294are entirely zero. Useful for those big structs with few useful
1295members.
1296
7ae38352
AC
1297--
1298
c906108c
SS
1299GDB does four ioctl's for every command, probably switching terminal modes
1300to/from inferior or for readline or something.
1301
7ae38352
AC
1302--
1303
c906108c
SS
1304terminal_ours versus terminal_inferior: cache state. Switch should be a noop
1305if the state is the same, too.
1306
7ae38352 1307--
c906108c
SS
1308
1309"i frame" shows wrong "arglist at" location, doesn't show where the args
1310should be found, only their actual values.
1311
7ae38352
AC
1312--
1313
c906108c
SS
1314There should be a way for "set" commands to validate the new setting
1315before it takes effect.
1316
7ae38352 1317--
c906108c
SS
1318
1319"ena d" is ambiguous, why? "ena delete" seems to think it is a command!
1320
7ae38352 1321--
c906108c
SS
1322
1323i line VAR produces "Line number not known for symbol ``var''.". I
1324thought we were stashing that info now!
1325
7ae38352
AC
1326--
1327
c906108c
SS
1328We should be able to write to random files at hex offsets like adb.
1329
7ae38352
AC
1330--
1331
7ae38352
AC
1332[elena - delete this]
1333
c906108c
SS
1334Handle add_file with separate text, data, and bss addresses. Maybe
1335handle separate addresses for each segment in the object file?
1336
7ae38352
AC
1337--
1338
1339[Jimb/Elena delete this one]
1340
c906108c
SS
1341Handle free_named_symtab to cope with multiply-loaded object files
1342in a dynamic linking environment. Should remember the last copy loaded,
1343but not get too snowed if it finds references to the older copy.
1344
7ae38352
AC
1345--
1346
1347[elena delete this also]
c906108c
SS
1348
1349Remove all references to:
1350 text_offset
1351 data_offset
1352 text_data_start
1353 text_end
1354 exec_data_offset
1355 ...
1356now that we have BFD. All remaining are in machine dependent files.
1357
7ae38352 1358--
c906108c
SS
1359
1360Re-organize help categories into things that tend to fit on a screen
1361and hang together.
1362
7ae38352 1363--
c906108c
SS
1364
1365Add in commands like ADB's for searching for patterns, etc. We should
1366be able to examine and patch raw unsymboled binaries as well in gdb as
1367we can in adb. (E.g. increase the timeout in /bin/login without source).
1368
7ae38352
AC
1369[actually, add ADB interface :-]
1370
1371--
c906108c
SS
1372
1373When doing "step" or "next", if a few lines of source are skipped between
1374the previous line and the current one, print those lines, not just the
1375last line of a multiline statement.
1376
7ae38352 1377--
c906108c
SS
1378
1379Handling of "&" address-of operator needs some serious overhaul
1380for ANSI C and consistency on arrays and functions.
1381 For "float point[15];":
1382ptype &point[4] ==> Attempt to take address of non-lvalue.
1383 For "char *malloc();":
1384ptype malloc ==> "char *()"; should be same as
1385ptype &malloc ==> "char *(*)()"
1386call printf ("%x\n", malloc) ==> weird value, should be same as
1387call printf ("%x\n", &malloc) ==> correct value
1388
7ae38352
AC
1389--
1390
c906108c
SS
1391Fix dbxread.c symbol reading in the presence of interrupts. It
1392currently leaves a cleanup to blow away the entire symbol table when a
1393QUIT occurs. (What's wrong with that? -kingdon, 28 Oct 1993).
1394
7ae38352
AC
1395[I suspect that the grype was that, on a slow system, you might want
1396to cntrl-c and get just half the symbols and then load the rest later
1397- scary to be honest]
1398
1399--
1400
c906108c
SS
1401Mipsread.c reads include files depth-first, because the dependencies
1402in the psymtabs are way too inclusive (it seems to me). Figure out what
1403really depends on what, to avoid recursing 20 or 30 times while reading
1404real symtabs.
1405
7ae38352
AC
1406--
1407
c906108c
SS
1408value_add() should be subtracting the lower bound of arrays, if known,
1409and possibly checking against the upper bound for error reporting.
1410
7ae38352 1411--
c906108c
SS
1412
1413When listing source lines, check for a preceding \n, to verify that
1414the file hasn't changed out from under us.
1415
7ae38352
AC
1416[fixed by some other means I think. That hack wouldn't actually work
1417reliably - the file might move such that another \n appears. ]
c906108c 1418
7ae38352 1419--
c906108c
SS
1420
1421Get all the remote systems (where the protocol allows it) to be able to
1422stop the remote system when the GDB user types ^C (like remote.c
1423does). For ebmon, use ^Ak.
1424
7ae38352
AC
1425--
1426
c906108c
SS
1427Possible feature: A version of the "disassemble" command which shows
1428both source and assembly code ("set symbol-filename on" is a partial
1429solution).
1430
7ae38352
AC
1431[has this been done? It was certainly done for MI and GDBtk]
1432
1433--
1434
c906108c
SS
1435investigate "x/s 0" (right now stops early) (I think maybe GDB is
1436using a 0 address for bad purposes internally).
1437
7ae38352
AC
1438--
1439
c906108c
SS
1440Make "info path" and path_command work again (but independent of the
1441environment either of gdb or that we'll pass to the inferior).
1442
7ae38352
AC
1443--
1444
c906108c
SS
1445Make GDB understand the GCC feature for putting octal constants in
1446enums. Make it so overflow on an enum constant does not error_type
1447the whole type. Allow arbitrarily large enums with type attributes.
1448Put all this stuff in the testsuite.
1449
7ae38352
AC
1450--
1451
c906108c
SS
1452Make TYPE_CODE_ERROR with a non-zero TYPE_LENGTH more useful (print
1453the value in hex; process type attributes). Add this to the
1454testsuite. This way future compilers can add new types and old
1455versions of GDB can do something halfway reasonable.
1456
7ae38352 1457--
c906108c
SS
1458
1459Fix mdebugread.c:parse_type to do fundamental types right (see
1460rs6000_builtin_type in stabsread.c for what "right" is--the point is
1461that the debug format fixes the sizes of these things and it shouldn't
1462depend on stuff like TARGET_PTR_BIT and so on. For mdebug, there seem
1463to be separate bt* codes for 64 bit and 32 bit things, and GDB should
1464be aware of that). Also use a switch statement for clarity and speed.
1465
7ae38352
AC
1466--
1467
c906108c
SS
1468Investigate adding symbols in target_load--some targets do, some
1469don't.
1470
7ae38352
AC
1471--
1472
c906108c
SS
1473Put dirname in psymtabs and change lookup*symtab to use dirname (so
1474/foo/bar.c works whether compiled by cc /foo/bar.c, or cd /foo; cc
1475bar.c).
1476
7ae38352
AC
1477--
1478
c906108c
SS
1479Merge xcoffread.c and coffread.c. Use breakpoint_re_set instead of
1480fixup_breakpoints.
1481
7ae38352 1482--
c906108c
SS
1483
1484Make a watchpoint which contains a function call an error (it is
1485broken now, making it work is probably not worth the effort).
1486
7ae38352 1487--
c906108c
SS
1488
1489New test case based on weird.exp but in which type numbers are not
1490renumbered (thus multiply defining a type). This currently causes an
1491infinite loop on "p v_comb".
1492
7ae38352 1493--
c906108c 1494
7ae38352 1495[Hey! Hint Hint Delete Delete!!!]
c906108c
SS
1496
1497Fix 386 floating point so that floating point registers are real
1498registers (but code can deal at run-time if they are missing, like
1499mips and 68k). This would clean up "info float" and related stuff.
1500
7ae38352 1501--
c906108c
SS
1502
1503gcc -g -c enummask.c then gdb enummask.o, then "p v". GDB complains
1504about not being able to access memory location 0.
1505
1506-------------------- enummask.c
1507enum mask
1508{
1509 ANIMAL = 0,
1510 VEGETABLE = 1,
1511 MINERAL = 2,
1512 BASIC_CATEGORY = 3,
1513
1514 WHITE = 0,
1515 BLUE = 4,
1516 GREEN = 8,
1517 BLACK = 0xc,
1518 COLOR = 0xc,
1519
1520 ALIVE = 0x10,
1521
1522 LARGE = 0x20
1523} v;
1524
7ae38352
AC
1525--
1526
c906108c
SS
1527If try to modify value in file with "set write off" should give
1528appropriate error not "cannot access memory at address 0x65e0".
1529
7ae38352 1530--
c906108c 1531
c906108c
SS
1532Allow core file without exec file on RS/6000.
1533
7ae38352
AC
1534--
1535
c906108c
SS
1536Make sure "shell" with no arguments works right on DOS.
1537
7ae38352
AC
1538--
1539
c906108c
SS
1540Make gdb.ini (as well as .gdbinit) be checked on all platforms, so
1541the same directory can be NFS-mounted on unix or DOS, and work the
1542same way.
1543
7ae38352
AC
1544--
1545
1546[Is this another delete???]
c906108c
SS
1547
1548Get SECT_OFF_TEXT stuff out of objfile_relocate (might be needed to
1549get RS/6000 to work right, might not be immediately relevant).
1550
7ae38352 1551--
c906108c
SS
1552
1553Work out some kind of way to allow running the inferior to be done as
1554a sub-execution of, eg. breakpoint command lists. Currently running
1555the inferior interupts any command list execution. This would require
1556some rewriting of wait_for_inferior & friends, and hence should
1557probably be done in concert with the above.
1558
7ae38352
AC
1559--
1560
c906108c
SS
1561Add function arguments to gdb user defined functions.
1562
7ae38352
AC
1563--
1564
c906108c
SS
1565Add convenience variables that refer to exec file, symbol file,
1566selected frame source file, selected frame function, selected frame
1567line number, etc.
1568
7ae38352
AC
1569--
1570
c906108c
SS
1571Modify the handling of symbols grouped through BINCL/EINCL stabs to
1572allocate a partial symtab for each BINCL/EINCL grouping. This will
1573seriously decrease the size of inter-psymtab dependencies and hence
1574lessen the amount that needs to be read in when a new source file is
1575accessed.
1576
7ae38352 1577--
c906108c 1578
c906108c
SS
1579Add a command for searching memory, a la adb. It specifies size,
1580mask, value, start address. ADB searches until it finds it or hits
1581an error (or is interrupted).
1582
7ae38352
AC
1583--
1584
b83266a0
SS
1585Remove the range and type checking code and documentation, if not
1586going to implement.
1587
c906108c
SS
1588# Local Variables:
1589# mode: text
1590# End:
This page took 0.124878 seconds and 4 git commands to generate.