Add forgotten ChangeLog snippet for last elf64-x86-64.c patch.
[deliverable/binutils-gdb.git] / gdb / TODO
1 If you find inaccuracies in this list, please send mail to
2 gdb-patches@sources.redhat.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://sources.redhat.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://sources.redhat.com/pub/gdb/infrastructure
68 and ftp://sources.redhat.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 Compiler warnings.
118
119 Eliminate 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
129 Deprecate, 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 --
175
176 Obsolete the targets:
177
178 arm*-wince-pe
179 mips*-*-pe
180 sh*-*-pe
181
182 --
183
184 Obsolete the protocols:
185
186 RDB?
187
188 ``As of version 5.3, WindRiver has removed the RDB server (RDB
189 protocol support is built into gdb).'' -- Till.
190
191 --
192
193 Restructure gdb directory tree so that it avoids any 8.3 and 14
194 filename problems.
195
196 --
197
198 Convert GDB build process to AUTOMAKE.
199
200 See also sub-directory configure below.
201
202 The current convention is (kind of) to use $(<header>_h) in all
203 dependency lists. It isn't done in a consistent way.
204
205 --
206
207 GDB 5.2 - Known Problems
208 ========================
209
210 --
211
212 Code Cleanups: General
213 ======================
214
215 The following are more general cleanups and fixes. They are not tied
216 to any specific release.
217
218
219 New Features and Fixes
220 ======================
221
222 These are harder than cleanups but easier than work involving
223 fundamental architectural change.
224
225 --
226
227 Language Support
228 ================
229
230 New languages come onto the scene all the time.
231
232 --
233
234 Re: Various C++ things
235
236 RTTI for g++ should be using the typeinfo functions rather than the
237 vtables. The typeinfo functions are always at offset 4 from the
238 beginning of the vtable, and are always right. The vtables will have
239 weird names like E::VB sometimes. The typeinfo function will always
240 be "E type_info function", or somesuch.
241
242 value_virtual_fn_field needs to be fixed so there are no failures for
243 virtual functions for C++ using g++.
244
245 Testsuite cases are the major priority right now for C++ support,
246 since i have to make a lot of changes that could potentially break
247 each other.
248
249 --
250
251
252 Symbol Support
253 ==============
254
255 --
256
257 Investiagate ways of reducing memory.
258
259 --
260
261 Investigate ways of improving load time.
262
263 --
264
265 Testsuite Support
266 =================
267
268 There are never to many testcases.
269
270 --
271
272 Better thread testsuite.
273
274 --
275
276 Better C++ testsuite.
277
278 --
279
280 Architectural Changes: General
281 ==============================
282
283 These are harder than simple cleanups / fixes and, consequently
284 involve more work. Typically an Architectural Change will be broken
285 down into a more digestible set of cleanups and fixes.
286
287 --
288
289 Architectural Change: Multi-arch et al.
290 =======================================
291
292 The long term objective is to remove all assumptions that there is a
293 single target with a single address space with a single instruction
294 set architecture and single application binary interface.
295
296 This is an ongoing effort. The first milestone is to enable
297 ``multi-arch'' where by all architectural decisions are made at
298 runtime.
299
300 It should be noted that ``gdbarch'' is really ``gdbabi'' and
301 ``gdbisa''. Once things are multi-arched breaking that down correctly
302 will become much easier.
303
304 --
305
306 Architectural Change: MI, LIBGDB and scripting languages
307 ========================================================
308
309 See also architectural changes related to the event loop. LIBGDB
310 can't be finished until there is a generic event loop being used by
311 all targets.
312
313 The long term objective is it to be possible to integrate GDB into
314 scripting languages.
315
316 --
317
318 Architectural Change: Async
319 ===========================
320
321 While GDB uses an event loop when prompting the user for input. That
322 event loop is not exploited by targets when they allow the target
323 program to continue. Typically targets still block in (target_wait())
324 until the program again halts.
325
326 The closest a target comes to supporting full asynchronous mode are
327 the remote targets ``async'' and ``extended-async''.
328
329 --
330
331 # Local Variables:
332 # mode: text
333 # End:
This page took 0.035974 seconds and 4 git commands to generate.