* master: (97 commits)
3 one-line fixes, removing three compiler warnings.
dwarfdump/print_gdbindex.c: Fixed indents of a comment.
Update dwarfdump[2] version strings.
Here we fix some warnings and get gdbindex 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
dwarfdump, dwarfdump2: Now both print the gdbindex and .debug_[tc]u_index sections.
Dwarfdump: Now we use the new gdbindex and debugfission section-name strings instead of hard coding Elf section names.
libdwarf: minor correction addeing section name to one function and now documents the new gdbindx and debug fission (DWP) interfaces.
libdwarf has a new interface: dwarf_get_die_section_name() so clients can get the object section names (of .debug_info of .debug_types or the same with .dwo names). Fixed indent and trailing whitespace a couple places too.
libdwarf/dwarf_opaque.h: One new comment had a bad indent. Fixed.
libdwarf/dwarf_opaque.h: Clarified the meaning of various CU context struct fields by adding comments.
libdwarf/dwarf_opaque.h: Altered a couple comments to make them clearer.
Now -I now prints the entire .debug_cu_index and .debug_tu_index sections.
Refine that same comment again. It was actually wrong before, not just hard to read. the *next_cu* functions in libdwarf dwarf_die_deliv.c return -1 (DW_DLV_NO_ENTRY), not 0, when we have gotten through all the CUs in a section.
Clarify a comment in dwarf_die_deliv.c.
Fixed the libdwarf ChangeLog. Minor typo in a just-commited entry.
Now we can print the hash table data from the .debug_tu_index and .debug_cu_index sections ( debug fission, the .dwp object file index data).
Removed some newly introduced trailing whitespace characters.
libdwarf and dwarfdump now begin to support the DWARF5 sections .debug_tu_index and .debug_cu_index.
libdwarf: dwarf_arange.c(dwarf_get_aranges_list): Remove the length variable as its calculated value is unused. rename length to area_length for clarity. Calculate arange_ptr_past_end early and correctly. Ensure that the test for version 4 is a >= to reflect normal standards upgrades. dwarf_die_deliv.c(dwarf_find_offdie_CU_Context): Add commentary about offsets and lengths for clarity. Rename fields for clarity about local vs global offset. Use the newly named fields for precise tests of section overflow of a type unit. Other changes in libdwarf were additions and modifications of commentary.
Fixes a mistake in checking a offset in dwarf_die_deliv.c The mistake resulted in an error-return on a really really short .debug_types section where there was no error.
...
Conflicts:
dwarfdump/dwarfdump.c
libdwarf/dwarf_elf_access.c
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
so clients can get the object
section names
(of .debug_info of .debug_types or the same with .dwo names).
Fixed indent and trailing whitespace a couple places too.
wrong before, not just hard to read.
the *next_cu* functions in libdwarf dwarf_die_deliv.c
return -1 (DW_DLV_NO_ENTRY), not 0, when we have gotten
through all the CUs in a section.
dwarf_arange.c(dwarf_get_aranges_list): Remove the length variable
as its calculated value is unused. rename length to area_length
for clarity. Calculate arange_ptr_past_end early and
correctly. Ensure that the test for version 4 is a >=
to reflect normal standards upgrades.
dwarf_die_deliv.c(dwarf_find_offdie_CU_Context): Add commentary
about offsets and lengths for clarity.
Rename fields for clarity about local vs global offset.
Use the newly named fields for precise tests of section overflow of
a type unit.
Other changes in libdwarf were additions and modifications of commentary.
The mistake resulted in an error-return on a really really
short .debug_types section where there
was no error.
Removes unused local variables.
Switches a couple struct members (in dwarf_opaque.h) from
Dwarf_Word to Dwarf_Unsigned.
DebugFission data. There are new attributes (with GNU
forms and standard forms) and DW_OP's too.
Libdwarf reader code refactored so the new sections are
easily handled.
dwarf_producer_init() function.
The new interface is more extensible and allows for production
of DWARF versions post version 2 (such later versions are not
actually supported yet). Uses of the producer interface have
to change their calls to dwarf_producer_init*() to match the
new interface.
Callers to the consumer (reader) interface are not
affected.
dwarfgen/dwarfgen.cc
libdwarf/dwarf.h
libdwarf/dwarf_error.c
libdwarf/libdwarf.h.in
libdwarf/libdwarf2p.1.mm
libdwarf/libdwarf2p.1.pdf
libdwarf/pro_forms.c
libdwarf/pro_init.c
libdwarf/pro_opaque.h
libdwarf/pro_reloc.c
libdwarf/pro_reloc_stream.c
libdwarf/pro_reloc_symbolic.c
libdwarf/pro_section.c
libdwarf/pro_util.h
dwarfdump/common.c
dwarfdump/dwarfdump.c
dwarfdump2/ChangeLog
dwarfdump2/common.cc
dwarfdump2/dwarfdump.cc
Changed the implementation of DW_FORM_ref_addr
to properly reflect the V2 vs V3 and later
specifications.
libdwarf/dwarf_addr_finder.c libdwarf/dwarf_die_deliv.c
libdwarf/dwarf_form.c libdwarf/dwarf_query.c
libdwarf/dwarf_util.c libdwarf/dwarf_util.h
libdwarf/pro_forms.c libdwarf/pro_section.c
no longer useful here. See dwarfstd.org
for these and other files about the standard(s).
dwarf.v2.mm
dwarf.v2.pdf
index.v2.mm
index.v2.pdf
Removed mention of the above files from :
COPYING
Makefile.in
README
in the callback function (used for each new
debug section libdwarf is asked to create).
dwarfgen/dwarfgen.cc
libdwarf/libdwarf2p.1.mm Version 1.35
libdwarf/libdwarf2p.1.pdf (regenerated)
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.