tools/elf4rom/libs/dwarf-20071209/libdwarf/NEWS
changeset 34 92d87f2e53c2
equal deleted inserted replaced
33:1af5c1be89f8 34:92d87f2e53c2
       
     1 December 8, 2007
       
     2   Had to add an ugly configure conditional as libelf has
       
     3   unconditional use of off64_t in recent libelf.h
       
     4 July 3, 2007
       
     5   A new interface function, dwarf_loclist_from_expr(),
       
     6   allows easy extraction of dwarf expression bytes from
       
     7   expressions in frame data.
       
     8 May 8, 2007
       
     9   Now documents released as .mm and .pdf (no longer as .ps).
       
    10 May 7, 2007
       
    11   Incorporates Sun Microsystems  extensions to dwarf.h and
       
    12   to the consumer and producer libraries.   The changes
       
    13   include corrections so the producer library  cleans up it's memory
       
    14   use on a call to dwarf_producer_finish(dbg).
       
    15   Thanks to Chris Quenelle of Sun for these contributions.
       
    16 
       
    17 March 20, 2007
       
    18   nroff/troff and the AT&T -mm package are not widely available,
       
    19   so now the Makefile refers to groff, which works quite nicely.
       
    20 
       
    21 February 20, 2007
       
    22   Documented libdwarf thread safety in README.
       
    23   Fixed memory leak in  dwarf macro reading code.
       
    24   Removed use of static data in dwarf macro
       
    25   reading code: now uses stack/heap (for
       
    26   thread safety).
       
    27 
       
    28 February 9, 2007
       
    29   Maintenance of libdwarf is now outside SGI
       
    30   as David Anderson has left SGI.
       
    31 
       
    32 March 29, 2006
       
    33   The March  27, 2006 version accomodates DWARF3.
       
    34   Some people have been using the library without
       
    35   altering dwarf.h, libdwarf.h to accomodate
       
    36   large numbers of registers.  This exposed a bug
       
    37   (an off-by-one error) but also makes it clear
       
    38   additional documentation is needed.  So 
       
    39   in libdwarf large new comments near 'TARGET DEPENDENCY'
       
    40   attempt to explain better.
       
    41 Oct 03, 2005
       
    42   The July version had an incompatible interface: old
       
    43   dealloc code did not always work right. The incompatibility
       
    44   is now fixed and the new features remain.
       
    45 
       
    46 July 15, 2005
       
    47   New optional alloc-check code optionally checks all
       
    48   allocated memory is freed (malloc_check.h malloc_check.c)
       
    49   Various new dealloc routines written as the previous approach
       
    50   of letting client code do detailed dealloc turned out not
       
    51   to dealloc all memory.
       
    52   To get the new checking you must manually change a line
       
    53   in malloc_check.h and rebuild libdwarf.
       
    54 
       
    55 
       
    56 Mar 31, 2005
       
    57   Documented  the libexc.so/.debug_funcnames
       
    58   dependency and the 64bit-offset DWARF extension in
       
    59   mips_extentions.{mm,ps}.
       
    60 
       
    61 Mar 21, 2005
       
    62   gcc 3.3 and 3.4 .eh_frame 'z' augmentations are not handled
       
    63   correctly, so libdwarf gives an error when attempting to
       
    64   print such. gcc 2 'eh' augmentation is simpler and
       
    65   prints correctly.  (.eh_frame is a GNU section,
       
    66   not DWARF2/3, and what is recorded in .eh_frame is not
       
    67   specified by DWARF2/3, though .eh_frame does resemble
       
    68   DWARF2/3 .debug_frame).
       
    69 
       
    70 
       
    71 Oct 28, 2004
       
    72   Updated contact address in copyright: SGI moved 1/4 mile
       
    73   in 2003 to a new address: 1500 Crittenden Lane.
       
    74   
       
    75   Documented additional vendor extensions.
       
    76 
       
    77 Oct 27, 2004
       
    78   Added known vendor extensions to dwarf2/3 to dwarf.h
       
    79   HP, GNU, PGI and UPC extensions are now recorded.
       
    80   Recorded vendor extensions from Concurrent.
       
    81 
       
    82 Feb 3, 2004
       
    83   If 'Dwarf_Word' is 64 bits, two macros reading leb numbers
       
    84   fail to initialize upper bits of the values read.
       
    85   First noticed with bogus line numbers printing from dwarfdump.
       
    86   Now we use already-existing functions, avoiding the problem.
       
    87 
       
    88 Oct 02, 2003
       
    89   Support .debug_loc section fully.
       
    90 
       
    91 Sept 29, 2003
       
    92   Support DW_FORM_indirect properly.
       
    93   Supports loclists in part (but not multiple loclist entries yet).
       
    94   Support 'padding bytes' at end of .debug_arange and
       
    95   .debug_pubnames and .debug_pubtypes per CU
       
    96   (recent dwarf committee email made it clear this is appropriate).
       
    97 
       
    98 May 23, 2002
       
    99   Libdwarf now asks for sections only when they are
       
   100   used, so that unneeded sections aren't loaded.
       
   101   Support for using SGI's ELF library as an alternative to
       
   102   using AT&T libelf-style has been added (the SGI ELF
       
   103   library is presently only available internally to SGI).
       
   104 
       
   105 Jan 10, 2002
       
   106   Fixed memory leak in dwarf_finish().
       
   107 
       
   108 Aug 21, 2001
       
   109   If one called dwarf_add_file_decl()
       
   110   or dwarf_add_directory_decl() but never added a line,
       
   111   .debug_line was not produced.  This was a mistake,
       
   112   as if any file or directory was provided .debug_line
       
   113   should be produced. Now it is produced.
       
   114 
       
   115 June 14, 2001
       
   116   Given a cu header offset, it was not easy to derive the
       
   117   CU header DIE offset. Created the new
       
   118   function dwarf_get_cu_die_offset_given_cu_header_offset()
       
   119   do get the CU header DIE offset.
       
   120   Added the function dwarf_get_arange_cu_header_offset()
       
   121   so the cu header offset could be retrieved from .debug_aranges
       
   122   information.
       
   123 
       
   124 June 07, 2001
       
   125   Major bug in dwarf_leb.c decoding large integers 
       
   126   (Dwarf_Signed 64 bit where library is compiled in ILP32) 
       
   127   found and fixed.
       
   128 
       
   129 May 21, 2001
       
   130   Some small fixes have been found by various folks,
       
   131   so it seems time to prepare a new source release.
       
   132   See ChangeLog for details.
       
   133 
       
   134 April 15, 2000
       
   135   The libdwarf copyright has changed to
       
   136      version 2.1 of the GNU Lesser General Public License.
       
   137   Anyone holding a version of libdwarf that was published
       
   138   before this new copyright is allowed to use
       
   139     the copyright published in that earlier libdwarf source
       
   140     on the earlier source
       
   141   or to use 
       
   142     this new copyright on the earlier source,
       
   143   at their option.
       
   144 
       
   145 
       
   146 December 08, 1999
       
   147   The dwarf committee has adopted the offset-extension
       
   148   proposal. This allows compatibly emitting
       
   149   dwarf with 64bit offsets.
       
   150 
       
   151   The dwarf reader now automatically figures out which is in use.
       
   152   The dwarf writer configures itself at the time the
       
   153   writer initialization routine is called, though
       
   154   the writer is restricted, at libdwarf 
       
   155   compile time, to one of
       
   156 		mips/sgi pure 32/pure 64 offsets/pointers.
       
   157 
       
   158 		32bit offsets only (per dwarf 2.0.0 and cygnus)
       
   159 
       
   160 		32bit offsets with extension to 64bit offsets
       
   161 		allowed (the offset-extension newly passed).
       
   162   
       
   163   In addition, a great deal of duplicate code
       
   164   for the sgi  .debug_weaknames, .debug_funcnames, 
       
   165   .debug_varnames and .debug_typenames sections has
       
   166   been removed: a single set of functions does the real work now.
       
   167   
       
   168 Sept 29, 1999
       
   169   Just found out that cygnus is, on 64bit targets, generating
       
   170   32bit offsets (as elf32 has, for example) with 64 bit
       
   171   pointers (in references to text and data).
       
   172   Whereas sgi has always generated 64bit dwarf with
       
   173   64 bit offsets (as in elf64) and 64bit pointers for
       
   174   64bit pointer objects.
       
   175   I'll call the sgi approach 64-bit and the cygnus approach
       
   176   32bit-offsets.
       
   177 
       
   178   Cygnus is following the DWARF2 spec as written, so they are
       
   179   right in doing only 32bit-offsets.
       
   180 
       
   181   Folks at sgi (including me) think that, as for elf64,
       
   182   the offsets in dwarf for 64bit pointer-apps should be
       
   183   64 bits.  We think it is only a matter of time
       
   184   before we really *need* 64bit offsets and when that happens
       
   185   it will be on an important app.  Disk space is cheap,
       
   186   so lets just go 64 bit on 64bit apps (such as ia64 apps)
       
   187   to avoid a future problem.
       
   188   I(davea@sgi.com) think the 'pointer-size' references in the dwarf
       
   189   spec were really written for 64-bit pointer apps.
       
   190   I don't recall serious consideration of 64bit pointer
       
   191   apps in the committee deliberations (I did miss
       
   192   a couple of meetings) and think 64bit offsets
       
   193   are consistent with dwarf2, even though the speci
       
   194   was not written for such. We think true full 64 bit
       
   195   dwarf2 is the right way to go (the spec changes
       
   196   are obvious: file and section offsets become 64bit
       
   197   with 64bit pointer objects.
       
   198  
       
   199   MIPS/SGI is definitely 64-bit offsets for 64 bit objects,
       
   200   cygnus is definitely 32bit-offsets for earlier 64bit pointer
       
   201   environments.
       
   202 
       
   203   At any rate, now the dwarf reader allows and accomodates
       
   204   both and the dwarf producer also accomodates both.
       
   205   Some tweaking of the pro_init.c or dwarf_init_finish.c
       
   206   files may be necessary in future: no other changes should
       
   207   be needed to accomodate the two 64bit approaches, as
       
   208   the library (and dwarfdump) now deal with both forms.
       
   209 
       
   210 
       
   211 August 20, 1999
       
   212   Added some #ifndef/#define to pro_util.h to let libdwarf build
       
   213   on more hosts.  (since those hosts don't need the producer
       
   214   code, AFAIK, zero values suffice for missing #defines.)
       
   215 
       
   216 July 21, 1999
       
   217   Now reader transparently reads either-endianness data
       
   218   from an either-endianness object.
       
   219   Updated dwarf.h and libdwarf.h to recognize
       
   220   GNU egcs dwarf extensions and to print the egcs eh_frame
       
   221   section.
       
   222 
       
   223 June 10, 1999
       
   224   gnu configure version of libdwarf made available for the
       
   225   first time.  
       
   226   Still allows only same-endian-as-host in objects.
       
   227   
       
   228 August, 1994
       
   229   libdwarf source made available for ftp on sgigate.sgi.com
       
   230 	/ftp/pub
       
   231 
       
   232 June, 1994
       
   233   Consumer interface changed completely, following
       
   234   "Candy Machine Interfaces" chapter from
       
   235    "Writing Solid Code" by Steve Maguire (Microsoft Press).
       
   236 
       
   237 April,  1993
       
   238   Initial version of libdwarf  for dwarf version 2
       
   239   written at sgi.