* vax-tdep.c (INVALID_FLOAT, MAXLEN, NOPCODES): Don't define.
[deliverable/binutils-gdb.git] / gdb / TODO
... / ...
CommitLineData
1If you find inaccuracies in this list, please send mail to
2gdb-patches@sources.redhat.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.
5
6
7 GDB 5.1 - Fixes
8 ===============
9
10Below is a list of problems identified during the GDB 5.0 release
11cycle. People hope to have these problems fixed in 5.1.
12
13--
14
15Wow, three bug reports for the same problem in one day! We should
16probably make fixing this a real priority :-).
17
18Anyway, thanks for reporting.
19
20The following patch will fix the problems with setting breakpoints in
21dynamically loaded objects:
22
23 http://sources.redhat.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
32
33--
34
35 GDB 5.1 - New features
36 ======================
37
38The following new features should be included in 5.1.
39
40--
41
42 GDB 5.1 - Cleanups
43 ==================
44
45The following code cleanups will hopefully be applied to GDB 5.1.
46
47--
48
49 GDB 5.1 - Known Problems
50 ========================
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
59--
60
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:
67 ftp://sources.redhat.com/pub/gdb/infrastructure
68and ftp://sources.redhat.com/pub/binutils
69
70--
71
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
86--
87
88 GDB 5.2 - Fixes
89 ===============
90
91--
92
93 GDB 5.2 - New features
94 ======================
95
96--
97
98GCC 3.0 ABI support (but hopefully sooner...).
99
100--
101
102Objective C/C++ support (but hopefully sooner...).
103
104--
105
106Import of readline 4.2
107
108--
109
110 GDB 5.2 - Cleanups
111 ==================
112
113The following cleanups have been identified as part of GDB 5.2.
114
115--
116
117Compiler warnings.
118
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
126
127--
128
129Deprecate, if not delete, the following:
130
131 register[]
132 register_valid[]
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
178--
179
180Obsolete the targets:
181
182arm*-wince-pe
183mips*-*-pe
184sh*-*-pe
185
186--
187
188Obsolete the protocols:
189
190RDB?
191
192``As of version 5.3, WindRiver has removed the RDB server (RDB
193protocol support is built into gdb).'' -- Till.
194
195--
196
197Restructure gdb directory tree so that it avoids any 8.3 and 14
198filename problems.
199
200--
201
202Convert GDB build process to AUTOMAKE.
203
204See also sub-directory configure below.
205
206The current convention is (kind of) to use $(<header>_h) in all
207dependency lists. It isn't done in a consistent way.
208
209--
210
211 GDB 5.2 - Known Problems
212 ========================
213
214--
215
216 Code Cleanups: General
217 ======================
218
219The following are more general cleanups and fixes. They are not tied
220to any specific release.
221
222
223 New Features and Fixes
224 ======================
225
226These are harder than cleanups but easier than work involving
227fundamental architectural change.
228
229--
230
231 Language Support
232 ================
233
234New languages come onto the scene all the time.
235
236--
237
238Re: Various C++ things
239
240RTTI for g++ should be using the typeinfo functions rather than the
241vtables. The typeinfo functions are always at offset 4 from the
242beginning of the vtable, and are always right. The vtables will have
243weird names like E::VB sometimes. The typeinfo function will always
244be "E type_info function", or somesuch.
245
246value_virtual_fn_field needs to be fixed so there are no failures for
247virtual functions for C++ using g++.
248
249Testsuite cases are the major priority right now for C++ support,
250since i have to make a lot of changes that could potentially break
251each other.
252
253--
254
255
256 Symbol Support
257 ==============
258
259--
260
261Investiagate ways of reducing memory.
262
263--
264
265Investigate ways of improving load time.
266
267--
268
269 Testsuite Support
270 =================
271
272There are never to many testcases.
273
274--
275
276Better thread testsuite.
277
278--
279
280Better C++ testsuite.
281
282--
283
284 Architectural Changes: General
285 ==============================
286
287These are harder than simple cleanups / fixes and, consequently
288involve more work. Typically an Architectural Change will be broken
289down into a more digestible set of cleanups and fixes.
290
291--
292
293 Architectural Change: Multi-arch et al.
294 =======================================
295
296The long term objective is to remove all assumptions that there is a
297single target with a single address space with a single instruction
298set architecture and single application binary interface.
299
300This is an ongoing effort. The first milestone is to enable
301``multi-arch'' where by all architectural decisions are made at
302runtime.
303
304It should be noted that ``gdbarch'' is really ``gdbabi'' and
305``gdbisa''. Once things are multi-arched breaking that down correctly
306will become much easier.
307
308--
309
310 Architectural Change: MI, LIBGDB and scripting languages
311 ========================================================
312
313See also architectural changes related to the event loop. LIBGDB
314can't be finished until there is a generic event loop being used by
315all targets.
316
317The long term objective is it to be possible to integrate GDB into
318scripting languages.
319
320--
321
322 Architectural Change: Async
323 ===========================
324
325While GDB uses an event loop when prompting the user for input. That
326event loop is not exploited by targets when they allow the target
327program to continue. Typically targets still block in (target_wait())
328until the program again halts.
329
330The closest a target comes to supporting full asynchronous mode are
331the remote targets ``async'' and ``extended-async''.
332
333--
334
335# Local Variables:
336# mode: text
337# End:
This page took 0.02449 seconds and 4 git commands to generate.