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