|
1 |
|
2 |
|
3 ------------------------------------------------------------- |
|
4 April 14, 2000 davea@sgi.com |
|
5 Corrected minor bugs in production of 32bit dwarf with |
|
6 64 bit pointers. Fixed omissions in legal |
|
7 DIE children of a DIE. Make small changes in |
|
8 description of regster output in frame information |
|
9 access. |
|
10 |
|
11 ------------------------------------------------------------- |
|
12 Mar 7, 2000 davea@sgi.com |
|
13 Corrected line table reading so it will handle |
|
14 reading an object with a diffent number of standard |
|
15 op codes than at libdwarf compile time. |
|
16 This was possible all along, but libdwarf did |
|
17 not do it right. |
|
18 |
|
19 ------------------------------------------------------------- |
|
20 Dec 8, 1999 davea@sgi.com |
|
21 Changed nearly all files. |
|
22 Adding the capability to read and produce |
|
23 the new, accepted by committee, but not |
|
24 released-publically 64bit extension proposal |
|
25 dwarf data. |
|
26 This allows dwarf compilation units |
|
27 with 64bit section offsets and 32bit |
|
28 sections offsets to be mixed. |
|
29 So that offsets can grow very large with |
|
30 64-bit pointer applications (though 64bit pointers |
|
31 and 64bit offsets are not the same notion). |
|
32 |
|
33 In addition, removed all the contents (or nearly all) |
|
34 of the dwarf_funcs.c dwarf_weaks.c dwarf_vars.c, |
|
35 and dwarf_types.c, as the data format is identical |
|
36 to dwarf globals (pubnames) and there is no need |
|
37 to duplicate all that code. |
|
38 |
|
39 All these sections whose contents were gutted are things that |
|
40 are formatted exactly like pubnames, and all are sgi |
|
41 extensions. Now the implementation uses pubnames code |
|
42 (dwarf_global.c) to do the work for all the pubnames-like |
|
43 sections. |
|
44 |
|
45 The (minor, IMO) difference is that in case of an incorrect |
|
46 dwarf file (leading to libdwarf being unable to process |
|
47 something in one of the sgi-specific pubnames-like sections) |
|
48 the dwarf error string may reference pubnames when weaks, |
|
49 static functions, static variables, or global typenames are |
|
50 actually the problem. This is fixable, however the price would |
|
51 appear to be that even globals would need to call a helper |
|
52 function (to pass in the correct error return). Right now the |
|
53 dwarf_weaks.c calls the dwarf_global.c function, for example, |
|
54 with no extra arguments indicating the true section involved. |
|
55 (Other approaches keeping the original error codes exist. |
|
56 Producing the code uniquely via macros seems unappealing. |
|
57 Inline functions would be ok though. This version does not |
|
58 inline the functions we are talking about, such as |
|
59 dwarf_global_name_offsets() when called from |
|
60 dwarf_type_name_offsets().) |
|
61 |
|
62 Since these extra sections are SGI only and only really used by |
|
63 SGI's workshop product, and the performance hit is small, the |
|
64 extra function calls in reading each seem acceptable. |
|
65 |
|
66 |
|
67 ------------------------------------------------------------- |
|
68 Sep 29,1999 davea@sgi.com |
|
69 Changed many files, so that it is easy to switch |
|
70 from 32bit-offset-only (like cygnus |
|
71 and dwarf2 v 2.0.0) to sgi/mips 64 bit dwarf. |
|
72 See NEWS for more info on 32bit-offset. |
|
73 |
|
74 |
|
75 ------------------------------------------------------------- |
|
76 Since Oct 95 and before May, 1996 |
|
77 |
|
78 Added the function dwarf_get_cie_of_fde() which makes it possible |
|
79 to remember a single fde/cie set out of a block usefully. |
|
80 |
|
81 Enhanced doc of dwarf_bitoffset() |
|
82 |
|
83 Added new function dwarf_global_formref() so all reference |
|
84 forms can be retrieved. |
|
85 |
|
86 Fixed bug in retrieving array bounds: was failing to sign extend |
|
87 formsdata. |
|
88 |
|
89 Added function dwarf_get_fde_info_for_all_regs(), which makes |
|
90 retrieval of the complete set of registers (as needed by |
|
91 debuggers and exception handlers) effectively N times faster |
|
92 than getting them one a time where N is the number of registers. |
|
93 |
|
94 Added support for exception table handling (really just support |
|
95 for a reference to an exception table for c++ exceptions). |
|
96 |
|
97 Fixed a bug where useless extra space (several megabytes) |
|
98 were malloc'ed for the abbreviations table by the libdwarf |
|
99 consumer code. |
|
100 |
|
101 davea@sgi.com |
|
102 ------------------------------------------------------------- |