2001-05-22  davea@sgi.com
	* dwarf_frame.c, pro_expr.c: Added comments on why
	  casts are safe in spite of gcc warnings (4 places total).

2001-05-18  Dan Gritter <dgritter@us.ibm.com>
	* dwarf_loc.c DW_OP_bregx operands are unsigned
	  reg num followed by signed offset.

2001-04-11  David Anderson <davea@sgi.com>
	* dwarf_die_deliv.c: check for 0 abbreviation code
	  and return a 'no entry' return value when found.
	  (normal dwarf2, 0 means no DIE, the end of some set of DIEs.)

2001-01-16  David Anderson <davea@sgi.com>

	* pro_die.c: set ar_reloc_len field
	in all cases.

2000-12-14  David Anderson <davea@sgi.com>

	* dwarf_frame.h: clarified some comments.

2000-12-14  Ulrich Drepper <drepper@cygnus.com>

        * dwarf_line.c: Now sets DW_LNE_end_sequence to
        default_is_stmt, the correct value, not is_stmt.


2000 Aug 24  davea@sgi.com
  dwarf_error.c: a dwarf_init() failure resulted in this
	using a static Dwarf_Error struct. And dwarf_dealloc
	did not deal properly with that. 
  dwarf_alloc.c dwarf_alloc.h: these had DYNAMIC_CHUNK protected code
  	which was never used.  Deleted the unused code. Added a small
  	comment (hopefully useful) to dwarf_alloc.h.

	And now deals correctly with a null dbg  on
	DW_DLA_ERROR  due to failed
	dwarf_init() call (or due to other error in calling
	libdwarf that results in libdwarf not knowing the dbg,
	a likely far more common case) and frees the memory.
	This used to result in chaos (depending on your
	luck...).

2000 Aug 23  davea@sgi.com
  libdwarf2.1.mm, ps.  Failed to mention that dwarf_finish()
  has to be accompanied by elf_end() if dwarf_init() was used
  to initialize libdwarf to truly release all stuff.
  Added text to dwarf_finish() describing how to do that.
2000 April 14  davea@sgi.com

  dwarf_abbrev.c - 1.22
        - When it is a null abbrev entry, return it correctly so it can be
          printed (meaning fill out all the return-parameters so the caller can
          do the right thing).

  dwarf_init_finish.c - 1.48
        - For most sections, simply having an empty section (present but empty)
          is just fine. There is no reason to register an error in such a case.

  Copyright has changed. See LIBDWARFCOPYRIGHT and NEWS

  dwarfdump/print_die.c - 1.42
        - Explain what combo checker is doing and make it more maintainable (and          fix bug which would not be hit, but was real enough).

  dwarfdump/tag_tree.list - 1.2
        - Add valid parent/child relationships so checker does not report valid
          entries as bogus.

  dwarf_form.c - 1.26
        - Correct dwarf reader to use appropriate size, not de_length_size. This          is part of the handling of the new dwarf2 64bit facilities. I
          overlooked this small aspect before in one place
  dwarf_query.c - 1.48
        - Use correct size, not de_length_size. For offset size.
  libdwarf2.1.mm - 1.41
        - Tried to make frame register output args meaning clearer
  libdwarf2.1.ps - 1.19
        - Tried to make frame register output args meaning clearer
  pro_forms.c - 1.33
        - Get ref4, not ref8 when generating 32bit dwarf per original dwarf2
          spec. even if pointer size is 64 bits.
  pro_init.c - 1.18
        - Get ref4, not ref8 when generating 32bit dwarf per original dwarf2
          spec. even if pointer size is 64 bits.


davea@sgi.com


2000 March 7
dwarf_line.c - 1.48
dwarf_line.h - 1.16
dwarf_print_lines.c - 1.10
dwarf_sort_line.c - 1.8
        - Now handles opcode_base of line section to be other than that at
          compile time of libdwarf.
Important as the dwarf2 committee is adding a new standard opcode  
davea@sgi.com

2000 Feb 24
pro_forms.c  1.31 ar_next field not always zeroed before.
Could lead to infinite loop in the producer code.
Now the field is always zeroed.

Makefile.in - 1.3 Jason Merrill <jason@cygnus.com>  
 provided fix so gcc will work on libdwarf
print_sections.c - 1.54 - casts to avoid warnings

davea@sgi.com


1999 Dec 14
acconfig.h - 1.3
config.h.in - 1.5
configure - 1.4
configure.in - 1.5
        - HAVE_DWARF2_99_EXTENSION HAVE_OLD_DWARF2_32BIT_OFFSET
          refinements added.
