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