summaryrefslogtreecommitdiff
path: root/dwarfdump/ChangeLog2009
blob: 9d9a2d559a875717b317e66afcbdad8935ce2b18 (plain)
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.