CHANGES - 1.3
Makefile.base - 1.98
NEWS - 1.5
config.h - 1.4
config.h.in - 1.4
configure.in - 1.4
dwarf_alloc.c - 1.36
dwarf_arange.c - 1.19
dwarf_arange.h - 1.6
dwarf_die_deliv.c - 1.51
dwarf_frame.c - 1.62
dwarf_frame.h - 1.23
dwarf_funcs.c - 1.10
dwarf_funcs.h - 1.3
dwarf_global.c - 1.21
dwarf_global.h - 1.7
dwarf_init_finish.c - 1.45
dwarf_line.c - 1.44
dwarf_opaque.h - 1.52
dwarf_print_lines.c - 1.8
dwarf_query.c - 1.45
dwarf_types.c - 1.10
dwarf_types.h - 1.3
dwarf_util.c - 1.40
dwarf_util.h - 1.22
dwarf_vars.c - 1.11
dwarf_vars.h - 1.3
dwarf_weaks.c - 1.10
dwarf_weaks.h - 1.3
libdwarf2.1.mm - 1.40
libdwarf2.1.ps - 1.18
pro_arange.c - 1.15
pro_die.c - 1.23
pro_frame.c - 1.29
pro_init.c - 1.15
pro_macinfo.c - 1.7
pro_opaque.h - 1.14
pro_pubnames.c - 1.18
pro_reloc_stream.c - 1.5
pro_section.c - 1.70
pro_section.h - 1.16
pro_types.c - 1.12
        - Allowing generation of correct dwarf2 with the 1999 64bit dwarf
          extension, and reading all forms of dwarf2 compatibly (all 32/64bit
          dwarf2 section  forms).

This adds the ability to consume and produce both sgi 64bit
and the new dwarf2 committee-approved 64bit dwarf extension.
As a result of the new dwarf2 stuff , a producer (compiler)
can mix 32 and 64bit dwarf (for a 64bit object) and the
linker will work seamlessly.  (as long as section sizes don't
get over 2GBytes).

And the producer is easily configured to produce mips/sgi style
64bit dwarf or the new form of 64bit dwarf.

This also eliminates a fair amount of rather silly duplicated code.
davea@sgi.com


1999 Nov 4

pro_section.c - 1.69
        - A pointer size entity had an offset-size value used at one place.
davea@sgi.com

1999 Sep 30
dwarf_arange.c - 1.18
        - Changed // comment to /* */.  // failed to compile 
          with C89 compiler...
davea@sgi.com


1999 Sep 29
Changed all the producer code
substantially to allow generating assembler code
for the dwarf2 (rather similar to what gcc does)
allowing symbolic relocations.
MIPS output still generates the binary form.
davea@sgi.com



1999 Aug 20
Stan Shebs (shebs@cygnus.com) pointed out that the pro_util.h
use of R_MIPS* was a problem compiling on Sun.
Since the producer code is not really used at present except for
MIPS/sgi, I've added #ifndefs to pro_util.h which provide zero values
when <elf.h> does not provide the macros.
When anyone needs the producer code to actually *work* for non-MIPS
something better will have to be done.

This has no effect on those simply compiling libdwarf for 
use by dwarfdump.
davea@sgi.com

1999 July 21
Changed the READ_UNALAGNED macro to call a function
depending on endianness of the host and the object being read.
So all the dwarf_* source changed in a trivial way.
Added support for printing egcs eh_frame section.
Added a local memcpy-like function to do the cross-endian
thing where applicable (called by READ_UNALIGNED macro). 
Because the .eh_frame section 
after linking can have some zeroed out bytes at the
end of the CIE/FDE data the code looking for CIEs and FDEs
now assumes a zero CIE/FDE length means it has reached
the end of the CIE/FDE data.
davea@sgi.com


1999 June 14
  Fred Fish fnf@ninemoons.com contributed
  autoconf'ing of the libdwarf and dwarfdump source.  
  

  mips_extensions.*  Documented additional old errors
  in the Dwarf Version 2 spec.

  The ChangeLog before this is incomplete. 

-------------------------------------------------------------
Since Oct 95 and before May, 1996 davea@sgi.com David Anderson

Added the function dwarf_get_cie_of_fde() which makes it possible
to remember a single fde/cie set out of a block usefully.

Enhanced doc of dwarf_bitoffset()

Added new function dwarf_global_formref() so all reference
forms can be retrieved.

Fixed bug in retrieving array bounds: was failing to sign extend
formsdata.

Added function dwarf_get_fde_info_for_all_regs(), which makes
retrieval of the complete set of registers (as needed by
debuggers and exception handlers) effectively N times faster
than getting them one a time where N is the number of registers.

Added support for exception table handling (really just support
for a reference to an exception table for c++ exceptions).

Fixed a bug where useless extra space (several megabytes)
were malloc'ed for the abbreviations table by the libdwarf
consumer code.

-------------------------------------------------------------
June 10, 1999
 Changelog started.
-------------------------------------------------------------
