* d10v-dis.c: Fix formatting.
[deliverable/binutils-gdb.git] / gdb / TODO
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.
5
6
7 GDB 5.1 - Fixes
8 ===============
9
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.
12
13 --
14
15 Wow, three bug reports for the same problem in one day! We should
16 probably make fixing this a real priority :-).
17
18 Anyway, thanks for reporting.
19
20 The following patch will fix the problems with setting breakpoints in
21 dynamically loaded objects:
22
23 http://sourceware.cygnus.com/ml/gdb-patches/2000-05/msg00230.html
24
25 This patch isn't checked in yet (ping Michael/JimB), but I hope this
26 will be in the next GDB release.
27
28 There should really be a test in the testsuite for this problem, since
29 it keeps coming up :-(. Any volunteers?
30
31 Mark
32
33 --
34
35 GDB 5.1 - New features
36 ======================
37
38 The following new features should be included in 5.1.
39
40 --
41
42 GDB 5.1 - Cleanups
43 ==================
44
45 The following code cleanups will hopefully be applied to GDB 5.1.
46
47 --
48
49 GDB 5.1 - Known Problems
50 ========================
51
52 --
53
54 z8k
55
56 The z8k has suffered bit rot and is known to not build. The problem
57 was occuring in the opcodes directory.
58
59 --
60
61 The BFD directory requires bug-fixed AUTOMAKE et.al.
62
63 AUTOMAKE 1.4 incorrectly set the TEXINPUTS environment variable. It
64 contained the full path to texinfo.tex when it should have only
65 contained the directory. The bug has been fixed in the current
66 AUTOMAKE sources. Automake snapshots can be found in:
67 ftp://sourceware.cygnus.com/pub/gdb/snapshots
68 and ftp://sourceware.cygnus.com/pub/binutils
69
70 --
71
72 Solaris 8 x86 CURSES_H problem
73 http://sources.redhat.com/ml/gdb/2000-07/msg00038.html
74
75 The 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
82 When building both GDB and SID using the same source tree the problem
83 will still occure. sid/component/configure.in mis-configures
84 <curses.h> and leaves wrong information in the config cache.
85
86 --
87
88 GDB 5.2 - Fixes
89 ===============
90
91 --
92
93 GDB 5.2 - New features
94 ======================
95
96 --
97
98 GCC 3.0 ABI support (but hopefully sooner...).
99
100 --
101
102 Objective C/C++ support (but hopefully sooner...).
103
104 --
105
106 Import of readline 4.2
107
108 --
109
110 GDB 5.2 - Cleanups
111 ==================
112
113 The following cleanups have been identified as part of GDB 5.2.
114
115 --
116
117 Remove old code that does not use ui_out functions and all the related
118 "ifdef"s. This also allows the elimination of -DUI_OUT from
119 Makefile.in and configure.in.
120
121 --
122
123 Compiler warnings.
124
125 Eliminate 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
132
133 --
134
135 Deprecate, 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
185 IS_TRAPPED_INTERNALVAR
186 The pseudo registers should eventually make
187 this redundant.
188
189 --
190
191 Obsolete the targets:
192
193 arm*-wince-pe
194 mips*-*-pe
195 sh*-*-pe
196
197 --
198
199 Obsolete the protocols:
200
201 RDB?
202
203 ``As of version 5.3, WindRiver has removed the RDB server (RDB
204 protocol support is built into gdb).'' -- Till.
205
206 --
207
208 Restructure gdb directory tree so that it avoids any 8.3 and 14
209 filename problems.
210
211 --
212
213 Convert GDB build process to AUTOMAKE.
214
215 See also sub-directory configure below.
216
217 The current convention is (kind of) to use $(<header>_h) in all
218 dependency lists. It isn't done in a consistent way.
219
220 --
221
222 GDB 5.2 - Known Problems
223 ========================
224
225 --
226
227 Code Cleanups: General
228 ======================
229
230 The following are more general cleanups and fixes. They are not tied
231 to any specific release.
232
233
234 New Features and Fixes
235 ======================
236
237 These are harder than cleanups but easier than work involving
238 fundamental architectural change.
239
240 --
241
242 Language Support
243 ================
244
245 New languages come onto the scene all the time.
246
247 --
248
249 Re: Various C++ things
250
251 value_headof/value_from_vtable_info are worthless, and should be
252 removed. The one place in printcmd.c that uses it should use the RTTI
253 functions.
254
255 RTTI for g++ should be using the typeinfo functions rather than the
256 vtables. The typeinfo functions are always at offset 4 from the
257 beginning of the vtable, and are always right. The vtables will have
258 weird names like E::VB sometimes. The typeinfo function will always
259 be "E type_info function", or somesuch.
260
261 value_virtual_fn_field needs to be fixed so there are no failures for
262 virtual functions for C++ using g++.
263
264 Testsuite cases are the major priority right now for C++ support,
265 since i have to make a lot of changes that could potentially break
266 each other.
267
268 --
269
270
271 Symbol Support
272 ==============
273
274 --
275
276 Investiagate ways of reducing memory.
277
278 --
279
280 Investigate ways of improving load time.
281
282 --
283
284 Testsuite Support
285 =================
286
287 There are never to many testcases.
288
289 --
290
291 Better thread testsuite.
292
293 --
294
295 Better C++ testsuite.
296
297 --
298
299 Architectural Changes: General
300 ==============================
301
302 These are harder than simple cleanups / fixes and, consequently
303 involve more work. Typically an Architectural Change will be broken
304 down into a more digestible set of cleanups and fixes.
305
306 --
307
308 Architectural Change: Multi-arch et al.
309 =======================================
310
311 The long term objective is to remove all assumptions that there is a
312 single target with a single address space with a single instruction
313 set architecture and single application binary interface.
314
315 This is an ongoing effort. The first milestone is to enable
316 ``multi-arch'' where by all architectural decisions are made at
317 runtime.
318
319 It should be noted that ``gdbarch'' is really ``gdbabi'' and
320 ``gdbisa''. Once things are multi-arched breaking that down correctly
321 will become much easier.
322
323 --
324
325 Architectural Change: MI, LIBGDB and scripting languages
326 ========================================================
327
328 See also architectural changes related to the event loop. LIBGDB
329 can't be finished until there is a generic event loop being used by
330 all targets.
331
332 The long term objective is it to be possible to integrate GDB into
333 scripting languages.
334
335 --
336
337 Architectural Change: Async
338 ===========================
339
340 While GDB uses an event loop when prompting the user for input. That
341 event loop is not exploited by targets when they allow the target
342 program to continue. Typically targets still block in (target_wait())
343 until the program again halts.
344
345 The closest a target comes to supporting full asynchronous mode are
346 the remote targets ``async'' and ``extended-async''.
347
348 --
349
350 # Local Variables:
351 # mode: text
352 # End:
This page took 0.039545 seconds and 4 git commands to generate.