* gdb.base/maint.exp: Treat $EXEEXT as optional in output.
[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
552054a8
AC
7 GDB 5.1 - Fixes
8 ===============
138f88c0 9
bc9e5bbf 10Below is a list of problems identified during the GDB 5.0 release
552054a8 11cycle. People hope to have these problems fixed in 5.1.
4fd99b5a
AC
12
13--
14
a50c34dc
AC
15Wow, three bug reports for the same problem in one day! We should
16probably make fixing this a real priority :-).
138f88c0 17
a50c34dc
AC
18Anyway, thanks for reporting.
19
20The following patch will fix the problems with setting breakpoints in
21dynamically loaded objects:
22
23 http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00230.html
24
25This patch isn't checked in yet (ping Michael/JimB), but I hope this
26will be in the next GDB release.
27
28There should really be a test in the testsuite for this problem, since
29it keeps coming up :-(. Any volunteers?
30
31Mark
bc9e5bbf 32
552054a8
AC
33--
34
35 GDB 5.1 - New features
36 ======================
37
38The following new features should be included in 5.1.
39
552054a8
AC
40--
41
42 GDB 5.1 - Cleanups
43 ==================
44
45The following code cleanups will hopefully be applied to GDB 5.1.
46
1ba607ad
AC
47--
48
a50c34dc
AC
49 GDB 5.1 - Known Problems
50 ========================
eccbb20d
AC
51
52--
53
54z8k
55
56The z8k has suffered bit rot and is known to not build. The problem
57was occuring in the opcodes directory.
58
cfc046cf
AC
59--
60
56ddd993
AC
61The BFD directory requires bug-fixed AUTOMAKE et.al.
62
63AUTOMAKE 1.4 incorrectly set the TEXINPUTS environment variable. It
64contained the full path to texinfo.tex when it should have only
65contained the directory. The bug has been fixed in the current
66AUTOMAKE sources. Automake snapshots can be found in:
67 ftp://sourceware.cygnus.com/pub/gdb/snapshots
68and ftp://sourceware.cygnus.com/pub/binutils
69
70--
71
cfc046cf
AC
72Solaris 8 x86 CURSES_H problem
73http://sources.redhat.com/ml/gdb/2000-07/msg00038.html
74
75The original problem was worked around with:
76
77 2000-06-06 Michael Snyder <msnyder@cygnus.com>
78
79 * configure.in: Enable autoconf to find curses.h on Solaris 2.8.
80 * configure: Regenerate.
81
82When building both GDB and SID using the same source tree the problem
83will still occure. sid/component/configure.in mis-configures
84<curses.h> and leaves wrong information in the config cache.
85
552054a8
AC
86--
87
88 GDB 5.2 - Fixes
89 ===============
90
552054a8
AC
91--
92
93 GDB 5.2 - New features
94 ======================
95
96--
97
0db23c95
AC
98GCC 3.0 ABI support (but hopefully sooner...).
99
100--
101
102Objective C/C++ support (but hopefully sooner...).
552054a8 103
77467810
EZ
104--
105
106Import of readline 4.2
107
552054a8
AC
108--
109
110 GDB 5.2 - Cleanups
111 ==================
112
113The following cleanups have been identified as part of GDB 5.2.
114
115--
116
dafc8383 117Remove old code that does not use ui_out functions and all the related
0db23c95
AC
118"ifdef"s. This also allows the elimination of -DUI_OUT from
119Makefile.in and configure.in.
dafc8383
FN
120
121--
122
a50c34dc
AC
123Compiler warnings.
124
ee055267
AC
125Eliminate warnings for all targets on at least one host for one of the
126-W flags. Flags up for debate include: -Wswitch -Wcomment -trigraphs
127-Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable
128-Wunused-value -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
129-Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
130-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
131-Woverloaded-virtual -Winline
552054a8
AC
132
133--
134
61a0eb5b
AC
135Deprecate, if not delete, the following:
136
137 register[]
138 register_valid[]
139 register_buffer()
140 REGISTER_BYTE()
141 Replaced by, on the target side
142 supply_register()
143 and on core-gdb side:
144 {read,write}_register_gen()
145 Remote.c will need to use something
146 other than REGISTER_BYTE() and
147 REGISTER_RAW_SIZE() when unpacking
148 [gG] packets.
149
150 STORE_PSEUDO_REGISTER
151 FETCH_PSEUDO_REGISTER
152 Now handed by the methods
153 gdbarch_{read,write}_register()
154 which sits between core GDB and
155 the register cache.
156
157 REGISTER_CONVERTIBLE
158 REGISTER_CONVERT_TO_RAW
159 REGISTER_CONVERT_TO_VIRTUAL
160 I think these three are redundant.
161 gdbarch_register_{read,write} can
162 do any conversion it likes.
163
164 REGISTER_VIRTUAL_SIZE
165 MAX_REGISTER_VIRTUAL_SIZE
166 REGISTER_VIRTUAL_TYPE
167 I think these can be replaced by
168 the pair:
169 FRAME_REGISTER_TYPE(frame, regnum)
170 REGISTER_TYPE(regnum)
171
172 DO_REGISTERS_INFO
173 Replace with
174 FRAME_REGISTER_INFO (frame, ...)
175
176 REGISTER_SIM_REGNO()
177 If nothing else rename this so that
178 how it relates to rawreg and the
179 regnum is clear.
180
181 REGISTER_BYTES
182 The size of the cache can be computed
183 on the fly.
184
ee055267
AC
185 IS_TRAPPED_INTERNALVAR
186 The pseudo registers should eventually make
187 this redundant.
188
189--
190
56ddd993 191Obsolete the targets:
ee055267
AC
192
193arm*-wince-pe
194mips*-*-pe
195sh*-*-pe
196
56ddd993
AC
197--
198
ee055267
AC
199Obsolete the protocols:
200
56ddd993 201RDB?
ee055267
AC
202
203``As of version 5.3, WindRiver has removed the RDB server (RDB
204protocol support is built into gdb).'' -- Till.
205
61a0eb5b
AC
206--
207
552054a8
AC
208Restructure gdb directory tree so that it avoids any 8.3 and 14
209filename problems.
210
211--
212
213Convert GDB build process to AUTOMAKE.
214
215See also sub-directory configure below.
216
217The current convention is (kind of) to use $(<header>_h) in all
218dependency lists. It isn't done in a consistent way.
219
a50c34dc
AC
220--
221
222 GDB 5.2 - Known Problems
223 ========================
224
4afc966c
AC
225--
226
227 Code Cleanups: General
228 ======================
229
230The following are more general cleanups and fixes. They are not tied
231to any specific release.
bc9e5bbf 232
78566ebe 233
4afc966c
AC
234 New Features and Fixes
235 ======================
bc9e5bbf 236
4afc966c
AC
237These are harder than cleanups but easier than work involving
238fundamental architectural change.
bc9e5bbf
AC
239
240--
241
56ddd993
AC
242 Language Support
243 ================
0a9c3cb6 244
56ddd993 245New languages come onto the scene all the time.
0a9c3cb6
AC
246
247--
248
56ddd993 249Re: Various C++ things
bc9e5bbf 250
56ddd993
AC
251value_headof/value_from_vtable_info are worthless, and should be
252removed. The one place in printcmd.c that uses it should use the RTTI
253functions.
254
255RTTI for g++ should be using the typeinfo functions rather than the
256vtables. The typeinfo functions are always at offset 4 from the
257beginning of the vtable, and are always right. The vtables will have
258weird names like E::VB sometimes. The typeinfo function will always
259be "E type_info function", or somesuch.
bc9e5bbf 260
56ddd993
AC
261value_virtual_fn_field needs to be fixed so there are no failures for
262virtual functions for C++ using g++.
5683e87a 263
56ddd993
AC
264Testsuite cases are the major priority right now for C++ support,
265since i have to make a lot of changes that could potentially break
266each other.
5683e87a
AC
267
268--
269
bc9e5bbf 270
56ddd993
AC
271 Symbol Support
272 ==============
bc9e5bbf 273
4afc966c 274--
bc9e5bbf 275
56ddd993 276Investiagate ways of reducing memory.
2e4e9e68
AC
277
278--
279
56ddd993 280Investigate ways of improving load time.
7ae38352
AC
281
282--
283
56ddd993
AC
284 Testsuite Support
285 =================
4afc966c 286
56ddd993 287There are never to many testcases.
67edb2c6
AC
288
289--
290
56ddd993 291Better thread testsuite.
bc9e5bbf 292
4afc966c 293--
bc9e5bbf 294
56ddd993 295Better C++ testsuite.
bc9e5bbf 296
4afc966c
AC
297--
298
56ddd993
AC
299 Architectural Changes: General
300 ==============================
78566ebe 301
56ddd993
AC
302These are harder than simple cleanups / fixes and, consequently
303involve more work. Typically an Architectural Change will be broken
304down into a more digestible set of cleanups and fixes.
78566ebe
AC
305
306--
307
56ddd993
AC
308 Architectural Change: Multi-arch et al.
309 =======================================
78566ebe 310
56ddd993
AC
311The long term objective is to remove all assumptions that there is a
312single target with a single address space with a single instruction
313set architecture and single application binary interface.
78566ebe 314
56ddd993
AC
315This is an ongoing effort. The first milestone is to enable
316``multi-arch'' where by all architectural decisions are made at
317runtime.
78566ebe 318
56ddd993
AC
319It should be noted that ``gdbarch'' is really ``gdbabi'' and
320``gdbisa''. Once things are multi-arched breaking that down correctly
321will become much easier.
78566ebe
AC
322
323--
324
56ddd993
AC
325 Architectural Change: MI, LIBGDB and scripting languages
326 ========================================================
7ae38352 327
56ddd993
AC
328See also architectural changes related to the event loop. LIBGDB
329can't be finished until there is a generic event loop being used by
330all targets.
7ae38352 331
56ddd993
AC
332The long term objective is it to be possible to integrate GDB into
333scripting languages.
7ae38352
AC
334
335--
336
56ddd993
AC
337 Architectural Change: Async
338 ===========================
1c5b31ef 339
56ddd993
AC
340While GDB uses an event loop when prompting the user for input. That
341event loop is not exploited by targets when they allow the target
342program to continue. Typically targets still block in (target_wait())
343until the program again halts.
1c5b31ef 344
56ddd993
AC
345The closest a target comes to supporting full asynchronous mode are
346the remote targets ``async'' and ``extended-async''.
c906108c 347
7ae38352 348--
c906108c 349
c906108c
SS
350# Local Variables:
351# mode: text
352# End:
This page took 0.125932 seconds and 4 git commands to generate.