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