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