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