]>
Commit | Line | Data |
---|---|---|
c906108c | 1 | If you find inaccuracies in this list, please send mail to |
b76898ab | 2 | [email protected]. If you would like to work on any |
2a00c9ce AC |
3 | of these, you should consider sending mail to the same address, to |
4 | find out whether anyone else is working on it. | |
c906108c | 5 | |
138f88c0 | 6 | |
552054a8 AC |
7 | GDB 5.1 - Fixes |
8 | =============== | |
138f88c0 | 9 | |
bc9e5bbf | 10 | Below is a list of problems identified during the GDB 5.0 release |
552054a8 | 11 | cycle. People hope to have these problems fixed in 5.1. |
4fd99b5a AC |
12 | |
13 | -- | |
14 | ||
a50c34dc AC |
15 | Wow, three bug reports for the same problem in one day! We should |
16 | probably make fixing this a real priority :-). | |
138f88c0 | 17 | |
a50c34dc AC |
18 | Anyway, thanks for reporting. |
19 | ||
20 | The following patch will fix the problems with setting breakpoints in | |
21 | dynamically loaded objects: | |
22 | ||
b76898ab | 23 | http://sources.redhat.com/ml/gdb-patches/2000-05/msg00230.html |
a50c34dc AC |
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 | |
bc9e5bbf | 32 | |
552054a8 AC |
33 | -- |
34 | ||
35 | GDB 5.1 - New features | |
36 | ====================== | |
37 | ||
38 | The following new features should be included in 5.1. | |
39 | ||
552054a8 AC |
40 | -- |
41 | ||
42 | GDB 5.1 - Cleanups | |
43 | ================== | |
44 | ||
45 | The 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 | ||
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 | ||
cfc046cf AC |
59 | -- |
60 | ||
56ddd993 AC |
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: | |
b76898ab AC |
67 | ftp://sources.redhat.com/pub/gdb/infrastructure |
68 | and ftp://sources.redhat.com/pub/binutils | |
56ddd993 AC |
69 | |
70 | -- | |
71 | ||
cfc046cf AC |
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 <[email protected]> | |
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 | ||
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 |
98 | GCC 3.0 ABI support (but hopefully sooner...). |
99 | ||
100 | -- | |
101 | ||
102 | Objective C/C++ support (but hopefully sooner...). | |
552054a8 | 103 | |
77467810 EZ |
104 | -- |
105 | ||
106 | Import of readline 4.2 | |
107 | ||
552054a8 AC |
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 | ||
dafc8383 | 117 | Remove 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 |
119 | Makefile.in and configure.in. | |
dafc8383 FN |
120 | |
121 | -- | |
122 | ||
a50c34dc AC |
123 | Compiler warnings. |
124 | ||
ee055267 AC |
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 | |
552054a8 AC |
132 | |
133 | -- | |
134 | ||
61a0eb5b AC |
135 | Deprecate, 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 | 190 | Obsolete the targets: |
ee055267 AC |
191 | |
192 | arm*-wince-pe | |
193 | mips*-*-pe | |
194 | sh*-*-pe | |
195 | ||
56ddd993 AC |
196 | -- |
197 | ||
ee055267 AC |
198 | Obsolete the protocols: |
199 | ||
56ddd993 | 200 | RDB? |
ee055267 AC |
201 | |
202 | ``As of version 5.3, WindRiver has removed the RDB server (RDB | |
203 | protocol support is built into gdb).'' -- Till. | |
204 | ||
61a0eb5b AC |
205 | -- |
206 | ||
552054a8 AC |
207 | Restructure gdb directory tree so that it avoids any 8.3 and 14 |
208 | filename problems. | |
209 | ||
210 | -- | |
211 | ||
212 | Convert GDB build process to AUTOMAKE. | |
213 | ||
214 | See also sub-directory configure below. | |
215 | ||
216 | The current convention is (kind of) to use $(<header>_h) in all | |
217 | dependency 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 | ||
229 | The following are more general cleanups and fixes. They are not tied | |
230 | to any specific release. | |
bc9e5bbf | 231 | |
78566ebe | 232 | |
4afc966c AC |
233 | New Features and Fixes |
234 | ====================== | |
bc9e5bbf | 235 | |
4afc966c AC |
236 | These are harder than cleanups but easier than work involving |
237 | fundamental architectural change. | |
bc9e5bbf AC |
238 | |
239 | -- | |
240 | ||
56ddd993 AC |
241 | Language Support |
242 | ================ | |
0a9c3cb6 | 243 | |
56ddd993 | 244 | New languages come onto the scene all the time. |
0a9c3cb6 AC |
245 | |
246 | -- | |
247 | ||
56ddd993 | 248 | Re: Various C++ things |
bc9e5bbf | 249 | |
56ddd993 AC |
250 | RTTI for g++ should be using the typeinfo functions rather than the |
251 | vtables. The typeinfo functions are always at offset 4 from the | |
252 | beginning of the vtable, and are always right. The vtables will have | |
253 | weird names like E::VB sometimes. The typeinfo function will always | |
254 | be "E type_info function", or somesuch. | |
bc9e5bbf | 255 | |
56ddd993 AC |
256 | value_virtual_fn_field needs to be fixed so there are no failures for |
257 | virtual functions for C++ using g++. | |
5683e87a | 258 | |
56ddd993 AC |
259 | Testsuite cases are the major priority right now for C++ support, |
260 | since i have to make a lot of changes that could potentially break | |
261 | each other. | |
5683e87a AC |
262 | |
263 | -- | |
264 | ||
bc9e5bbf | 265 | |
56ddd993 AC |
266 | Symbol Support |
267 | ============== | |
bc9e5bbf | 268 | |
4afc966c | 269 | -- |
bc9e5bbf | 270 | |
56ddd993 | 271 | Investiagate ways of reducing memory. |
2e4e9e68 AC |
272 | |
273 | -- | |
274 | ||
56ddd993 | 275 | Investigate ways of improving load time. |
7ae38352 AC |
276 | |
277 | -- | |
278 | ||
56ddd993 AC |
279 | Testsuite Support |
280 | ================= | |
4afc966c | 281 | |
56ddd993 | 282 | There are never to many testcases. |
67edb2c6 AC |
283 | |
284 | -- | |
285 | ||
56ddd993 | 286 | Better thread testsuite. |
bc9e5bbf | 287 | |
4afc966c | 288 | -- |
bc9e5bbf | 289 | |
56ddd993 | 290 | Better C++ testsuite. |
bc9e5bbf | 291 | |
4afc966c AC |
292 | -- |
293 | ||
56ddd993 AC |
294 | Architectural Changes: General |
295 | ============================== | |
78566ebe | 296 | |
56ddd993 AC |
297 | These are harder than simple cleanups / fixes and, consequently |
298 | involve more work. Typically an Architectural Change will be broken | |
299 | down into a more digestible set of cleanups and fixes. | |
78566ebe AC |
300 | |
301 | -- | |
302 | ||
56ddd993 AC |
303 | Architectural Change: Multi-arch et al. |
304 | ======================================= | |
78566ebe | 305 | |
56ddd993 AC |
306 | The long term objective is to remove all assumptions that there is a |
307 | single target with a single address space with a single instruction | |
308 | set architecture and single application binary interface. | |
78566ebe | 309 | |
56ddd993 AC |
310 | This is an ongoing effort. The first milestone is to enable |
311 | ``multi-arch'' where by all architectural decisions are made at | |
312 | runtime. | |
78566ebe | 313 | |
56ddd993 AC |
314 | It should be noted that ``gdbarch'' is really ``gdbabi'' and |
315 | ``gdbisa''. Once things are multi-arched breaking that down correctly | |
316 | will become much easier. | |
78566ebe AC |
317 | |
318 | -- | |
319 | ||
56ddd993 AC |
320 | Architectural Change: MI, LIBGDB and scripting languages |
321 | ======================================================== | |
7ae38352 | 322 | |
56ddd993 AC |
323 | See also architectural changes related to the event loop. LIBGDB |
324 | can't be finished until there is a generic event loop being used by | |
325 | all targets. | |
7ae38352 | 326 | |
56ddd993 AC |
327 | The long term objective is it to be possible to integrate GDB into |
328 | scripting languages. | |
7ae38352 AC |
329 | |
330 | -- | |
331 | ||
56ddd993 AC |
332 | Architectural Change: Async |
333 | =========================== | |
1c5b31ef | 334 | |
56ddd993 AC |
335 | While GDB uses an event loop when prompting the user for input. That |
336 | event loop is not exploited by targets when they allow the target | |
337 | program to continue. Typically targets still block in (target_wait()) | |
338 | until the program again halts. | |
1c5b31ef | 339 | |
56ddd993 AC |
340 | The closest a target comes to supporting full asynchronous mode are |
341 | the remote targets ``async'' and ``extended-async''. | |
c906108c | 342 | |
7ae38352 | 343 | -- |
c906108c | 344 | |
c906108c SS |
345 | # Local Variables: |
346 | # mode: text | |
347 | # End: |