| 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 | Remove old code that does not use ui_out functions and all the related |
| 118 | "ifdef"s. This also allows the elimination of -DUI_OUT from |
| 119 | Makefile.in and configure.in. |
| 120 | |
| 121 | -- |
| 122 | |
| 123 | Compiler warnings. |
| 124 | |
| 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 |
| 132 | |
| 133 | -- |
| 134 | |
| 135 | Deprecate, if not delete, the following: |
| 136 | |
| 137 | register[] |
| 138 | register_valid[] |
| 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 | |
| 184 | IS_TRAPPED_INTERNALVAR |
| 185 | The pseudo registers should eventually make |
| 186 | this redundant. |
| 187 | |
| 188 | -- |
| 189 | |
| 190 | Obsolete the targets: |
| 191 | |
| 192 | arm*-wince-pe |
| 193 | mips*-*-pe |
| 194 | sh*-*-pe |
| 195 | |
| 196 | -- |
| 197 | |
| 198 | Obsolete the protocols: |
| 199 | |
| 200 | RDB? |
| 201 | |
| 202 | ``As of version 5.3, WindRiver has removed the RDB server (RDB |
| 203 | protocol support is built into gdb).'' -- Till. |
| 204 | |
| 205 | -- |
| 206 | |
| 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 | |
| 219 | -- |
| 220 | |
| 221 | GDB 5.2 - Known Problems |
| 222 | ======================== |
| 223 | |
| 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. |
| 231 | |
| 232 | |
| 233 | New Features and Fixes |
| 234 | ====================== |
| 235 | |
| 236 | These are harder than cleanups but easier than work involving |
| 237 | fundamental architectural change. |
| 238 | |
| 239 | -- |
| 240 | |
| 241 | Language Support |
| 242 | ================ |
| 243 | |
| 244 | New languages come onto the scene all the time. |
| 245 | |
| 246 | -- |
| 247 | |
| 248 | Re: Various C++ things |
| 249 | |
| 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. |
| 255 | |
| 256 | value_virtual_fn_field needs to be fixed so there are no failures for |
| 257 | virtual functions for C++ using g++. |
| 258 | |
| 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. |
| 262 | |
| 263 | -- |
| 264 | |
| 265 | |
| 266 | Symbol Support |
| 267 | ============== |
| 268 | |
| 269 | -- |
| 270 | |
| 271 | Investiagate ways of reducing memory. |
| 272 | |
| 273 | -- |
| 274 | |
| 275 | Investigate ways of improving load time. |
| 276 | |
| 277 | -- |
| 278 | |
| 279 | Testsuite Support |
| 280 | ================= |
| 281 | |
| 282 | There are never to many testcases. |
| 283 | |
| 284 | -- |
| 285 | |
| 286 | Better thread testsuite. |
| 287 | |
| 288 | -- |
| 289 | |
| 290 | Better C++ testsuite. |
| 291 | |
| 292 | -- |
| 293 | |
| 294 | Architectural Changes: General |
| 295 | ============================== |
| 296 | |
| 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. |
| 300 | |
| 301 | -- |
| 302 | |
| 303 | Architectural Change: Multi-arch et al. |
| 304 | ======================================= |
| 305 | |
| 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. |
| 309 | |
| 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. |
| 313 | |
| 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. |
| 317 | |
| 318 | -- |
| 319 | |
| 320 | Architectural Change: MI, LIBGDB and scripting languages |
| 321 | ======================================================== |
| 322 | |
| 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. |
| 326 | |
| 327 | The long term objective is it to be possible to integrate GDB into |
| 328 | scripting languages. |
| 329 | |
| 330 | -- |
| 331 | |
| 332 | Architectural Change: Async |
| 333 | =========================== |
| 334 | |
| 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. |
| 339 | |
| 340 | The closest a target comes to supporting full asynchronous mode are |
| 341 | the remote targets ``async'' and ``extended-async''. |
| 342 | |
| 343 | -- |
| 344 | |
| 345 | # Local Variables: |
| 346 | # mode: text |
| 347 | # End: |