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