and just use char*.
Ensure the getopt tests still work.
modified: dwarfdump/dwarfdump.c
modified: dwarfdump/dwgetopt.c
modified: dwarfdump/esb.c
modified: dwarfdump/esb.h
modified: dwarfdump/getopttest.c
modified: dwarfdump/globals.h
modified: dwarfdump/print_die.c
modified: dwarfdump/print_frames.c
modified: dwarfdump/print_lines.c
modified: dwarfdump/print_strings.c
modified: dwarfdump/tag_attr.c
modified: dwarfdump/tag_tree.c
Fixing errnumber->string array and arranging
that we test it during build.
modified: libdwarf/Makefile.in
renamed: libdwarf/dwarf_error.c -> libdwarf/dwarf_errmsg_list.c
modified: libdwarf/dwarf_error.c
Changes that enable Windows compilation with a C++ compiler
though the code in libdwarf is all C90.
And fix a bug with esb* interfaces that was found by
testing code not in libdwarf or dwarfdump.
because the default internal buffer size (240), was big enough
to receive the resulting output.
esb.c, esb.h:
* Missing prefix 'esb' for 'allocate_more'
* Initial buffer size reduced to 16.
* New function 'esb_open_null_device': open 'null' device
* New function 'esb_close_null_device': close 'null' device
* New function 'esb_allocate_more_if_needed': allocate more
space if required, leaving the contents unchanged, so the
caller, does not need to worry about it.
There are 2 cases:
Windows: use the 'null' device to get the required space
UNIX: use a big buffer (512). But if the result is bigger,
the original problem will be shown.
* The function 'esb_append_printf_ap', now takes care of
increasing the buffer if needed.
dwarfdump.c: In the case of windows, open and close the 'null'
device, in order to setup the esb module.
# By David Anderson
# Via David Anderson
* master:
dwarfexample/ChangeLog said 2011 but it is really just 2016 changes. Fixed.
Fixed a stray Dwarf_Unsigned to be Dwarf_Off in dwarfdump/print_die.c: dieprint_cu_goffset is the variable.
dwarfexample/frame1.c
Added new options for test coverage.
dwarfexample/simplereader.c
Notes about changes new this year.
libdwarf/NEWS
Better words about error handling.
libdwarf/dwarf_error.c
libdwarf/libdwarf2.1.mm
libdwarf/libdwarf2.1.pdf
(for testing libdwarf it's no longer so simple).
Support configure --enable-wall.
dwarfexample/Makefile.in
dwarfexample/configure
dwarfexample/configure.in
dwarfexample/simplereader.c
Now works with DW_FORM_GNU_strp_alt and DW_FORM_strp_sup
(as well as it can) even if there is no error argument passed
in to dwarf_formstring (and now dwarf_diename()
and dwarf_die_text() call dwarf_formstring() so all
types of string values are handled).
libdwarf/dwarf_form.c
libdwarf/dwarf_query.c
Dwarf_Error* and with mistakes treating DW_DLV_NO_ENTRY
as if it were DW_DLV_ERROR.
* dwarf_form.c: Only do dwarf_errno(*error) when error is non-null.
* dwarf_macro5.c, dwarf_query.c, dwarf_ranges.c: Avoid the
possibility of
doing dwarf_errno(*error) when error is null.
* dwarf_util.c(_dwarf_error_mv_s_to_t): Added code to
ensure that nothing crash-worthy happens
even if a future internal caller calls it with one or more NULL
arguments.
* libdwarf2.1.mm: Added a few words about Error Handling in general
to clarify earlier wording (earlier wording was not as explicit
as it should have been).
* libdwarf2.1.pdf: Regenerated. Version 2.45
* dwarf_sort_line.c: Though no longer built or used, added
an initializer to a local variable for correctness.
dwarfdump/globals.h
dwarfdump/print_aranges.c
dwarfdump/print_die.c
dwarfdump/print_frames.c
dwarfdump/print_lines.c
dwarfdump/print_macro.c
dwarfdump/print_pubnames.c
print_lines.c,print_macro.c,print_pubnames.c:
Remove the global dieprint_cu_offset, use local vars and pass around instead.
Ensure the traverse() logic when checking type references do not evaluate
references to other sections. Many argument lists got an additional argument or two.
libdwarf/dwarf_form.c
fix a comment
* dwarfdump.c: Update version string. Added CU_low_address so
CU_base_address is properly used only for the DWARF
CU 'base address' notion. Print CU_low_address in PRINT_CU_INFO().
* common.c: Update version string
* globals.h: New macro DROP_ERROR_INSTANCE(d,r,e) improves consistency
where we need to drop a Dwarf_Error instance.
* print_die.c: Support for CU_low_address. Use DROP_ERROR_INSTANCE
where appropriate.
* print_frames.c: Use DROP_ERROR_INSTANCE
where appropriate.
Missing '_' just for consistency.
Print any harmless errors only the required in command line
* globals.h:
Unused declaration.
* print_die.c:
When displaying a DW_AT_type offset error, uses the standard
0xdddddddd format.
Wrap to 80 columns, a long line.
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.
* master:
Tighten up the checking-tree array sizes and add comments about setting those sizes. dwarfdump/tag_attr_ext.list dwarfdump/tag_common.h dwarfdump/tag_tree_ext.list
Update version strings. Add some already known GNU extension tags to the lists.
Conflicts:
dwarfdump/common.c
add comments about setting those sizes.
dwarfdump/tag_attr_ext.list
dwarfdump/tag_common.h
dwarfdump/tag_tree_ext.list
Changes aid in testing.
No change in the tsearch code itself.
tsearch/config.h
tsearch/dwarf_tsearch.c
tsearch/dwarf_tsearch.h
how to update the values for the limits in the tables used
during the semantic check.
* tag_common.h: Update the semantic tables sizes; it was checking
a lot of empty entries.
* tag_tree_ext.list: Added valid TAGs for the GNU extensions:
DW_TAG_GNU_template_parameter_pack,
DW_TAG_GNU_formal_parameter_pack
* tag_tree_ext.list, tag_attr_ext.list: Include support for variadic
templates (GCC extension) DW_TAG_GNU_template_parameter_pack,
DW_TAG_GNU_formal_parameter_pack. These extensions are
generated by LLVM
* tag_tree.c: Incorrect generated comment
* tag_common.h: Update table size for new added tag/attr checks
# By David Anderson
# Via David Anderson
* master:
Changed a couple [] to [ ] as apparently cross-compiling fails with []
Fixed typo in libdwarf2.1.mm. Regenerated pdf, now is version 2.42.
dwarfdump.c,globals.h,print_aranges.c,print_die.c, print_frames.c,print_lines.c,print_locs.c,print_macro.c, print_pubnames.c,print_reloc.ckprint_static_funcs.c, print_static_vars.c,print_strings.c,print_types.c, print_weaknames.c: Removed global Dwarf_Error err and provided local Dwarf_Error as needed.
Add local Dwarf_Error and rename variables to avoid shadowing confusion.
print_frames.c,print_lines.c,print_locs.c,print_macro.c,
print_pubnames.c,print_reloc.ckprint_static_funcs.c,
print_static_vars.c,print_strings.c,print_types.c,
print_weaknames.c: Removed global Dwarf_Error err
and provided local Dwarf_Error as needed.
libdwarf2.1.mm: Added dwarf_lineoff_b() documentation.
Fixed a typo in dwarf_formexprloc() documentation.
libdwarf2.1.pdf: Regenerated. Version 2.41
# By David Anderson
# Via David Anderson
* master:
Renamed an enum value from 'std' to singledw5 to better reflect the meaning and avoid 'std' as 'std' seems to be a keyword in at least one environment. dwarfdump/dwarfdump.c dwarfdump/globals.h dwarfdump/print_lines.c
Add support for SHF_COMPRESSED libdwarf/README libdwarf/dwarf_elf_access.c libdwarf/dwarf_error.c libdwarf/dwarf_init_finish.c libdwarf/dwarf_opaque.h libdwarf/libdwarf.h.in libdwarf/libdwarfdefs.h
better reflect the meaning and avoid 'std'
as 'std' seems to be a keyword
in at least one environment.
dwarfdump/dwarfdump.c
dwarfdump/globals.h
dwarfdump/print_lines.c
* master:
Some places in the hash functions were not using DW_TSHASHTYPE. Now they are. libdwarf/dwarf_alloc.c libdwarf/dwarf_tied.c libdwarf/dwarf_tsearchhash.c
A single argument was missing its UNUSEDARG. dwarfdump/dwarf_tsearchbal.c tsearch/dwarf_tsearchbal.c
libdwarf: * dwarf_init_finish.c: Fix indents. remove a trailing space. * dwarf_tsearch.h,dwarf_tsearchhash.c: Now DW_TSHASHTYPE (if not defined otherwise) defines the type returned by the hash function used in tsearchhash. * pro_alloc.c: Removed trailing whitespace.
Fix typo libdwarf/ChangeLog
update version string dwarfdump/common.c dwarfdump/dwarfdump.c
Update version strings. dwarfdump/common.c dwarfdump/dwarfdump.c
Removed trailing whitespace.
Now the base hash table size is closer to 100 by default. The tiny values were only intended to test the table-expansion logic. libdwarf/dwarf_tsearchhash.c
* configure.in: defines HAVE_UNUSED_ATTRIBUTE 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.
Fixing the formatting of fde/cie. fdes were not printing properly. We were testing the wrong thing to determine if we should print. dwarfdump/print_frames.c
Cleaning up comments about .eh_frame and removing un-needed casts. Fixing commentary about CIE_id libdwarf/dwarf_frame2.c
Now DWARF2,3,4 macro style printed per-CU And new checks for wasted space made. dwarfdump/dwarfdump.c dwarfdump/globals.h dwarfdump/macrocheck.c dwarfdump/macrocheck.h dwarfdump/print_die.c dwarfdump/print_macros.c
Conflicts:
tsearch/dwarf_tsearch.h
* dwarf_init_finish.c: Fix indents. remove a trailing space.
* dwarf_tsearch.h,dwarf_tsearchhash.c: Now DW_TSHASHTYPE (if not defined
otherwise) defines the type returned by the hash function
used in tsearchhash.
* pro_alloc.c: Removed trailing whitespace.
tsearch:
* RUNTEST: the script had a couple of problems (typos). Fixed.
Added comments about running the tests.
* dwarf_tsearch.h: Provide a default DW_TSHASHTYPE
for tsearchhash and use DW_TSHASHTYPE.
* dwarf_tsearchbal.c,dwarf_tsearchbin.c,dwarf_tsearchepp.c,
dwarf_tsearchred.c: Use DW_TSHASHTYPE.
* dwarf_tsearchhash.c: use DW_TSHASHTYPE, add UNUSEDARG use.
Now the primes list starts at 79, not 5 (the low numbers
were really only for basic testing). Add UNUSEDARG
though it is defined as empty here (it is for gcc
to suppress some warnings).
* tsearch_tester.c: Use DW_TSHASHTYPE. Changed one
error message to help match with input test files.