tools/elf4rom/libs/dwarf-20071209/libdwarf/CHANGES
changeset 34 92d87f2e53c2
equal deleted inserted replaced
33:1af5c1be89f8 34:92d87f2e53c2
       
     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 -------------------------------------------------------------