diff -r 1af5c1be89f8 -r 92d87f2e53c2 tools/elf4rom/libs/dwarf-20071209/libdwarf/NEWS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/elf4rom/libs/dwarf-20071209/libdwarf/NEWS Fri Jan 15 09:07:44 2010 +0000 @@ -0,0 +1,239 @@ +December 8, 2007 + Had to add an ugly configure conditional as libelf has + unconditional use of off64_t in recent libelf.h +July 3, 2007 + A new interface function, dwarf_loclist_from_expr(), + allows easy extraction of dwarf expression bytes from + expressions in frame data. +May 8, 2007 + Now documents released as .mm and .pdf (no longer as .ps). +May 7, 2007 + Incorporates Sun Microsystems extensions to dwarf.h and + to the consumer and producer libraries. The changes + include corrections so the producer library cleans up it's memory + use on a call to dwarf_producer_finish(dbg). + Thanks to Chris Quenelle of Sun for these contributions. + +March 20, 2007 + nroff/troff and the AT&T -mm package are not widely available, + so now the Makefile refers to groff, which works quite nicely. + +February 20, 2007 + Documented libdwarf thread safety in README. + Fixed memory leak in dwarf macro reading code. + Removed use of static data in dwarf macro + reading code: now uses stack/heap (for + thread safety). + +February 9, 2007 + Maintenance of libdwarf is now outside SGI + as David Anderson has left SGI. + +March 29, 2006 + The March 27, 2006 version accomodates DWARF3. + Some people have been using the library without + altering dwarf.h, libdwarf.h to accomodate + large numbers of registers. This exposed a bug + (an off-by-one error) but also makes it clear + additional documentation is needed. So + in libdwarf large new comments near 'TARGET DEPENDENCY' + attempt to explain better. +Oct 03, 2005 + The July version had an incompatible interface: old + dealloc code did not always work right. The incompatibility + is now fixed and the new features remain. + +July 15, 2005 + New optional alloc-check code optionally checks all + allocated memory is freed (malloc_check.h malloc_check.c) + Various new dealloc routines written as the previous approach + of letting client code do detailed dealloc turned out not + to dealloc all memory. + To get the new checking you must manually change a line + in malloc_check.h and rebuild libdwarf. + + +Mar 31, 2005 + Documented the libexc.so/.debug_funcnames + dependency and the 64bit-offset DWARF extension in + mips_extentions.{mm,ps}. + +Mar 21, 2005 + gcc 3.3 and 3.4 .eh_frame 'z' augmentations are not handled + correctly, so libdwarf gives an error when attempting to + print such. gcc 2 'eh' augmentation is simpler and + prints correctly. (.eh_frame is a GNU section, + not DWARF2/3, and what is recorded in .eh_frame is not + specified by DWARF2/3, though .eh_frame does resemble + DWARF2/3 .debug_frame). + + +Oct 28, 2004 + Updated contact address in copyright: SGI moved 1/4 mile + in 2003 to a new address: 1500 Crittenden Lane. + + Documented additional vendor extensions. + +Oct 27, 2004 + Added known vendor extensions to dwarf2/3 to dwarf.h + HP, GNU, PGI and UPC extensions are now recorded. + Recorded vendor extensions from Concurrent. + +Feb 3, 2004 + If 'Dwarf_Word' is 64 bits, two macros reading leb numbers + fail to initialize upper bits of the values read. + First noticed with bogus line numbers printing from dwarfdump. + Now we use already-existing functions, avoiding the problem. + +Oct 02, 2003 + Support .debug_loc section fully. + +Sept 29, 2003 + Support DW_FORM_indirect properly. + Supports loclists in part (but not multiple loclist entries yet). + Support 'padding bytes' at end of .debug_arange and + .debug_pubnames and .debug_pubtypes per CU + (recent dwarf committee email made it clear this is appropriate). + +May 23, 2002 + Libdwarf now asks for sections only when they are + used, so that unneeded sections aren't loaded. + Support for using SGI's ELF library as an alternative to + using AT&T libelf-style has been added (the SGI ELF + library is presently only available internally to SGI). + +Jan 10, 2002 + Fixed memory leak in dwarf_finish(). + +Aug 21, 2001 + If one called dwarf_add_file_decl() + or dwarf_add_directory_decl() but never added a line, + .debug_line was not produced. This was a mistake, + as if any file or directory was provided .debug_line + should be produced. Now it is produced. + +June 14, 2001 + Given a cu header offset, it was not easy to derive the + CU header DIE offset. Created the new + function dwarf_get_cu_die_offset_given_cu_header_offset() + do get the CU header DIE offset. + Added the function dwarf_get_arange_cu_header_offset() + so the cu header offset could be retrieved from .debug_aranges + information. + +June 07, 2001 + Major bug in dwarf_leb.c decoding large integers + (Dwarf_Signed 64 bit where library is compiled in ILP32) + found and fixed. + +May 21, 2001 + Some small fixes have been found by various folks, + so it seems time to prepare a new source release. + See ChangeLog for details. + +April 15, 2000 + The libdwarf copyright has changed to + version 2.1 of the GNU Lesser General Public License. + Anyone holding a version of libdwarf that was published + before this new copyright is allowed to use + the copyright published in that earlier libdwarf source + on the earlier source + or to use + this new copyright on the earlier source, + at their option. + + +December 08, 1999 + The dwarf committee has adopted the offset-extension + proposal. This allows compatibly emitting + dwarf with 64bit offsets. + + The dwarf reader now automatically figures out which is in use. + The dwarf writer configures itself at the time the + writer initialization routine is called, though + the writer is restricted, at libdwarf + compile time, to one of + mips/sgi pure 32/pure 64 offsets/pointers. + + 32bit offsets only (per dwarf 2.0.0 and cygnus) + + 32bit offsets with extension to 64bit offsets + allowed (the offset-extension newly passed). + + In addition, a great deal of duplicate code + for the sgi .debug_weaknames, .debug_funcnames, + .debug_varnames and .debug_typenames sections has + been removed: a single set of functions does the real work now. + +Sept 29, 1999 + Just found out that cygnus is, on 64bit targets, generating + 32bit offsets (as elf32 has, for example) with 64 bit + pointers (in references to text and data). + Whereas sgi has always generated 64bit dwarf with + 64 bit offsets (as in elf64) and 64bit pointers for + 64bit pointer objects. + I'll call the sgi approach 64-bit and the cygnus approach + 32bit-offsets. + + Cygnus is following the DWARF2 spec as written, so they are + right in doing only 32bit-offsets. + + Folks at sgi (including me) think that, as for elf64, + the offsets in dwarf for 64bit pointer-apps should be + 64 bits. We think it is only a matter of time + before we really *need* 64bit offsets and when that happens + it will be on an important app. Disk space is cheap, + so lets just go 64 bit on 64bit apps (such as ia64 apps) + to avoid a future problem. + I(davea@sgi.com) think the 'pointer-size' references in the dwarf + spec were really written for 64-bit pointer apps. + I don't recall serious consideration of 64bit pointer + apps in the committee deliberations (I did miss + a couple of meetings) and think 64bit offsets + are consistent with dwarf2, even though the speci + was not written for such. We think true full 64 bit + dwarf2 is the right way to go (the spec changes + are obvious: file and section offsets become 64bit + with 64bit pointer objects. + + MIPS/SGI is definitely 64-bit offsets for 64 bit objects, + cygnus is definitely 32bit-offsets for earlier 64bit pointer + environments. + + At any rate, now the dwarf reader allows and accomodates + both and the dwarf producer also accomodates both. + Some tweaking of the pro_init.c or dwarf_init_finish.c + files may be necessary in future: no other changes should + be needed to accomodate the two 64bit approaches, as + the library (and dwarfdump) now deal with both forms. + + +August 20, 1999 + Added some #ifndef/#define to pro_util.h to let libdwarf build + on more hosts. (since those hosts don't need the producer + code, AFAIK, zero values suffice for missing #defines.) + +July 21, 1999 + Now reader transparently reads either-endianness data + from an either-endianness object. + Updated dwarf.h and libdwarf.h to recognize + GNU egcs dwarf extensions and to print the egcs eh_frame + section. + +June 10, 1999 + gnu configure version of libdwarf made available for the + first time. + Still allows only same-endian-as-host in objects. + +August, 1994 + libdwarf source made available for ftp on sgigate.sgi.com + /ftp/pub + +June, 1994 + Consumer interface changed completely, following + "Candy Machine Interfaces" chapter from + "Writing Solid Code" by Steve Maguire (Microsoft Press). + +April, 1993 + Initial version of libdwarf for dwarf version 2 + written at sgi.