1 If you find inaccuracies in this list, please send mail to
2 gdb-patches@sourceware.cygnus.com. If you would like to work on any
3 of these, you should consider sending mail to the same address, to
4 find out whether anyone else is working on it.
10 Below is a list of problems identified during the GDB 5.0 release
11 cycle. People hope to have these problems fixed in 5.1.
15 Wow, three bug reports for the same problem in one day! We should
16 probably make fixing this a real priority :-).
18 Anyway, thanks for reporting.
20 The following patch will fix the problems with setting breakpoints in
21 dynamically loaded objects:
23 http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00230.html
25 This patch isn't checked in yet (ping Michael/JimB), but I hope this
26 will be in the next GDB release.
28 There should really be a test in the testsuite for this problem, since
29 it keeps coming up :-(. Any volunteers?
35 x86 linux GDB and SIGALRM (???)
36 http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00803.html
38 This problem has been fixed, but a regression test still needs to be
39 added to the testsuite:
40 http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00309.html
44 [The test has been submitted for approval - cagney]
48 GDB 5.1 - New features
49 ======================
51 The following new features should be included in 5.1.
55 Pascal (Pierre Muller, David Taylor)
57 Pierre Muller has contributed patches for adding Pascal Language
60 2 pascal language patches inserted in database
61 http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00521.html
64 http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00496.html
66 [I think this has been merged, need to confirm - cagney]
70 Java (Anthony Green, David Taylor)
72 Anthony Green has a number of Java patches that did not make it into
73 the 5.0 release. The first two are in cvs now, but the third needs
74 some fixing up before it can go in.
77 http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00512.html
80 http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00515.html
82 Patch: handle N_MAIN stab
83 http://sourceware.cygnus.com/ml/gdb-patches/2000-q1/msg00527.html
89 A predicate to this is the multi-arching of SOFTWARE_SINGLE_STEP(). A
90 patch has been submitted.
97 The following code cleanups will hopefully be applied to GDB 5.1.
101 GDB 5.1 - Known Problems
102 ========================
108 The z8k has suffered bit rot and is known to not build. The problem
109 was occuring in the opcodes directory.
115 The m88k has suffered bit rot and is known to not build.
119 The BFD directory requires bug-fixed AUTOMAKE et.al.
121 AUTOMAKE 1.4 incorrectly set the TEXINPUTS environment variable. It
122 contained the full path to texinfo.tex when it should have only
123 contained the directory. The bug has been fixed in the current
124 AUTOMAKE sources. Automake snapshots can be found in:
125 ftp://sourceware.cygnus.com/pub/gdb/snapshots
126 and ftp://sourceware.cygnus.com/pub/binutils
130 Solaris 8 x86 CURSES_H problem
131 http://sources.redhat.com/ml/gdb/2000-07/msg00038.html
133 The original problem was worked around with:
135 2000-06-06 Michael Snyder <msnyder@cygnus.com>
137 * configure.in: Enable autoconf to find curses.h on Solaris 2.8.
138 * configure: Regenerate.
140 When building both GDB and SID using the same source tree the problem
141 will still occure. sid/component/configure.in mis-configures
142 <curses.h> and leaves wrong information in the config cache.
151 GDB 5.2 - New features
152 ======================
156 GCC 3.0 ABI support (but hopefully sooner...).
160 Objective C/C++ support (but hopefully sooner...).
164 Import of readline 4.2
171 The following cleanups have been identified as part of GDB 5.2.
175 Remove old code that does not use ui_out functions and all the related
176 "ifdef"s. This also allows the elimination of -DUI_OUT from
177 Makefile.in and configure.in.
183 Eliminate warnings for all targets on at least one host for one of the
184 -W flags. Flags up for debate include: -Wswitch -Wcomment -trigraphs
185 -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable
186 -Wunused-value -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
187 -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
188 -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
189 -Woverloaded-virtual -Winline
193 Deprecate, if not delete, the following:
199 Replaced by, on the target side
201 and on core-gdb side:
202 {read,write}_register_gen()
203 Remote.c will need to use something
204 other than REGISTER_BYTE() and
205 REGISTER_RAW_SIZE() when unpacking
208 STORE_PSEUDO_REGISTER
209 FETCH_PSEUDO_REGISTER
210 Now handed by the methods
211 gdbarch_{read,write}_register()
212 which sits between core GDB and
216 REGISTER_CONVERT_TO_RAW
217 REGISTER_CONVERT_TO_VIRTUAL
218 I think these three are redundant.
219 gdbarch_register_{read,write} can
220 do any conversion it likes.
222 REGISTER_VIRTUAL_SIZE
223 MAX_REGISTER_VIRTUAL_SIZE
224 REGISTER_VIRTUAL_TYPE
225 I think these can be replaced by
227 FRAME_REGISTER_TYPE(frame, regnum)
228 REGISTER_TYPE(regnum)
232 FRAME_REGISTER_INFO (frame, ...)
235 If nothing else rename this so that
236 how it relates to rawreg and the
240 The size of the cache can be computed
243 IS_TRAPPED_INTERNALVAR
244 The pseudo registers should eventually make
249 Obsolete the targets:
257 Obsolete the protocols:
261 ``As of version 5.3, WindRiver has removed the RDB server (RDB
262 protocol support is built into gdb).'' -- Till.
266 Restructure gdb directory tree so that it avoids any 8.3 and 14
271 Convert GDB build process to AUTOMAKE.
273 See also sub-directory configure below.
275 The current convention is (kind of) to use $(<header>_h) in all
276 dependency lists. It isn't done in a consistent way.
280 GDB 5.2 - Known Problems
281 ========================
285 Code Cleanups: General
286 ======================
288 The following are more general cleanups and fixes. They are not tied
289 to any specific release.
292 New Features and Fixes
293 ======================
295 These are harder than cleanups but easier than work involving
296 fundamental architectural change.
303 New languages come onto the scene all the time.
307 Re: Various C++ things
309 value_headof/value_from_vtable_info are worthless, and should be
310 removed. The one place in printcmd.c that uses it should use the RTTI
313 RTTI for g++ should be using the typeinfo functions rather than the
314 vtables. The typeinfo functions are always at offset 4 from the
315 beginning of the vtable, and are always right. The vtables will have
316 weird names like E::VB sometimes. The typeinfo function will always
317 be "E type_info function", or somesuch.
319 value_virtual_fn_field needs to be fixed so there are no failures for
320 virtual functions for C++ using g++.
322 Testsuite cases are the major priority right now for C++ support,
323 since i have to make a lot of changes that could potentially break
334 Investiagate ways of reducing memory.
338 Investigate ways of improving load time.
345 There are never to many testcases.
349 Better thread testsuite.
353 Better C++ testsuite.
357 Architectural Changes: General
358 ==============================
360 These are harder than simple cleanups / fixes and, consequently
361 involve more work. Typically an Architectural Change will be broken
362 down into a more digestible set of cleanups and fixes.
366 Architectural Change: Multi-arch et al.
367 =======================================
369 The long term objective is to remove all assumptions that there is a
370 single target with a single address space with a single instruction
371 set architecture and single application binary interface.
373 This is an ongoing effort. The first milestone is to enable
374 ``multi-arch'' where by all architectural decisions are made at
377 It should be noted that ``gdbarch'' is really ``gdbabi'' and
378 ``gdbisa''. Once things are multi-arched breaking that down correctly
379 will become much easier.
383 Architectural Change: MI, LIBGDB and scripting languages
384 ========================================================
386 See also architectural changes related to the event loop. LIBGDB
387 can't be finished until there is a generic event loop being used by
390 The long term objective is it to be possible to integrate GDB into
395 Architectural Change: Async
396 ===========================
398 While GDB uses an event loop when prompting the user for input. That
399 event loop is not exploited by targets when they allow the target
400 program to continue. Typically targets still block in (target_wait())
401 until the program again halts.
403 The closest a target comes to supporting full asynchronous mode are
404 the remote targets ``async'' and ``extended-async''.