12015-12-31  David Anderson
2     * configure.in: Now allows --enable-shared and --disable-nonshared
3     * configure: regenerated.
42015-12-19  David Anderson
5     * dwarfdump.c: Now we print macros alone by CU with -m
6       (at least for DWARF5 macro format)
7     * print_lines.c(print_source_intro): Minor local
8       variable ordering change.
9     * print_macro.c(print_source_intro): Minor local
10       variable ordering change.
112015-12-19  David Anderson
12     * print_macro.c: Print the actual macro offset size we will use.
132015-12-18  David Anderson
14     * dwarfdump.c,globals.h print_die.c,print_lines.c,
15       print_macro.c,print_pubnames.c,print_ranges.c:
16       Removed globals elf_max_address and elf_address_size
17       in favor of local variables and new
18       global function get_address_size_and_max().
192015-12-16  David Anderson
20     * print_aranges.c, print_die.c: Ensure the four
21       error-reporting globals DIE_[CU_][global_]_offset are
22       set properly.
232015-12-16  David Anderson
24     * common.c: Update version string.
25     * dwarfdump.c: Update version string. Fix PRINT_CU_INFO()
26       to do what was intended (and not have a side effect).
27     * print_aranges.c: Folded a too-long line.
28     * print_die.c: Folded  a line so both offsets listed on same line.
29     * print_macro.c: moved macro_context call above the print of
30       ".debug_macro" so if the section does not exist we print nothing.
312015-12-15  David Anderson
32     * print_macro.c: Much of printing DWARF5 macros now works.
332015-12-13  David Anderson
34     * print_macro.c: Call new function dwarf_get_macro_ops_count() and
35       print returned values.
362015-12-12  David Anderson
37     * print_macro.c: Now does -vv intro with cu_die print too.
38     * print_macros.c: Only print .debug_macro name if there are some.
392015-12-11  David Anderson
40     * naming.h,naming.c: Added get_MACRO_name().
41     * print_macro.c: Now reads and prints macro5 header.
422015-12-11  David Anderson
43     * esb.c: esb_append now checks for NULL string pointer.
44       Added comment esb functions do NOT check for NULL pointers
45       generally.
462015-12-10  David Anderson
47     * esb.c: esb_get_copy() failed to account for the trailing NUL.
48       esb_get_copy was not being tested by SELFTEST.  Fixed both issues.
492015-12-08  David Anderson
50     * common.c,dwarfdump.c: Update version string.
51     * print_frames.c: Fix trailing whitespace.
52       Implement an attempt at DW_CFA_METAWARE_info.
532015-12-08  David Anderson
54     * print_frames.c: Fix indents and remove trailing whitespace.
55       Add comments: Errors in DIE info just result in omitting
56       procedure names, no warning/errors.
57     * dwarfdump.c: Deleted Elf64_Ehdr *eh64 declaration
58       that can never be used.
592015-11-30  David Anderson
60     * print_frames.c: Remove trailing whitespace.
612015-11-30  David Anderson
62     * Makefile.in: Add print_macro.o to build list.
63     * dwarfdump.c: Add macro_flag flag to signal print
64       of DWARF5 debug_macro data.
65     * globals.h: Export new macro print function.
66     * print_die.c: Call new macro print function, skip that attr
67       in checking-only run..
682015-11-28  David Anderson
69     * globals.h: Added DEBUG_FRAME_EH_GNU define for consistency..
70     * print_frames.c: use the new dwarf_get_frame_section_name()
71       and dwarf_get_frame_section_name_eh_gnu() functions for
72       section names.
73     * print_lines.c: Use the new dwarf_get_line_section_name_from_die()
74       function for the section name.
75     * print_locs.c,print_macros.c,print_pubnames.c,print_static_funcs.c,
76       print_types.c,print_weaknames.c: Added comments. These are
77       places where the section is either obsolete or the section
78       name is rarely of any use.
792015-11-27  David Anderson
80     * dwarfdump.1: Mentions that with zdebug sections offsets
81       refer to expanded object section, not compressed section.
82     * print_aranges.c,print_die.c,print_lines.c,print_ranges.c,
83       print_strings.c: Get the real section name from libdwarf.
842015-11-26  David Anderson
85     * common.c,dwarfdump.c: Updated version string.
86     * config.h.in, configure.in, Makefile.in: Deals with
87       zlib when present.
882015-11-15  David Anderson
89     * Makefile.in: Now supports building in a clean separate directory.
902015-11-11  David Anderson
91     * print_abbrevs.c(dwarf_get_array_info): Initialize local variable.
92     * print_die.c(get_location_list): Initialize local variable.:
93     * dwarf_loc.h: Add declaration of _dwarf_loc_block_sanity_check().
94     * dwarf_loc.c: Call new function  _dwarf_loc_block_sanity_check
95     * dwarf_loc2.c: Implement and call new function
96       _dwarf_loc_block_sanity_check to avoid duplicating code.
972015-11-07  David Anderson
98     * dwarfdump.1: Documented -x line5=.
99     * dwarfdump.c: Revised -g so it no longer turns on -i.
100       Revised the meaning of -g to mean use old loclist interfaces
101       (for testing the older interfaces with dwarfdump).
102     * print_die.c(get_small_encoding_integer_and_name): a dwarf_dealloc
103       referenced err whereas *err was correct.
104       Revised loclist output making it look a bit like DWARF5
105       even for DWARF2,3,4 output. Reads better, I think.
106     * print_locs.c: -l gets a 'no longer supported' message
107       as it was never safe to do anyway.
1082015-11-01  David Anderson
109     * configure.in: Add -O0 to  --enable-wall.
110       So if a coredump during debugging gdb will work really well.
111     * configure: Regenerated.
112     * print_frames.c: Ommitted a 'return' statement so
113       some output duplicated. Added in the missing return.
1142015-11-01  David Anderson
115     * Makefile.in, configure.in: Implement --enable-wall for compile-time
116       checking.
117     * configure: Regenerate.
118     * print_die.c:  Add DWARF5 DW_OPs  and .debug_loc.dwo loclists are
119       handled.
120       Now uses either latest (DWARF5)
121       interfaces or earlier, repurposing the old -g option to select.
122     * print_frames.c,print_frames.h: Printing expressions
123       (in .debug_frame, .eh_frame)
124       now honors -g so DWARF5 expressions handled.
125     * print_lines.c: Fixed some formatting.
126     * print_locs.c: Changes reflecting code calling into print_frames.c
1272015-10-26  David Anderson
128     * print_die.c: Removed debug printf.Corrected DW_OP_GNU_const_type
129       handling (cannot be fully reported
130       for certain new location operators).
1312015-10-15  David Anderson
132     *  print_die.c: Added DW_FORM_strp_sup,
133        same idea as DW_FORM_GNU_strp_alt.
1342015-10-15  David Anderson
135     * dwarfdump.c: Add enum line_flag_type_e so we can test
136       all the srclines interfaces (4 of them). Expand -x
137       for that too.
138     * print_die.c: Support DW_FORM_GNU_strp_alt.
139     * print_lines.c: Update for old and new srclines
140       interfaces.
141     * globals.h: Added the enum line_flag_e variable for
142       recording -x line5= value.
1432015-10-06  David Anderson
144     * dwarfdump.c: Now allow selecting alternate line table
145       reading code so line table routines can be tested thoroughly.
146     * print_lines.c: Uses one of the selected line table routine
147       sets.  Adds new line access routine calls to test those too.
148     * globals.h: Declares new flag line_skeleton_flag;
149     * print_die.c: Moved a local declaration to where it is used.
150       Added a missing DW_DLV_ERROR check so in case of error
151       we do not leak memory.
1522015-09-26  David Anderson
153     * dwarfdump.c, common.c: Update version string.
154     * print_lines.c: Added local variables for clarity
155       in a call, changed the dwarf_srclines_dealloc() location
156       to fully clean up after a two-level line table srcfiles call.
1572015-09-26  David Anderson
158     * dwarfdump.c, common.c: Update version string.
1592015-09-24  David Anderson
160     * dwarfdump.c, common.c: Update version string.
161     * print_lines.c: IA in line header hint is
162       really spelled IS. Fixed now.
163     * dwarf_elf_access.c: Added R_IA64* and R_390 relocation ifdefs
164       for cases where they are not in a test machines elf.h or the like.
1652015-09-23  David Anderson
166     * print_lines.c: Removed accidental newline from output.
1672015-09-22  David Anderson
168     * print_die.c: Removed trailing whitespace and fixed indentation mistake.
169     * print_lines.c: Fixed indentation and  inconsistencies
170       in spelling line table field hints.
171       Leaving IA as has been for a long time
172       though it should be spelled IS.
1732015-09-19  David Anderson
174     * print_lines.c: Tweaking two-level line table code, mostly
175       comments..
1762015-09-17  David Anderson
177     * print_lines.c: Adding handling of experimental two-level
178       line table.
1792015-09-15  Carlos Alberto Enciso
180     * common.c: For Windows version, add a symbol with the
181       release date (taken from the distributed compressed archive),
182       to be used by print_version_details() for better
183       tracking of versions.
184     * print_die.c: The text search (-S), now follows
185       the DW_AT_specification
186       and the DW_AT_abstract_origin attributes,
187       to get the associated name;
188       this finds the declaration and definitions
189       DIEs for a member functions
190       or the abstract and concrete instance DIEs for inlined functions.
191       Fix some C99 issues with local variable declarations in
192       get_attr_value().
193     * print_aranges.c: Add an extra newline in print_aranges().
1942015-09-15  David Anderson
195     * print_die.c: for case DW_AT_dwo_id a c99-ism has been
196       changed to be like C89.
1972015-09-14  David Anderson
198     * dwarfdump.c: Remove trailing space.
199     * print_frames.c, globals.h: print_frame_inst_bytes() defined and used
200       in one file, so made a static function, removed from globals.h
2012015-09-13  David Anderson
202     * dwarfdump.c, common.c: Update version string.
2032015-09-11  David Anderson
204     * dwarfdump.c: Update usage message to mention
205       -x tied=  and update version strings.
206     * common.c: Update version string.
2072015-09-11  David Anderson
208     * dwarfdump.c: Fixed copy/paste errors so DebugFission
209       code works (see tieddbg in the source).
2102015-09-11  David Anderson
211     * dwarfdump.c, dwarfdump.1: Added -x tied=<path>
212       option so one can get .debug_addr data when referencing
213       a .dwp or .dwo. Tieing these together.
214     * print_die.c: Fixed indent errors.
2152015-09-05  David Anderson
216     * tag_attr.list,tag_attr_ext.list,tag_tree.list: removed
217       trailing whitespace.
2182015-07-12  David Anderson
219     * dwarfdump.c: Use dwoptind dwoptarg, not optind, optarg
220     * dwgetopt.c,dwgetopt.h,dwgetopttest.c,tag_attr.c,
221       tag_tree.c: Use dwoptind dwoptarg etc,
222       not optind, optarg, optopt op6error etc.
223     * print_die.c: updated commentary.
2242015-05-07  David Anderson
225     * common.c, dwarfdump.c: Update version string.
226     * print_die.c: Print DW_AT_dwo_id properly as a Dwarf_Sig8 value.
2272015-05-03  David Anderson
228     * print_die.c: Print the fission data from the
229       index section when we print cu header, not when printing cu DIE.
230       Moved cu header/cu die print code to functions, simplifying
231       calling code.
2322015-05-01  David Anderson
233     * tag_attr.list: Added a DW_AT_signature and
234       moved a couple attributes to match the standard-document
235       order of attributes.
2362015-03-10  David Anderson
237     * dwarfdump.c: Update version string.
238     * common.c: Update version string.
239     * dwgetopt.c: Was mishandling options
240       missing their required argument and
241       coredumping dwarfdump.
242     * getopttest.c: Added new tests to ensure
243       we have the dwgetopt() fixes working properly.
244     * Makefile.in: Added new test runs to 'make test'.
245     * print_die.c, print_lines.c: Removed instances
246       of trailing whitespace.
2472015-03-09  David Anderson
248     * Makefile.in: added new tests of dwgetopt.
249       Runs not only dwgetopt but system getopt.
250     * dwarfdump.c: New function set_checks_off()
251       so if printing we don't do checks (intended
252       to be this way for a long time now).
253       Updated version string.
254     * 	common.c: Updated version string.
255     * print_die.c: Was not always recognizing unit DIES
256       DW_TAG_partial_unit or DW_TAG_type_unit where it saw
257       DW_TAG_compile_unit. Now does so.
258     * dwgetopt.c: Errors could lead to dwarfdump coredump. Fixed.
259     * getopttest.c: Added several new tests. Now one
260       can run single tests and run against either getopt or dwgetopt
261       (set at compile time of getopttest.c).
2622015-03-03  David Anderson
263     * tag_attr.list: Removed DW_AT_sibling from DW_TAG_partial_unit.
264       DW_TAG_compile_unit. Removed DW_AT_containing_type from
265       DW_TAG_subprogram, DW_TAG_structure_type.
266     * dwarfdump.c,common.c: Update version strings.
267     * print_die.c: Fix indent mistakes. Add comment
268       in _dwarf_print_one_expr_op() that one error is
269       not presently realizable (FreeBSD compiler
270       noticed the situation).
271     * print_ranges.c: Fix indent mistakes.
272     * tag_attr.c: Remove trailing whitespace from a #include line.
2732015-03-03  Carlos Alberto Enciso
274     * dwarfdump.c: Add allocate_range_array_info(),
275        release_range_array_info() calls to help fix range checking.
276     * globals.h: Add declarations of range checking functions.
277     * print_die.c: Add check_range_array_info() call.
278       Add record_range_array_info_entry() call.
279       Move all the range check code out of print_die.c.
280       Add handling of high_pc as an offset, not just as a value.
281     * print_ranges.c: Delete unneeded includes.
282       Add check_ranges_list() implementation moved from
283       print_die.c. Add new ranges check functions.
284       Range check error messages now appear later in the output,
285       though the content is identical.
286     * tag_attr_ext.list: Add DW_TAG_GNU_call_site and
287       DW_TAG_GNU_call_site_parameter tag attr combinations.
288     * tag_tree_ext.list: Add DW_TAG_GNU_call_site DW_TAG_call_site_parameter
2892015-02-22  David Anderson
290     * configure.in: removed getopt.h from tests, we use
291       local dwgetopt now.
292     * dwgetopt.h: Function name is dwgetopt. Prototype named right now.
293       Copied from libdwarf dwgetopt.h
294     * configure: regenerated
295     * Makefile.in: build dwgetopt.o
296     * dwgetopt.c: Copied from libdwarf source.
297     * tag_attr.c,tag_tree.c: Now call dwgetopt() instead of getopt().
298
2992015-02-04  David Anderson
300     * 	common.c,dwarfdump.c:Updated version string.
301     * print_debugfission.c: Now we are using a Dwarf_Sig8
302       for fission hash so we introduce an esb_s to do
303       the formatting.
304     * tag_attr.c: Now we format a more detailed message when
305       we detect an insufficient static tag_attr or tag_tree
306       array instance. It's code only used at build time so
307       just giving up is fine: someone changed dwarf.h.
308     * tag_attr.list:  Adding new TAGs and new Attrs
309       from DWARF5. Since the DWARF5 standard not yet final
310       these could change!
311     * tag_attr_ext.list: Added new GNU attributes.
312     * tag_common.h:  updated DW_TAG_last and DW_AT_last
313        STD_TAG_TABLE_ROWS STD_ATTR_TABLE_COLUMNS values
314       due to dwarf.h updates.
315     * tag_tree.list: New entries from DWARF5.
3162015-01-31  David Anderson
317     * DWARFDUMPCOPYRIGHT: updated to
318       reflect changes today. Old versions
319       of the copyright notices still shown here.
320     * common.c,dwarfdump.c,dwconf.c,esb.c,makename.c,naming.c,
321       print_abbrevs.c,print_aranges.c,print_die.c,print_frames.c,
322       print_lines.c,print_locs.c,print_macros.c,print_pubnames.c,
323       print_ranges.c,print_reloc.c,print_sections.c,print_static_funcs.c,
324       print_static_vars.c,print_strings.c,print_types.c,print_weaknames.c,
325       strstrnocase.c,tag_attr.c,tag_attr.list,tag_attr_ext.list,
326       tag_common.c,tag_tree.c,tag_tree.list,tag_tree_ext.list,
327       uri.c,uritablebuild.c: Removed obsolete SGI postal
328       address and web references.
3292015-01-31  David Anderson
330     * common.h,dwconf.h,esb.h,globals.h,makename.h,naming.h,
331       print_frames.h,print_reloc.h,print_sections.h,tag_common.h,uri.h:
332       The address and URI for SGI is obsolete and there is no
333       replacement so deleted some lines from the copyright
334       statements.
3352015-01-30  David Anderson
336     * common.c,dwarfdump.c: Update version string.
337     * globals.h: Added format_sig8_string() to global functions.
338     * print_debug_fission.c: Updated .debug_cu/tu_index hash signature
339       code to match libdwarf (Dwarf_Sig8, not Dwarf_Unsigned).
340       Allow for missing hash (?).
341     * print_die.c: Use format_sig8_string().
3422015-01-29  David Anderson
343     * print_die.c: Two places used C99-only variable
344       declaration. Moved declarations up to conform to C90.
3452015-01-24  David Anderson
346     * dwgetopt.c,dwgetopt.h: Using NetBSD getopt source with
347       modifications to support :: for uniform behavior
348       for all users. Not all getopt are the same. Named dwgetopt().
349     * dwgetopttest.c: Does tests of dwgetopt() for conformance
350       with dwarfdump requirements. See 'make selftest'.
351     * Makefile.in: Now has selftest for dwgetopt and
352       links dwgetopt.o into dwarfdump.
353     * esb.c: Now prints PASS on success and counts errors.
354     * dwarfdump.c: Now calls dwgetopt and includes dwgetopt.h
355       Added a new global so we recognize where needed
356       not to do some checks when checking (
357       for debugfission some things not sensible).
358     * globals.h: Removed cu_offset (not needed) and added
359       suppress_checking_on_dwp flags.
360     * print_die.c:renamed cu_offset to be a static: dieprint_cu_offset
361       Reset it when finished with a CU. (-k checks got into trouble
362       when both .debug_info and .debug_types present).
3632015-01-21  David Anderson
364     * common.c, dwarfdump.c: Update version string.
365     * print_die.c: For a DW_FORM_ref_sig8 type signature
366       value, if not printing the actual FORM print
367       <type signature> so the hex value makes sense.
368       It is obviously not a .debug_info global offset.
369       Now prints debug fission (dwp) information for
370       each CU with such.
3712015-01-18  David Anderson
372     * common.c, dwarfdump.c: Update version string.
3732015-01-15  David Anderson
374     * dwarfdump.c: dump_unique_errors_table() ifdef out
375       of normal compiles, it is unused. Unused local variables
376       removed.
377       Update version string.
378     * esb.c: Moved stdarg.h include just after stdio.h include
379       for positioning consistency.
380     * globals.h: Added stdarg.h include just after stdio.h
381       include as we use va_list a lot and so stdarg.h
382       is required.
383     * print_debugfission.c: Remove two unused local variables.
384     * print_frames.c: Remove trailing whitespace.
385     * tag_attr.c: #include stdarg.h. Add {} to array initializers
386       output to avoid compiler warning.
387     * tag_common.c: Move stdarg.h include to just after
388       stdio.h for positioning consistency.
389       Update version string.
390     * tag_tree.c: Revised include order to start with
391       globals.h and to not duplicate includes of stdio.h etc.
392       Add {} to array initializers
393       output to avoid compiler warning.
394     * testesb.c: Add include of stdarg.h.
3952015-01-12  David Anderson
396     * tag_common.c: Add comments about va_start, va_end.
397     * esb.c: Add comments about va_start, va_end.
398       Add va_end in the selftest code.
399     * common.c: Update version string.
400     * dwarfdump.c: Update version string. Add va_end()
401       and comments about va_end.
4022015-01-08  David Anderson and Carlos Alberto Enciso
403     * Makefile.in: add selftest: rule, which tests esb.c
404     * dwarfdump.c: Add new options -O file=path, -kD -kG -ku kuf.
405       New checking and reporting features intended to give a
406       report on attribute and tag usage.
407       Update version string.
408     * common.c: Update version string.
409     * esb.c, esb.h: Added new interface using stdarg.
410       Added self-test feature.
411     * dwarf_makename.c: new #pragma (not Linux/Unix related).
412     * print_die.c: Implements collecting the new statistics
413       dwarfdump reports.
414     * print_lines.c: New statistics collected.
415     * tag_attr.c: New checks for the tag/attr table correctness.
416     * tag_attr.list: Fixes duplicated entries.
417     * tag_attr.list_ext: Adds APPLE attribute DW_AT_APPLE_optimized
418       that llvm emits.
419     * tag_common.c: bad_line_input() now allows stdarg calls so
420       its easier to emit good error messages.
421     * tag_common.h: bad_line_input() arg list changed a little. Stdarg now.
422     * tag_tree.c: New tag tree checking done. New statistics
423       available.
424     * tag_tree.list:  Adds DW_TAG_unspecified_type,
425       DW_TAG_rvalue_reference_type,
426       DW_TAG_restrict_type.
427     * tag_tree_ext.list: Adds DW_TAG_GNU_template_template_parameter.
428       Fixes duplication of entries.
4292015-01-05  David Anderson
430     * dwarfdump.c:  Don't call dwarf_finish() if
431       the dwarf-init call failed.
432     * common.c,dwarfdump.c: Updated version string.
4332015-01-01  David Anderson
434     *	A new year begins.
435