2003-01-09 Andrew Cagney <ac131313@redhat.com>
[deliverable/binutils-gdb.git] / gdb / TODO
CommitLineData
c906108c 1If you find inaccuracies in this list, please send mail to
b76898ab 2gdb-patches@sources.redhat.com. If you would like to work on any
2a00c9ce
AC
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
b76898ab 23 http://sources.redhat.com/ml/gdb-patches/2000-05/msg00230.html
a50c34dc
AC
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:
b76898ab
AC
67 ftp://sources.redhat.com/pub/gdb/infrastructure
68and ftp://sources.redhat.com/pub/binutils
56ddd993
AC
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
a50c34dc
AC
117Compiler warnings.
118
ee055267
AC
119Eliminate warnings for all targets on at least one host for one of the
120-W flags. Flags up for debate include: -Wswitch -Wcomment -trigraphs
121-Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable
122-Wunused-value -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
123-Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
124-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
125-Woverloaded-virtual -Winline
552054a8
AC
126
127--
128
61a0eb5b
AC
129Deprecate, if not delete, the following:
130
131 register[]
132 register_valid[]
61a0eb5b
AC
133 REGISTER_BYTE()
134 Replaced by, on the target side
135 supply_register()
136 and on core-gdb side:
137 {read,write}_register_gen()
138 Remote.c will need to use something
139 other than REGISTER_BYTE() and
140 REGISTER_RAW_SIZE() when unpacking
141 [gG] packets.
142
143 STORE_PSEUDO_REGISTER
144 FETCH_PSEUDO_REGISTER
145 Now handed by the methods
146 gdbarch_{read,write}_register()
147 which sits between core GDB and
148 the register cache.
149
150 REGISTER_CONVERTIBLE
151 REGISTER_CONVERT_TO_RAW
152 REGISTER_CONVERT_TO_VIRTUAL
153 I think these three are redundant.
154 gdbarch_register_{read,write} can
155 do any conversion it likes.
156
157 REGISTER_VIRTUAL_SIZE
158 MAX_REGISTER_VIRTUAL_SIZE
159 REGISTER_VIRTUAL_TYPE
160 I think these can be replaced by
161 the pair:
162 FRAME_REGISTER_TYPE(frame, regnum)
163 REGISTER_TYPE(regnum)
164
165 DO_REGISTERS_INFO
166 Replace with
167 FRAME_REGISTER_INFO (frame, ...)
168
169 REGISTER_SIM_REGNO()
170 If nothing else rename this so that
171 how it relates to rawreg and the
172 regnum is clear.
173
174 REGISTER_BYTES
175 The size of the cache can be computed
176 on the fly.
177
ee055267
AC
178 IS_TRAPPED_INTERNALVAR
179 The pseudo registers should eventually make
180 this redundant.
181
182--
183
56ddd993 184Obsolete the targets:
ee055267
AC
185
186arm*-wince-pe
187mips*-*-pe
188sh*-*-pe
189
56ddd993
AC
190--
191
ee055267
AC
192Obsolete the protocols:
193
56ddd993 194RDB?
ee055267
AC
195
196``As of version 5.3, WindRiver has removed the RDB server (RDB
197protocol support is built into gdb).'' -- Till.
198
61a0eb5b
AC
199--
200
552054a8
AC
201Restructure gdb directory tree so that it avoids any 8.3 and 14
202filename problems.
203
204--
205
206Convert GDB build process to AUTOMAKE.
207
208See also sub-directory configure below.
209
210The current convention is (kind of) to use $(<header>_h) in all
211dependency lists. It isn't done in a consistent way.
212
a50c34dc
AC
213--
214
215 GDB 5.2 - Known Problems
216 ========================
217
4afc966c
AC
218--
219
220 Code Cleanups: General
221 ======================
222
223The following are more general cleanups and fixes. They are not tied
224to any specific release.
bc9e5bbf 225
78566ebe 226
4afc966c
AC
227 New Features and Fixes
228 ======================
bc9e5bbf 229
4afc966c
AC
230These are harder than cleanups but easier than work involving
231fundamental architectural change.
bc9e5bbf
AC
232
233--
234
56ddd993
AC
235 Language Support
236 ================
0a9c3cb6 237
56ddd993 238New languages come onto the scene all the time.
0a9c3cb6
AC
239
240--
241
56ddd993 242Re: Various C++ things
bc9e5bbf 243
56ddd993
AC
244RTTI for g++ should be using the typeinfo functions rather than the
245vtables. The typeinfo functions are always at offset 4 from the
246beginning of the vtable, and are always right. The vtables will have
247weird names like E::VB sometimes. The typeinfo function will always
248be "E type_info function", or somesuch.
bc9e5bbf 249
56ddd993
AC
250value_virtual_fn_field needs to be fixed so there are no failures for
251virtual functions for C++ using g++.
5683e87a 252
56ddd993
AC
253Testsuite cases are the major priority right now for C++ support,
254since i have to make a lot of changes that could potentially break
255each other.
5683e87a
AC
256
257--
258
bc9e5bbf 259
56ddd993
AC
260 Symbol Support
261 ==============
bc9e5bbf 262
4afc966c 263--
bc9e5bbf 264
56ddd993 265Investiagate ways of reducing memory.
2e4e9e68
AC
266
267--
268
56ddd993 269Investigate ways of improving load time.
7ae38352
AC
270
271--
272
56ddd993
AC
273 Testsuite Support
274 =================
4afc966c 275
56ddd993 276There are never to many testcases.
67edb2c6
AC
277
278--
279
56ddd993 280Better thread testsuite.
bc9e5bbf 281
4afc966c 282--
bc9e5bbf 283
56ddd993 284Better C++ testsuite.
bc9e5bbf 285
4afc966c
AC
286--
287
56ddd993
AC
288 Architectural Changes: General
289 ==============================
78566ebe 290
56ddd993
AC
291These are harder than simple cleanups / fixes and, consequently
292involve more work. Typically an Architectural Change will be broken
293down into a more digestible set of cleanups and fixes.
78566ebe
AC
294
295--
296
56ddd993
AC
297 Architectural Change: Multi-arch et al.
298 =======================================
78566ebe 299
56ddd993
AC
300The long term objective is to remove all assumptions that there is a
301single target with a single address space with a single instruction
302set architecture and single application binary interface.
78566ebe 303
56ddd993
AC
304This is an ongoing effort. The first milestone is to enable
305``multi-arch'' where by all architectural decisions are made at
306runtime.
78566ebe 307
56ddd993
AC
308It should be noted that ``gdbarch'' is really ``gdbabi'' and
309``gdbisa''. Once things are multi-arched breaking that down correctly
310will become much easier.
78566ebe
AC
311
312--
313
56ddd993
AC
314 Architectural Change: MI, LIBGDB and scripting languages
315 ========================================================
7ae38352 316
56ddd993
AC
317See also architectural changes related to the event loop. LIBGDB
318can't be finished until there is a generic event loop being used by
319all targets.
7ae38352 320
56ddd993
AC
321The long term objective is it to be possible to integrate GDB into
322scripting languages.
7ae38352
AC
323
324--
325
56ddd993
AC
326 Architectural Change: Async
327 ===========================
1c5b31ef 328
56ddd993
AC
329While GDB uses an event loop when prompting the user for input. That
330event loop is not exploited by targets when they allow the target
331program to continue. Typically targets still block in (target_wait())
332until the program again halts.
1c5b31ef 333
56ddd993
AC
334The closest a target comes to supporting full asynchronous mode are
335the remote targets ``async'' and ``extended-async''.
c906108c 336
7ae38352 337--
c906108c 338
c906108c
SS
339# Local Variables:
340# mode: text
341# End:
This page took 0.199912 seconds and 4 git commands to generate.