2002-09-14 Martin Baulig <martin@gnome.org>
[mono.git] / mcs / class / Mono.CSharp.Debugger / ChangeLog
1 2002-09-14  Martin Baulig  <martin@gnome.org>
2
3         * MonoSymbolTable.cs: Use only CLS-compliant types here, bumped version
4         number to 19.
5
6         * MonoSymbolTableReader.cs: Removed, this is now in the debugger.
7
8 2002-09-03  Martin Baulig  <martin@gnome.org>
9
10         * AssemblerWriterI386.cs, IAssemblerWriter.cs, MonoDwarfFileWriter.cs,
11         README, README.relocation-table, csharp-lang.[ch], gdb-csharp-support.patch,
12         gdb-variable-scopes.patch: Removed.
13
14 2002-09-03  Martin Baulig  <martin@gnome.org>
15
16         * MonoSymbolTableReader.cs (MonoSymbolTableReader.ImageFile): New
17         public property.
18
19         * MonoSymbolTable.cs: Bumped version number to 18.
20
21 2002-08-27  Martin Baulig  <martin@gnome.org>
22
23         * MonoSymbolTable.cs (MethodAddress): Removed `TrampolineAddress'.
24
25 2002-08-27  Martin Baulig  <martin@gnome.org>
26
27         * MonoSymbolTable.cs: Changed the file format in a way that allows us
28         open it read-only and to use a specially malloced area for all the
29         dynamic data.   
30
31 2002-08-25  Martin Baulig  <martin@gnome.org>
32
33         * MonoSymbolTableReader.cs: New file.  This is the reader for the
34         new symbol file format.
35
36 2002-08-24  Martin Baulig  <martin@gnome.org>
37
38         * MonoSymbolTable.cs, MonoSymbolTableWriter.cs: New files.  This
39         creates a binary application.dbg file which will be used by the
40         JIT to display source lines for exceptions.
41
42         * list.unix: Disabled the dwarf file writer in the build.
43
44 2002-08-23  Martin Baulig  <martin@gnome.org>
45
46         * MonoSymbolWriter.cs (MonoSymbolWriter.Initialize): Added
47         assembly name argument.  Since the symbol writer needs to read the
48         final assembly, we need to give it its full pathname.
49
50 2002-08-23  Martin Baulig  <martin@gnome.org>
51
52         * makefile.gnu, list.unix: Added.
53
54 2002-07-05  Martin Baulig  <martin@gnome.org>
55
56         * MonoDwarfFileWriter.cs: Added support for types in referenced assemblies.
57
58 2002-07-05  Martin Baulig  <martin@gnome.org>
59
60         * MonoDwarfFileWriter.cs: Added support for arrays.
61
62         * gdb-csharp-support.patch: Updated.
63
64 2002-06-29  Martin Baulig  <martin@gnome.org>
65
66         * MonoDwarfFileWriter.cs (DieInheritance): Make this actually work.
67
68 2002-06-29  Martin Baulig  <martin@gnome.org>
69
70         * MonoDwarfFileWriter.cs, MonoSymbolWriter.cs: Put all TAG_subprogram's into their
71         corresponding struct/class declarations.
72
73 2002-06-28  Martin Baulig  <martin@gnome.org>
74
75         * gdb-csharp-support.patch: Updated.
76
77 2002-06-28  Martin Baulig  <martin@gnome.org>
78
79         * MonoDwarfFileWriter.cs: Use a TAG_string_type when we're using GNU extensions.
80         Make static struct/class fields actually work.  Provide a TAG_typedef for struct's
81         and classes.
82
83 2002-05-30  Martin Baulig  <martin@gnome.org>
84
85         * IMonoSymbolWriter (IMonoSymbolWriter): Added custom `Initialize' method.
86
87         * MonoSymbolWriter.cs (Initialize): The ISymbolWriter's `Initialize' method
88         is no longer supported and throws an exception.
89         (Initialize (string, string[])): New custom initialization function.
90
91         * MonoDwarfFileWriter.cs (DwarfFileWriter): Added `string[] args' argument
92         to the constructor to pass command line arguments.
93
94         * gdb-csharp-support.patch: Updated for GDB 5.2.
95
96 2002-05-30  Martin Baulig  <martin@gnome.org>
97
98         * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now get's the
99         AssemblyBuilder's `methods' array as third argument.
100         (OpenMethod): Use this array to get the method builder rather than using an
101         interncall for it.
102         (get_method_builder): Removed this interncall.
103
104 2002-05-25  Martin Baulig  <martin@gnome.org>
105
106         * MonoDwarfFileWriter.cs: Finished the type rewrite, put back strings and arrays.
107
108 2002-05-24  Martin Baulig  <martin@gnome.org>
109
110         * IMonoSymbolWriter.cs (ISourceMethod): Added `FullName' and `Parameters'.
111         (ITypeHandle): New interface.
112
113         * DwarfFileWriter.cs: Largely reorganized the type writing code.  Types are
114         now represented by ITypeHandle objects which are stored in a per-dwarf-writer
115         hash table.  At the moment, all types still need to be in one compile unit due
116         to lacking support in gdb - but this new type code here already supports this.
117
118         * MonoSymbolWriter.cs: Moved all the subclasses to the top-level and made them
119         public, cleaned up the code, put everything into one compile unit.
120         (DefineLocalVariable): Added a version of this function which takes useful args.
121
122 2002-05-22  Martin Baulig  <martin@gnome.org>
123
124         * IMonoSymbolWriter.cs (IMonoSymbolWriter): Added `Sources' and `Methods'
125         properties.
126
127         * MonoDwarfFileWriter.cs (WriteSymbolTable): New public method.  Moved the
128         code that writes the "mono_line_numbers" section here from the LineNumberEngine.
129
130 2002-05-22  Martin Baulig  <martin@gnome.org>
131
132         * IMonoSymbolWriter.cs (IVariable): Replaced Token with `ISourceMethod Method'.
133
134         * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now has an additional
135         ModuleBuilder argument.
136         (OpenMethod): Immediately call the `get_method' interncall to get the MethodBase
137         from the token, then store the MethodBase instead of the token.  The token may
138         still change during the metadata library's fixup process.
139         (DoFixups): When the image has been written to disk, call the GetToken () method
140         on all MethodBuilders and all ConstructorBuilders to get the final metadata tokens.
141
142 2002-05-22  Martin Baulig  <martin@gnome.org>
143
144         * AssemblerWriterI386.cs: Don't use GNU extensions and produce assembler
145         output which is free of comments and extra whitespaces so that it's suitable
146         for `as -f'.
147
148 2002-05-22  Martin Baulig  <martin@gnome.org>
149
150         * IMonoSymbolWriter.cs (ISourceMethod): Replaced `MethodInfo MethodInfo' with
151         `MethodBase MethodBase' and added `Type ReturnType'.  We're now correctly
152         dealing with constructors and not crashing anymore.
153
154 2002-05-21  Martin Baulig  <martin@gnome.org>
155
156         * MonoDwarfFileWriter.cs: Write a special line number table which can be read
157         in by the metadata library to get line number information in backtraces.
158
159 2002-05-06  Martin Baulig  <martin@gnome.org>
160
161         * MonoSymbolWriter.cs (MonoSymbolWriter.Close): Use Assembly.LoadFrom (), not
162         AppDomain.Load () to load the assembly.
163
164 2002-04-26  Martin Baulig  <martin@gnome.org>
165
166         * gdb-csharp-support.patch: A patch for GDB (against the latest CVS version)
167         to implement C# support.
168
169         * csharp-lang.c, csharp-lang.h, csharp-mono-lang.c: Copy these into your GDB
170         source directory after applying the patch.
171
172 2002-04-26  Martin Baulig  <martin@gnome.org>
173
174         * MonoDwarfFileWriter.cs (DieInternalString): Removed.
175
176 2002-04-25  Martin Baulig  <martin@gnome.org>
177
178         * MonoDwarfFileWriter.cs: Reflect latest MonoString changes.
179
180 2002-04-13  Martin Baulig  <martin@gnome.org>
181
182         * IMonoSymbolWriter.cs (ISourceBlock): Added `Blocks' property and `AddBlock'
183         method to support nested blocks.
184
185         * MonoSymbolWriter.cs: Correctly handle nested blocks.
186
187         * MonoDwarfFileWriter.cs (DieMember): Provide info for all fields, not just for
188         public ones; also added DW_AT_accessibility.
189         (DieVariable): Reflected latest debug-symfile.c changes.
190
191 2002-04-12  Martin Baulig  <martin@gnome.org>
192
193         * gdb-variable-scopes.patch: A patch for GDB (against the latest CVS version)
194         to implement variable lifetimes.
195
196 2002-04-12  Martin Baulig  <martin@gnome.org>
197
198         * MonoDwarfFileWriter.cs (DieVariable): Provide info about the variable's
199         lifetime using DW_AT_begin_scope and a new baulig extension DW_AT_end_scope.
200
201 2002-03-29  Martin Baulig  <martin@gnome.org>
202
203         * AssemblerWriterI386.cs: Rewrote most of the string output function, do the
204         number->string conversion manually. It's now taking about 15 seconds to write
205         a symbol file for MCS, no longer more than a minute.
206
207         * MonoDwarfFileWriter.cs: Added some profiling code, speeded things up, fixed
208         a few bugs.
209
210 2002-03-25  Martin Baulig  <martin@gnome.org>
211
212         * MonoDwarfFileWriter.cs (CreateType): Return a `DieType'.
213         (RegisterType): Add the type to the type hash before creating dependency types
214         so we don't get recursion loops.
215         (RegisterPointerType): New func to register a "pointer to type" type.
216         (DieTypeDef, DiePointerType, DieArrayType, DieStringType, DieClassType): New
217         types; added support for strings, arrays and basic support for classes.
218         
219 2002-03-24  Martin Baulig  <martin@gnome.org>
220
221         * IMonoSymbolWriter.cs: Killed all methods in this interface, no longer needed.
222
223         * MonoSymbolWriter.cs (MonoSymbolWriter): The constructor now takes a string
224         argument which is the full pathname of the assembly - you must call Close()
225         after the assembly has been written to disk since the symbol writer needs to
226         load the finished assembly to get its metadata.
227
228         * MonoDwarfFileWriter.cs: Added support for enums and structs.
229         
230 2002-03-24  Martin Baulig  <martin@gnome.org>
231
232         * MonoDwarfFileWriter.cs: Added support for method parameters.
233
234 2002-03-24  Martin Baulig  <martin@gnome.org>
235
236         * IMonoSymbolWriter.cs (IMonoSymbolWriter): Removed my custom OpenMethod(),
237         we're now using the ISymbolWriter's method.
238         (IVariable): Added `byte[] Signature' property.
239
240         * MonoSymbolWriter.cs (SetAssembly): New method. This must be called before
241         Close(); the assembly parameter is the already-written assembly, ie. it must
242         contain the full metadata.
243         (OpenMethod): Only take the token argument and set MethodInfo later in DoFixups.
244         (SetMethodSourceRange): You must call this function to tell the symbol writer
245         in which source file the method is defined.
246         (DefineLocal): Store the signature in the local.
247         (DoFixups): Use two new interncalls to set the SourceMethod's MethodInfo field
248         and the LocalVariable's Type field.
249
250 2002-03-23  Martin Baulig  <martin@gnome.org>
251
252         * IMonoSymbolWriter.cs (ISourceBlock): New interface.
253         (ILocalVariable): Renamed this interface to IVariable.
254         (IVariable): Added Line, Type, Token.
255         (ILocalVariable, IMethodParameter): New interfaces, derive from IVariable.
256         (ISourceMethod): Added Blocks. Renamed FirstLine and LastLine to Start and End,
257         changed their type to ISourceLine. Removed CodeSize.
258         (ISourceLine): Renamed Line to Row, added Column. Added OffsetType and Offset.
259
260         * MonoDwarfFileWriter.cs (MonoDwarfFileWriter.DieLexicalBlock): New class.
261         (MonoDwarfFileWriter.DieMethodVariable): New class.
262
263         * MonoSymbolWriter.cs (OpenScope, CloseScope): Implemented.
264         Reflected latest IMonoSymbolWriter interface changes.
265
266 2002-03-20  Martin Baulig  <martin@gnome.org>
267
268         * IAssemblerWriter.cs: New interface.
269
270         * AssemblerWriterI386.cs: New class.
271
272         * MonoDwarfFileWriter.cs: Use the IAssemblerWriter interface to make this class
273         platform and assembler independent.
274
275 2002-03-20  Martin Baulig  <martin@gnome.org>
276
277         * IMonoSymbolWriter.cs (ISourceMethod): Added FirstLine, LastLine, CodeSize and
278         Token properties.
279
280         * MonoDwarfFileWriter.cs: Implemented line number support.
281
282 2002-03-19  Martin Baulig  <martin@gnome.org>
283
284         * IMonoSymbolWriter.cs (ISourceFile, ISourceMethod, ISourceLine, ILocalVariable):
285         New interfaces.
286
287         * IMonoSymbolWriter.cs (OpenMethod): Take a System.Reflection.MethodInfo, not
288         a string.
289
290 2002-03-19  Martin Baulig  <martin@gnome.org>
291
292         This is an implementation of the System.Diagnostics.SymbolStore.SymbolWriter
293         interface. It's still work in progress and not yet used anywhere.
294
295         There is some preliminary documentation in the source files and some more
296         docu in the README and README.relocation-table files.
297
298         * IMonoSymbolWriter.cs: New file.
299         * MonoDwarfFileWriter.cs: New file.
300         * MonoSymbolDocumentWriter.cs: New file.
301         * MonoSymbolWriter.cs: New file.
302
303         * README, README.relocation-table: Documentation.
304