at the top level and all lower levels.
README
configure
configure.in
dwarfdump/Makefile.in
dwarfdump/configure
dwarfdump/configure.in
dwarfexample/configure
dwarfexample/configure.in
dwarfgen/configure
dwarfgen/configure.in
libdwarf/ChangeLog
Updated all the configure scripts to support zlib and
reading compressed .zdebug_ DWARF sections.
All works fine without zlib (though reading .zdebug sections
not possible without zlib).
A few lines of code and some internal-to-libdwarf structs
change slightly for .zedebug support. There is no
change to public interfaces.
NEWS
README
configure
configure.in
Now allows build separate from source.
dwarfdump/ChangeLog
dwarfdump/Makefile.in
dwarfexample/Makefile.in
Now uses configure and allows
build separate from source.
dwarfexample/configure
dwarfexample/configure.in
dwarfgen/Makefile.in
Now allows build separate from source.
libdwarf/Makefile.in
libdwarf/configure
libdwarf/configure.in
1) Improve the '-S' option algorithm, to get indirect names, from
DW_AT_specification and DW_AT_abstract_origin attributes, to use
those names in the comparison for member and inlines functions.
2) Correct incorrect calculation of 'pointer_size' for proprietary
EM_PPC64 machine type.
3) Changes required when porting the samples to Windows
4) Include additional information for the Windows version.
so all is easier for those without getopt() to build.
To avoid unwanted dependencies dwgetopt.h and dwgetopt.c
are in both dwarfdump and libdwarf directories.
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
output of dwarfdump/print_gdbindex.c.
dwarfdump2/print_gdbindex.cc
Adds dwarfgen: to messages. adds try-catch to better deal
with out-of-malloc-space.
dwarfgen/dwarfgen.cc
Adds a few instances of setting error code correctly.
libdwarf/dwarf_elf_access.c
Found a place where NULL not tested for.
Now it is, so out-of-malloc-space won't
generate instant coredump, but will
return NULL.
libdwarf/dwarf_tsearchhash.c
tsearch/dwarf_tsearchhash.c
tsearch/dwarf_tsearchred.c
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
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)
and dwarf_add_AT_with_ref_sig8() to libdwarf producer function list.
Documented the new functions in libdwarf2p.1.mm.
If we already have a DW_AT_sibling attribute we take care not
to add a second one.
dwarfgen now supports some 'class reference' forms (local references
and sig8 references, not yet global references).
Fixed dealloc for dwarf_get_pubtypes to avoid duplicate free.
and adding an error code now used by the producer.
dwarfdump: adding support to print .debug_pubtypes
dwarfgen: adding support to read and write .debug_pubnames
and .debug_pubtypes.
in libdwarf.h.in (and libdwarf.h) provoked compiler warnings.
Now the const is added to that char*name argument type
to avoid the compiler warning in the build of libdwarf.
Users of the producer code may find they need to change
a definition/declaration of their code to avoid a
compilaton failure. Most users do not use that
procuder code in libdwarf and will not be affected.
dwarfexample: Adds a --check option to show in detail
when the DW_AT_high_pc is a constant vs offset,
at least for subprograms.
dwarfgen: Now handles class constant (writes to output)
and fixes missing handling of DW_FORM_data4/8 in
global references.
Adds -h option telling dwarfgen to alter a high pc
from address class to const class (and adjusts
the value appropriately). So we can create
testcases without having a too-recent compiler.
libdwarf: Fix an error no one should ever see (programmer
failed to run a simple test!) so it returns DW_DLV_ERROR
in case it happens.
Add dwarf_highpc_b() function to consumer code.
dwarf_add_AT_any_value_sleb() and dwarf_add_AT_any_value_uleb()
to producer code.
Update libdwarf2.1.mm and libdwarf2p.1.mm to reflect the
new functions.
are really misnamed. Now libdwarf2.1.mm exposes the real meaning
and libdwarf2.1.mm (in commentary) does too.
dwarfgen has fixes so it builds 64bit.
Omissions in dwarfgen which were not processing FORMs right
are corrected.
* dwarf.h: Added some GNU extensions.
* libdwarf.h: Added dwarf_lineoff_b() as
dwarf_lineoff() wrongly returns a signed column number.
Added dwarf_add_lineentry_b() as preparation for creating
DWARF3/4 output.
* dwarf_line.h: Added new struct fields to accomodate
DWARF3/4 isa and discriminator fields.
* dwarf_line.c: Now deals with the VLIW line calculations
in DWARF4. Adds support for computing the discriminator
and isa fields. Adds dwarf_lineoff_b() (and dwarf_lineoff
is now deprecated). Adds dwarf_prologue_end_etc() which
returns some DWARF3/4 line fields.
* dwarf_print_lines.c: Adds handling of DWARF3/4
line operations and fields and prints the details.
* libdwarf2.1.mm: Documents the new functions in dwarf_line.c
Version set to 2.02.
* libdwarf2.1.pdf: Regenerated.
* libdwarf2p.1.mm: Documents the new function
dwaf_add_line_entry_b().
Version set to 1.32.
* libdwarf2p.1.pdf: Regenerated.
* pro_incl.h: Add parentheses so the WRITE_UNALIGNED macro
works correctly in all circumtances.
* pro_opaque.h: Add DEBUG_RANGES and dEBUG_TYPES to the list
of sections we could generate. Define struct Dwarf_P_Line_Inits_s
to hold initialization values for line table data so we can later
make the choices at runtime rather than compile time.
The new struct is a field of the Dwarf_P_Debug struct.
* pro_line.h: Added some DWARF3/4 support and preparations
for emitting DWARF3/4.
* pro_line.c: Define dwarf_add_line_entry_b() for DWARF3/4
line fields, and _dwarf_init_default_line_header_vals()
to provide a default set of values, the defaults match
what was previously done.
Add support for the new DWARF3/4 line table fields.
* pro_section.c: Add the beginnings of support for creating
new DWARF3/4 sections and the new standard opcodes.
Move the field-writing code to small functions making
the line table writing smaller and easier to read.
Added the beginnings of allowing writing DWARF3/4
line table fields. Some if() missing {} were
modified by adding {} to avoid future problems.
and its callback function. It is documented in libdwarf/libdwarf2p.1.mm.
Date stamps are updated in both dwarfdumps even though there was no
reader code change.