The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

2013-12-26 David Anderson
* pro_section.c, pro_types.c, pro_vars.c, pro_weaks.c, pro_forms.c,
pro_frame.c,pro_funcs.c,pro_init.c,pro_line.c,pro_macinfo.c,
pro_pubnames.c,pro_reloc.c,pro_reloc_stream.c,pro_reloc_symbolic.c,
pro_expr.h,pro_macinfo.h,pro_reloc.h,pro_reloc_stream.h,
pro_reloc_symbolic.h,pro_section.h,pro_types.h,pro_util.h:
Remove trailing whitespace from the code.
2013-11-24 David Anderson
* pro_expr.c(dwarf_add_expr_gen): Moved use of a pointer
to be after where the pointer tested for NULL.
* pro_forms.c(local_add_AT_address): Moved use of a pointer
to be after where the pointer tested for NULL.
Both bugs found by the STACK code analysis tool from MIT.
2013-10-31 David Anderson
* dwarf_error.c: Added DW_DLE_AT_FIXUP_NULL and
DW_DLE_AT_FIXUP_DUP.
* libdwarf.h.in: Added those two defines plus dwarf_add_AT_reference_b()
and dwarf_fixup_AT_reference_die() for CLASS REFERENCE attribute
handling. Also, dwarf_add_AT_with_ref_sig8() for refsig8
references.
* libdwarf2p.1.mm: version 1.34 20 October. Document new interfaces.
Fixed typo in dwarf_add_AT_targ_address_b() documentation.
* libdwarf2p.1.pdf: Regenerated.
* pro_die.c. Added commentary.
* pro_forms.c: Added reference support with dwarf_add_AT_reference_b()
and refactoring to avoid duplicating code.
Added dwarf_add_AT_with_ref_sig8()
* pro_section.c: now only adds DW_AT_sibling automatically
if it was not present already. Still only adds it
in the same automatically-selected places.
Some renaming of local variables for clarity around line 1743.
One line reformatted, it was looking very odd, line 2217.
2013-10-17 David Anderson
* dwarf_error.c: Add DW_DLE_DEBUGPUBTYPES_ERROR string.
* libdwarf.h.in: Add DW_DLE_DEBUGPUBTYPES_ERROR and fix
DW_DLE_LAST. Add dwarf_add_pubtype() interface.
* libdwarf2.1.mm: References to Dwarf_Pubtype changed
to Dwarf_Type, using the same interface type
as for .debug_types (an SGI extension). Now at rev 2.15.
Clarified that pubnames and pubtypes only apply to
.debug_info.
* libdwarf2.1.pdf: Regenerated.
* pro_opaque.h: Added DEBUG_PUBTYPES and updated
NUM_DEBUG_SECTIONS.
* pro_pubnames.c: Added dwarf_add_pubtype() support.
* pro_section.c: Added support for pubtypes.
2013-10-14 David Anderson
* libdwarf.h.in: Dwarf_Callback_Func_c,
Dwarf_Callback_Func_b and Dwarf_Callback_Func name argument
was lacking a const qualifier leading to compiler warnings.
Now has const qualifier.
2013-08-15 David Anderson
* dwarf_alloc.c: Now uses dwarf_printf instead of printf.
And frees the dwarf_printf dp_buffer if appropriate.
* dwarf_line.c, dwarf_print_lines.c: Now use dwarf_printf
instead of printf.
* dwarf_line.c: Update copyright year.
* dwarf_opaque.h: Add de_printf_callback to Dwarf_Debug struct.
Add dwarf_printf to function prototypes.
* dwarf_util.c: Implement dwarf_printf.
* libdwarf.h.in: Now specifies struct Dwarf_Printf_Callback_Info_s and
dwarf_register_printf_callback();
* libdwarf2.1.mm: Version 2.14. Fixed three tables with too-long lines.
Documented the new printf callback registration functions.
* libdwarf2.1.pdf: Regenerated.
2013-08-13 David Anderson
* dwarf_init_finish.c:
* dwarf_query.c: Added dwarf_highpc_b() so consumers can deal
with DW_AT_high_pc with form constant (a feature of DWARF4).
* libdwarf.h.in: Added dwarf_highpc_b(),
dwarf_add_AT_any_value_sleb(), dwarf_add_AT_any_value_uleb().
to give producers more flexibility.
Moved the Dwarf_Form_Class declaration closer to the
head of the file so the new function prototypes can reference it.
* libdwarf2.1.mm: Version 2.13. Added dwarf_highpc_b().
* libdwarf2.1.pdf: Regenerated.
* libdwarf2p.1.mm: Version 1.33. Documents
dwarf_add_AT_any_value_sleb() and
dwarf_add_AT_any_value_uleb().
Fixes a one-character typo that was truncating the document severely.
* libdwarf2p.1.pdf: Regenerated.
* pro_forms.c: Implements dwarf_add_AT_any_value_sleb() and
dwarf_add_AT_any_value_uleb().
2013-08-09 David Anderson
* dwarf_init_finish.c: Spelling, change _dwarf_assume_string_bad->
_dwarf_assume_string_in_bound to reflect the actual meaning.
* dwarf_alloc.c: Change a debug message for DWARF_SIMPLE_MALLOC
to write to stdout, not stderr. All non-fatal messages now
print to stdout.
* libdwarf2.1.mm: Now version 2.12. Corrected the
description of dwarf_set_stringcheck().
* libdwarf2.1.pdf: Regenerated.
2013-08-08 David Anderson
* dwarf_form.c: When a FORM_string attribute is in
debug_types it is now correctly dealt with.
2013-08-07 David Anderson
* dwarf_init_finish.c: Changed a nonfatal error to
write it to stdout instead of stderr to make it easier
to understand the context of the error (which involves
the number of debug sections, not something anyone
should ever see).
2013-07-28 David Anderson
* dwarf_abbrev.c, dwarf_frame.c, dwarf_frame3.c,dwarf_line.c,
pro_reloc_stream.c, pro_section.c:
Rename local variables to avoid
compiler warnings about local variables reusing
outer scope (including global) names.
* dwarf_elf_access.c: Add AARCH64 support.
* dwarf_reloc_arm.h: Add AARCH64 support.
* libdwarf2.1.mm: dwarf_highpc() documentation admits
it does not work properly for DWARF4 in all cases.
dwarf_highpc() needs to be fixed.
* libdwarf2.1.pdf: Regenerated
2013-06-08 David Anderson
* libdwarf2.1.mm: Improved the documentation of
dwarf_highpc() function to suggest how to interpret
the value (pc or offset).
* libdwarf2.1.pdf: Regenerated.
2013-03-08 David Anderson
* dwarf_elf_access.c: Now we handle K10M and L10M
as having relocations named as in x86, x86_64.
2013-02-07 David Anderson
* dwarf_elf_access.c: FreeBSD did not have R_PPC64_ADDR32
as a relocation name, so changed one name to be the name
usable in Ubuntu and FreeBSD, R_PPC_ADDR32.
2013-02-01 David Anderson
* libdwarf2.1.mm: Improved the documentation of the
badly-named functions dwarf_whatform() and
dwarf_whatform_direct().
* libdwarf2.1.pdf: Regenerated.
* libdwarf.h.in: The arguments to dwarf_whatform[_direct]()
are renamed for clarity. They are commented out, so
this is just improving documentation.
2013-01-20 David Anderson
* libdwarf.h: Removed.
* libdwarf.h.in: Added. Identical content to standard libdwarf.
* configure.in: Generates libdwarf.h.
Notices if struct _Elf in libelf.h and generates libdwarf.h
appropriately.
* configure: Regenerated
* README now mentions the libdwarf.h generation at configure time.
2013-01-28 David Anderson
* dwarf_frame.c: Fix a macro so it does not test unsigned
numbers as being less than zero. Fixes a compiler warning.
* malloc_check.c: Add void as the parameter list of a
parameter-less function. Fixes a compiler warning.
2013-01-26 David Anderson
* libdwarf.h: Remove the lc_number3 field to restore
interface binary compatibility with earlier releases.
* dwarf_loc.c, dwarf_loc.h: No longer uses the removed
lc_number3 or lr_number3 fields.
2013-01-25 David Anderson
* dwarf_alloc.c: Changed some local names to avoid
compiler warnings about redefining names in inner contexts.
* dwarf_frame2.c: Changed some local names to avoid
compiler warnings about redefining names in inner contexts.
Added const to some declarations to avoid warnings
about const being cast away.
* dwarf_init_finish.c: Added const to some declarations
to avoid warnings about const being cast away.
Changed some local names to avoid
compiler warnings about redefining names in inner contexts.
* dwarf_line.c, dwarf_print_lines.c: Added const to some declarations
to avoid warnings about const being cast away.
Added static to function definition to reflect its use
and to avoid warning about lack of a visible prototype.
* gennames.c: Using C89/90 void to declare functions with
no arguments to avoid compiler warnings about using old style
declarations.
Changed some local names to avoid
compiler warnings about redefining names in inner contexts.
Added const to some declarations to avoid warnings
about const being cast away.
* pro_incl.h: WRITE_UNALIGNED macros now cast with const
to avoid warnings about const being cast away.
* pro_macinfo.c,pro_section.c,pro_section.h: Added const
to some declarations to avoid warnings about const being cast away.
2013-01-25 David Anderson
* common.c: Add 'const' on string declarations to avoid
compiler warnings.
* dwarf_loc.h: Add the new field lc_number3 to handle
DW_OP_GNU_const_type properly.
* dwarf_loc.c: Handle DW_OP_GNU_const_type properly.
* libdwarf.h: Add lr_number3 so we can handle DW_OP_GNU_const_type
properly. This destroys binary compatibility. Not a good idea.
See Jan 26, above.
2013-01-25 David Anderson
* dwarf_loc.c: Use cc_length_size, not cc_length to get
the offset size. Nasty bug.
* dwarf_opaque.h: Change commentary to clarify the cc_length
field content to hopefully avoid making that mistake again.
2013-01-15 David Anderson
* dwarf.h: defines for some added DW_OP_GNU operators
* dwarf_loc.c: Added support for some DW_OP_GNU operators.
* config.h.in, configure.in: Define and set HAVE_STRUCT_UNDERSCORE_ELF
as FreeBSD names struct _Elf instead of struct Elf.
* configure: Regenerated.
* dwarf_alloc.c: Initialize a local var at declaration, add const
to array of strings type declaration.
* dwarf_alloc.h: Change ah_structs_per_chunk to Dwarf_Sword
to eliminate a compiler warning.
* dwarf_arange.c: Change a couple Dwarf_Unsigned to Dwarf_Signed
to eliminate a compiler warning.
* dwarf_die_deliv.c: Change local to Dwarf_Unsigned to eliminate
signed compare warning (and actually signed was wrong anyway!).
* dwarf_error.c: Fix comparison to eliminate signed/unsigned
compare warning.
* dwarf_form.c: Index variable changed to unsigned to
eliminate signed/unsigned comparison warning.
* dwarf_frame.c: Local variables changed to unsigned to
eliminate signed/unsigned comparison warnings.
* dwarf_frame3.c: Local variables changed to unsigned to
eliminate signed/unsigned comparison warnings.
* dwarf_init_finish.c: Local variable changed to unsigned to
eliminate signed/unsigned comparison warning.
* dwarf_leb.c: Local variable changed to unsigned to
eliminate signed/unsigned comparison warning.
* dwarf_line.c: Changed index variable to unsigned to
eliminate signed/unsigned comparison warning.
* dwarf_loc.c: Delete two unused local variables.
* dwarf_loc.c: Delete two unused local variables.
* dwarf_macro.c: Fixed comparisons
eliminate signed/unsigned comparison warning.
* dwarf_opaque.h: Changed cc_abbrev_offset and de_fde_count
to unsigned (which they should have been all along) to
eliminate signed/unsigned comparison warnings.
* dwarf_print_lines.c: Local variable changed to unsigned to
eliminate signed/unsigned comparison warning.
* dwarf_util.c: Add include of pro_encode_nm.h to avoid
a compiler warning. Changed index variable to unsigned to
eliminate signed/unsigned comparison warning.
* libdwarf.h: Add ability to handle struct _Elf.
* pro_alloc.c: Move an include of malloc.h as it is
not needed if stdlib.h is present.
* pro_forms.c: Changed index variable to unsigned to
eliminate signed/unsigned comparison warning.
* pro_util.h: Add specific allowance for FreeBSD include and
relocation.