1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
2009-12-30 DavidAnderson <davea42@earthlink.net>
* configure: Regenerated with autoconf 2.64.
* config.guess, config.sub: Delete these, best not
to have them.
2009-11-24 DavidAnderson <davea42@earthlink.net>
* tag_common.h: Updated 'standard tag table row' and
tag table column maximums now the DWARF4 entries are
in the .list files. Removed dos 'CR' characters at line ends.
* tag_tree.list, tag_attr.list: Added various
DWARF4 entries and added DW_TAG_enumeration_type
under DW_TAG_union_type.
2009-11-17 DavidAnderson <davea42@earthlink.net>
* dwarfdump.1: Document the -u option more fully.
* print_die.c: Check for both info_flag and
cu_name_flag to decide when to print DIEs.
2009-10-12 DavidAnderson <davea42@earthlink.net>
* dwarfdump.c: Updated dwarfdump version string to today.
2009-09-30 DavidAnderson <davea42@earthlink.net>
* dwarfdump.c: Added globals for aranges checking and
to print the resulting error count.
* print_aranges.c: Added checking that all 3 ways
of computing a cu_die_offset from an arange get
the same offset (checked with -r -ka).
* print_frames.c: DW_CFA_cfa_offset_extended_sf
corrected to DW_CFA_offset_extended_sf.
2009-09-01 DavidAnderson <davea42@earthlink.net>
* tag_tree.list: We add
DW_TAG_class_type as a valid child of a DW_TAG_union_type.
2009-08-05 DavidAnderson <davea42@earthlink.net>
* gennames.c: Change include from getopt.h to unistd.h
so the code is more universally compilable.
2009-07-24: David Anderson <davea42@earthlink.net>
* tag_attr.c: Remove duplicate include of naming.h.
2009-06-23: David Anderson <davea42@earthlink.net>
* strstrnocase.c: Corrected typo in TEST code and
added a new test.
2009-06-22: David Anderson <davea42@earthlink.net>
* Makefile.in: switched to personally written
string comparison, strstrnocase.c.
* stristr.c: deleted.
* strstrnocase.c: New code, written by me so no
license issues.
* print_die.c: Call is_strstrnocase(), the new function.
* dwarfdump.1: More fully document -S.
* globals.h: Create extern for is_strstrnocase().
2009-06-18: David Anderson <davea42@earthlink.net>
* configure: Regenerated.
* Makefile.in: Add stristr.o
* stristr.c: public domain source added to dwarfdump
* print_die.c: Add code and arguments to support -S.
* print_lines.c: print_one_die argument list changed, added
the require argument..
* dwarfdump.c: Added the -S option.
* configure.in: Add test to set HAVE_REGEX for the -S option.
* dwarfdump.1: Document the -S options.
* config.h.in: Set the default HAVE_REGEX
* globals.h: Add -S globals, change the print_one_die()
prototype to support -S.
* print_aranges.c: Alter the print_one_die calls added
to support -S.
2009-06-06: David Anderson <davea42@earthlink.net>
* naming.c,naming.h: New files that implement the
ellipsis functionality of dwarfdump and defer to
libdwarf to get the names of the TAGs, attributes, FORMs, etc.
* gennames.c: This file has moved to libdwarf, no longer
present in dwarfdump.
* esb.h, esb.c: Change certain char* arguments to const char*
to avoid compiler warnings.
* print_static_vars.c,print_static_funcs.c,
print_sections.c,print_strings.c, print_locs.c,
print_lines.c, print_pubnames.c,print_ranges.c,
print_macros.c,print_types.c,tag_common.c,
print_weaknames.c, print_aranges.c: Include
changed from dwarf_names.h to naming.h
* tag_common.h: Removed the tag_name array, libdwarf
provides the TAG, ATTR, etc name strings now.
* dwarfdump.c: Updated DWARFDUMP_VERSION string.
* tag_tree.c,tag_attr.c: Include changed from dwarf_names.h to
naming.h. simplified long complicated lines, remove dbg argument
to get_TAG_name.
* print_die.c,print_abbrevs.c: Include changed from dwarf_names.h
to naming.h.
Calls to get_TAG_name (etc) no longer have a dbg argument.
* Makefile.in: We no longer build generated file names.c,
we build naming.c (hand coded, not generated).
2009-05-07: David Anderson <davea42@earthlink.net>
* dwarfdump.cc: updated DWARF_VERSION string.
* Makefile.in: dwarf_names* are now generated by C,
so 'clean' now cleans them out.
2009-05-04: David Anderson <davea42@earthlink.net>
* common.h, common.c: Extracted simple utility routines
into their own files.
* dwarf_names.awk, at_list.awk: deleted. gennames.c replaces these.
* tag_common.c, tag_common.h: Removed the simple utility
routines from these files to simplify dependencies.
* tag_attr.c, tag_tree.c: Include new common.h.
* print_frames.c: Adding address_size argument to call.
* print_frames.h: Adding new address_size argument to
get_string_from_locs() declaration.
* print_locs.c: Gets and uses CU-specific address_size.
* print_ranges.c: Adding commentary.
* print_die.c: adding DIE argument to ensure correct
address size used for the CU in question.
* Makefile.in: Now handles common.* and gennames.c changes.
* gennames.c: New code emitting string 'get name' source.
Replaces awk source.
2009-04-04: David Anderson <davea42@earthlink.net>
* Makefile.in: clean up 'clean' and 'distclean'
so that distributed files are not cleaned out by 'clean'
and all generated files (even those shipped in
distribution) are cleaned out by distclean.
* dwarfdump.c: Now calls the new
libdwarf function dwarf_set_frame_cfa_value() and other
such functions to specify all the values libdwarf needs.
* dwarfdump.conf: Sets the cfa_reg: value to
a new higher value (1436) to avoid conflict with largest
known register count.
* dwconf.h: Corrected commentary on DW_FRAME_CFA_COL3.
* dwconf.c: Now uses DW_FRAME_CFA_COL3 as default for
interface 3, rather than a directly typed number.
Sets undefined-value and same-value pseudo-register numbers.
2009-04-03: David Anderson <davea42@earthlink.net>
* dwarfdump.1: Amplified -R and -x abi= documentation.
* dwarfdump.conf: Added generic500 generic100 abis.
2009-03-29: David Anderson <davea42@earthlink.net>
* print_die.c: Moved print_infos() to here.
* dwarfdump.c: Moved print_infos() out of here.
* globals.h: Declarations changed to allow moving
print_infos().
* dwarf_names.awk: Eliminate a pointless space before
a newline in the generated code.
* print_locs.c: Add -v section offset output to loclist printing
of the debug_loc section so the entries can be matched to
loclist printing initiated from .debug_info.
2009-03-24: David Anderson <davea42@earthlink.net>
* README: Would be nice if all could use dwarfdump2,
not this C dwarfdump.
* dwconf.c: Initialize new frame regs configure data and
parse it in the .conf file. Fixed old formatting mistakes.
* dwconf.h: Add new fields to frame regs configure struct. Make -R
be 1200 regs so that -R covers all the currently popular ABIs.
* print_die.c, print_lines.c, print_frames.c: Change %# to
0x% so that zero prints with leading 0x consistently.
* dwarfdump.c: -R is now 1200 registers. So config function
changed and usage message needed update.
* dwarfdump.1: Change -R to 1200 and document -C.
* dwarfdump.conf: Add same_val_reg: and undefined_val_reg:
initial values where needed or interesting.
* print_macros.c: Fix old formatting mistake.
2009-03-23: David Anderson <davea42@earthlink.net>
* print_sections.h: New file for print_*.c
sources.
* dwarfdump.1: Added -C documentation.
* Makefile.in: updated 'mandir' so it works with
current configure (so now make install properly installs
the man page).
* print_sections.c: Moved get_fde_proc_name() and related
code to print_frames.c, where it is referenced.
* dwarfdump.c: No longer turn on info_flag with -f or -F.
Moved the Usage strings into a string table and loop through
to print them.
* globals.h: Removed get_fde_proc_name() declaration.
* print_frames.c: Added get_fde_proc_name() here
and removed the 'inlined:' from the abstract origin
name.
2009-03-20: David Anderson <davea42@earthlink.net>
* print_static_vars.c, print_static_funcs.c, print_strings.c,
print_locs.c, print_pubnames.c, print_lines.c, print_ranges.c,
print_abbrevs.c, print_macros.c, print_types.c, print_weaknames.c,
print_aranges.c: Moved the print_* functions from print_sections.c
into individual sourcefiles.
* Makefile.in: Now lists the new sourcefiles.
* print_sections.c: Deleted code moved to individual sourcefiles.
Added code to try to find the name from a DW_AT_abstract_origin
DIE when a subprogram DIE itself has no DW_AT_name;
* dwarfdump.c: Remove unused local variables. Use DWARFDUMP_VERSION
#define to set version string.
* tag_tree.c: Fix && || problem with parentheses.
* tag_attr.c: Fix && || problem with parentheses.
* print_frames.c: Moved the 'print_frames' function itself from
print_sections.c to here.
2009-03-17: David Anderson <davea42@earthlink.net>
* globals.h: Created predicate function
should_skip_this_cu() predicate function. Eliminating
code duplication.
* print_frames.c: Fix a hex value output to have a leading
0x as all hex values should (when printed).
* print_sections.c: Call should_skip_this_cu(), which
replaces duplicate code.
Fix the arange print: now the hex value has a leading 0x
as all hex values should. get_proc_name() had local
variable funcnamefound initialized incorrectly, now is
set to 0 as it should be. get_nested_proc_name()
now initializes string buffers. get_fde_proc_name()
now initializes its string buffer. Surprisingly
things worked adequately before in spite of the errors.
* dwarfdump.c: Call should_skip_this_cu(). Implementation
of that new function is in this source file.
2009-03-16: David Anderson <davea42@earthlink.net>
* print_frames.c:DW_CFA_restore output had a spurious newline.
Removed 2 pointless blank lines an initialized 2 local variables.
* print_sections.c: Removed a pointless redeclaration of a function
in libdwarf.h. check_info_offset_sanity() was missing a
return statement in one place, which could lead to spurious
extra (and silly) error text.
2009-03-09: David Anderson <davea42@earthlink.net>
* print_die.c: Make a comment easier to understand.
2009-02-28: David Anderson <davea42@earthlink.net>
* Makefile.in: add tmp-*.tmp to the 'clean' rule.
2009-02-17: David Anderson <davea42@earthlink.net>
* print_sections.c,print_die.c,tag_common.c,print_frames.c: C99
in-line declarations and // comments are not intended here,
this removes a few that were introduced accidentally.
2009-02-16: David Anderson <davea42@earthlink.net>
* Makefile.in: Removed some use of awk and
simplified some shell scripting here.
renamed temp files, no longer named with
underbars, they uniformly start with 'tmp-'.
* print_sections.c: Added the new argument required
by the updated dwarf_names.c functions argument lists.
* tag_tree_ext.list: List 'common extensions'
of tag->tag relationships.
* tag_attr_ext.list: List 'common extensions'
of tag->attr relationships.
* print_die.c: New 'common extension' tables used
for checking tag->tag and tag->attr relationships
unless turned off with -C.
* dwarf_names.awk: Removed tabs so generated names.c not so
spread out. Added argument to the generated functions so
tag_tree.c, tag_attr.c can use these generated functions nicely.
* dwarfdump.c: Adding -C option, which exposes
some 'common extensions' of dwarf uses as DWARF CHECK
(-ka) warnings. By default these extensions not reported
as warnings.
* tag_tree.c: Now generates base and extensions tables.
Code in common with tag_attr.c is in tag_common* files.
* tag_attr.c: Now generates base and extensions tables.
Code in common with tag_tree.c is in tag_common* files.
* tag_common.c, tag_common.h: New files with the common
data extracted from tag_tree.c and tag_attr.c
* globals.h: global flag added for -C.
2009-02-14: David Anderson <davea42@earthlink.net>
* configure.in: Define --enable-nonstandardprintf
* config.h.in: new #undef HAVE_NONSTANDARD_PRINTF_64_FORMAT
* configure: Regenerated.
* config.guess, config.sub: Latest version from GNU.
* Makefile.in: Referenced configure variable to avoid
irritating message at configure time.
* README: document --enable-nonstandardprintf
* print_sections.c, print_die.c, print_reloc.c, dwarfdump.c,
dwconf.c, print_frames.c: Use libdwarf.h DW_PR_ printf macros
for for better portability.
2009-02-13: David Anderson <davea42@earthlink.net>
* print_sections.c: Ensure we are checking line table header
correctness whichever line-table-print code is being used.
Allow ARM line header table (which has a bug) to be used.
* dwarfdump.c: Print lines_result total with checking on.
* globals.h: Add lines_result global to count line botches.
2009-02-11: David Anderson <davea42@earthlink.net>
* print_sections.c, print_die.c: DWARF_CHECK_ERROR*
macros now get the count struct passed in.
* tag_tree.c, tag_attr.c: Add a comment in the output
identifying the output as generated code and
with the generation date/time inserted.
* globals.h: Accept the struct in DWARF_CHECK_ERROR*
macros so we can update the error count in the macro.
2009-01-31: David Anderson <davea42@earthlink.net>
* Makefile.in: Remove compilation of _tag_attr_table.c
and _tag_tree_table.c as those are #included in
print_die.c, not separately compiled.
* print_frames.c: A formerly-static function now called
from another file, so declare it here.
* print_sections.c: Improve the printing of the .debug_loc
section.
* print_die.c: A couple of errors were missing their error
count increment.
* tag_attr.list tag_tree.list: Some normal relationships
were left out of the tables: fixed now.
|