dwarf_alloc.h, dwarf_alloc.c, dwarf_base_types.h, dwarf_opaque.h:
New allocator type (DW_DLA_CHAIN_2), to allow a list of addressed
types (address, offset).
dwarf_query.c: Use the new allocator type.
if the gcc '__attribute__ ((name))' compiles ok.
* config.h.in, configure: Regenerated.
* libdwarfdefs.h: Test HAVE_UNUSED_ATTRIBUTE and define
UNUSEDARG appropriately.
* dwarf_alloc.c,dwarf_elf_access.c,dwarf_form.c,dwarf_frame2.c,
dwarf_gdbindex.c,dwarf_global.c,dwarf_init_finish.c,dwarf_line.c,
dwarf_line_table_reader_common.c,dwarf_macro5.c,
dwarf_original_elf_init.c,dwarf_print_lines.c,dwarf_ranges.c,
dwarf_tsearchhash.c,dwarf_util.c,dwarf_xu_index.c,
pro_alloc.c,pro_frame.c,pro_init.c,pro_reloc.c,
pro_reloc_stream.c,pro_section.c: Use UNUSEDARG to suppress
meaningless unused-parameter warnings from gcc.
* print_macro.c: Now reads and prints macro5 header.
dwarfdump/naming.c
dwarfdump/naming.h
dwarfdump/print_macro.c
* dwarf_alloc.c: Remove () around simple return value.
* dwarf_error.c: Two new error codes for DWARF5 macro section.
* dwarf5_macro.c,dwarf5_macro.h: Add functions
to let reader read/print
.debug_macro section header. Fixed _dwarf_macro_constructor
declaration and implementation to return DW_DLV_OK.
* libdwarf.h.in: Add functions to let reader read/print
.debug_macro section header.
libdwarf/dwarf_alloc.c
libdwarf/dwarf_error.c
libdwarf/dwarf_macro5.c
libdwarf/dwarf_macro5.h
libdwarf/libdwarf.h.in
* print_die.c: Fixed indents, removed trailing whitespace.
* dwarfdump.c, common.c: Update version string.
libdwarf
* dwarf_alloc.c: Fixed indents, trailing whitespace.
* dwarf_loc2.c: Fixed indents, trailing whitespace.
* dwarf_form.c: Made too-long line into 2 lines.
* dwarf_loc.h: Removed duplicate Dwarf_Loc_c_s etc declarations.
* dwarf_util.c(_dwarf_error_mv_s_to_t),dwarf_util.h: New
function to eliminate duplicative code.:
* dwarf_query.c): Fix bug in dwarf_get_offset_size().
Use new _dwarf_error_mv_s_to_t() to get error on correct dbg.
Fixed indents, trailing whitespace.
* dwarf_ranges.c: Use new _dwarf_error_mv_s_to_t()
to get error on correct dbg.
Fixed indents, trailing whitespace.
* dwarfdump.c: Revised -g so it no longer turns on -i.
Revised the meaning of -g to mean use old loclist interfaces
(for testing the older interfaces with dwarfdump).
* print_die.c(get_small_encoding_integer_and_name): a dwarf_dealloc
referenced err whereas *err was correct.
Revised loclist output making it look a bit like DWARF5
even for DWARF2,3,4 output. Reads better, I think.
* print_locs.c: -l gets a 'no longer supported' message
dwarfdump/dwarfdump.1
dwarfdump/dwarfdump.c
dwarfdump/print_die.c
dwarfdump/print_locs.c
* dwarf_alloc.c: Added new checks so user mixing up
tied dbg with regular dbg won't lead to crashes
when calling dwarf_dealloc or dwarf_finish().
Zeroed out some fields to recognize space deallocated.
* dwarf_die_deliv.c: Added support of split dwarf
DW_AT_[GNU_]ranges_base
* dwarf_form.c: Load string from tieddbg when appropriate.
* dwarf_harmless.c: On free() zero out a field to show that was done.
* dwarf_loc.c: Correct the handling of split dwarf loclist.
* dwarf_opaque.h: Add cc_ranges_base_present for split dwarf.
Add _dwarf_get_ranges_base_attr_from_tied() for split dwarf.
* dwarf_query.c: Get and remember skeleton compilaton unit
DW_AT_[GNU_]ranges_base from tied objects for split dwarf.
* dwarf_ranges.c: If a tied object present, look for ranges
there, not in split dwarf object.
* dwarf_util.c: Housekeeping zeros out fields to ensure not
used after dealloc.
libdwarf/dwarf_alloc.c
libdwarf/dwarf_die_deliv.c
libdwarf/dwarf_form.c
libdwarf/dwarf_harmless.c
libdwarf/dwarf_loc.c
libdwarf/dwarf_loc2.c
libdwarf/dwarf_opaque.h
libdwarf/dwarf_original_elf_init.c
libdwarf/dwarf_query.c
libdwarf/dwarf_ranges.c
libdwarf/dwarf_util.c
examples.c: Add commentary to example9.
dwarf_alloc.c: Add DW_DLA_LOC_BLOCK_C and DW_CLA_LOCDESC_C
allocation descriptions to array.
dwarf_alloc.h: Increase ALLOC_AREA_INDEX_TABLE_MAX to match.
dwarf_base_types.h: Increase MAX_DW_DLA to match.
dwarf_die_deliv.c: Switch some returns from pointer to
the standard int DW_DLV_OK etc and return pointer through
an argument. Identify which CUs are dwo by checking name
for a .dwo ending. Fix whitespace endings.
dwarf_error.c: Add DW_DLE 309 to 311 errors to descriptions array.
dwarf_form.c: Remove trailing whitespace. Reformat one line
so it is not so long.
dwarf_line.c: Add {} on if for clarity.
Fix whitespace endings.
dwarf_line_table_reader.c: Fix whitespace endings.
dwarf_loc.c: Refactor loc. expr. reader into a
routine that reads one expression, _darf_read_loc_expr_op()..
Add DWARF5 operators.
Add preliminary dwo expression support (which will change
but this is a start). Old expression interface now
explicitly supports only DWARF 2,3,4. No DWARF5.
Add preliminary loclist_c support (it will change).
Add commentary about the old loclist interface.
dwarf_loc.h: First cut of new interfaces (functional, not
public structs).
dwarf_opaque.h: Add cc_is_dwo flag to cu context struct.
libdwarf.h.in: Rework some loclist commentary.
Add first try at new loclist interfaces for DWARF2,3,4,5.
New error codes for new loclist/dwo code.
libdwarf2.1.mm: Rev 2.32. New wording on old loclist
interfaces.
Makefile.in: Removed source files from the build that
are only useful to IRIX and only in the context of building
an IRIX runtime system.
dwarf_alloc.c: Added constructor/destructor code to
Dwarf_Line_Context allocator.
dwarf_elf_access.c: Added additional #defines so we
have the IA64 defines we need to compile certain
test cases on freebsd.
dwarf_error.c: Two new error codes for Dwarf_Line_Context
checking.
dwarf_line_table_reader_common.c: New file. We can compile
the line reading with and without detailed print lines
for dwarfdump. Now only one body of line reading code
to maintain.
dwarf_line.c: Moved code out to dwarf_line_table_reader_common.c
Refactored to support skeleton line tables (DWARF5)
Eliminated an internal struct, it is no longer needed.
a little better.
Supports experimental two-level line tables too.
dwarf_print_lines.c: Uses dwarf_line_table_reader_common.c
to do much of its work now.
libdwarf.h.in: New interfaces for nicer access to
line table headers.
libdwarf2.1.mm: Partial documentation of the new
libdwarf line table interfaces.
(not complete) of two-level line tables,
and experiment in line table design.
dwarfdump/ChangeLog
dwarfdump/print_lines.c
libdwarf/ChangeLog
libdwarf/dwarf.h
libdwarf/dwarf_alloc.c
libdwarf/dwarf_base_types.h
libdwarf/dwarf_init_finish.c
libdwarf/dwarf_line.c
libdwarf/dwarf_line.h
libdwarf/dwarf_line2.c
libdwarf/dwarf_util.c
libdwarf/libdwarf.h.in
code in libdwarf to go to the other, the tied, object
and retrieve .debug_addr data.
dwarfdump/ChangeLog
dwarfdump/dwarfdump.1
dwarfdump/dwarfdump.c
dwarfdump/print_die.c
libdwarf/ChangeLog
libdwarf/Makefile.in
libdwarf/dwarf_alloc.c
libdwarf/dwarf_die_deliv.c
libdwarf/dwarf_error.c
libdwarf/dwarf_form.c
libdwarf/dwarf_opaque.h
libdwarf/dwarf_original_elf_init.c
libdwarf/dwarf_query.c
dwarf_tied.c
libdwarf/libdwarf.h.in
till we have need for them.
dwarf_alloc.c
Somehow a cast was omitted from return from _dwarf_get_alloc().
Added in the call, removing a warning message.
dwarf_frame.c
In case of elf read error, was using stale Dwarf_Error pointer.
Fixed.
dwarf_init_finish.c
dwarf_allo.c: Comment the allocation table base
more carefully.
dwarf_base_types.h: Making DW_DLA defines more
readable, more consistent with other instances.
libdwarf.h.in: Adding producer error codes.
The producer library has some places error values
are misidentified. Main effect: documentation.
dwarf_error.c: Add the strings for the new error codes.
BLD
BLDLIBDWARF
BLDTESTDIR
CREATINGARELEASE
Makefile.in
README
UPDATEDWARFDUMPVERSION.sh
configure (regenerated)
configure.in
dwarfdump2/NEWS
This adds improved error reporting in case
of major libdwarf error.
dwarfgen/createirepfrombinary.cc
These are not normally used, but they
enable simple tests of the malloc-fail case.
dwarfgen/TESTmallocfail
dwarfgen/fakemalloc.c
These implement and document new handling
of malloc-space-exhausted special case
for Dwarf_Error. Using a global.
This has no effect on any client code,
it just enables sensible reports (from libdwarf)
in case the malloc arena exhausted.
libdwarf/dwarf_alloc.c
libdwarf/dwarf_error.c
libdwarf/dwarf_error.h
libdwarf/libdwarf.h.in
Document malloc-fail special case
error handling.
libdwarf/libdwarf2.1.mm
Regenerated: v 2.23 libdwarf/libdwarf2.1.pdf
to print better. And get some section names to
come out exactly right (but not all, yet).
dwarfdump/dwarfdump.1
dwarfdump/dwarfdump.c
dwarfdump/print_gdbindex.c
dwarfdump2/dwarfdump.1
dwarfdump2/dwarfdump.cc
dwarfdump2/print_debugfission.cc
dwarfdump2/print_die.cc
dwarfdump2/print_gdbindex.cc
Here we fix some warnings.
libdwarf/dwarf_alloc.c
libdwarf/dwarf_alloc.h
libdwarf/dwarf_gdbindex.c
libdwarf/dwarf_loc.c
libdwarf/dwarf_query.c
libdwarf/dwarf_sort_line.c
Here we fix some warnings.
libdwarf/dwarf_tsearchhash.c
tsearch/dwarf_tsearchhash.c
Here we fix some warnings
libdwarf/dwarf_util.c
libdwarf/libdwarf.h.in
libdwarf/pro_alloc.c
libdwarf/pro_arange.c
libdwarf/pro_forms.c
libdwarf/pro_reloc.c
libdwarf/pro_types.c
tests referring to debug section addresses
in favor of a single dwarf_tfind().
It will continue to work over time, the earlier
approach was error-prone in the face of new DWARF
sections.
* dwarf_alloc.c: Refactored and added relevant commentary.
Added a check for debug_types in dwarf_dealloc().
* dwarf_init_finish.c: Corrected a comment and made one line
declation-is-initialization.
* dwarf_opaque.h: Added commentary.
dwarf_tsearch implementation.
Fixed a small memory curruption in dwarfdump2/print_pubnames.cc
Added tsearch directory with various sorts of tree searches
(all written from scratch, not copied from anywhere).
stdout directly.
dwarfdump[2] use this new feature now.
The new interfaces in libdwarf.h to support this are documented.
Some minor botches in libdwarf2.1.mm (bad formatting) fixed.
Rename misnamed variable in dwarf_init_finish.c and fix documentation
on dwarf_set_stringcheck() to be correct. Going along with
correction to misnamed variable.
No real change to what the code does.
indentation. No interfaces changed. One new and
not very significant (to most people) interface added which
returns a count of abbreviations in an abbreviation section.
Copyrights updated for 2011.