OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [gdb-5.3/] [gdb/] [TODO] - Blame information for rev 1181

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
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  
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
 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 $(
_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:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.