File: ChangeLog2014

package info (click to toggle)
dwarfutils 20180809-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,228 kB
  • sloc: ansic: 63,382; sh: 5,222; cpp: 4,041; makefile: 548; python: 445; awk: 11
file content (399 lines) | stat: -rw-r--r-- 20,524 bytes parent folder | download | duplicates (4)
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
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
2014-12-31:  David Anderson
     * dwarf_error.c: Add DW_DLE_DW_DLE_ATTR_OUTSIDE_SECTION.
     * libdwarf.h.in: Add DW_DLE_DW_DLE_ATTR_OUTSIDE_SECTION.
     * dwarf_form.c(dwarf_formexprloc): Call the new function
       _dwarf_reference_outside_section() as a check
       for an exprloc with data that is outside the section it
       belongs in.  Ie, a bug somewhere. Return error
       DW_DLE_DW_DLE_ATTR_OUTSIDE_SECTION if applicable.
     * dwarf_frame2.c(read_encoded_ptr): Pass error down so we set
       a complete Dwarf_Error record at the point of error.
       Just three functions that could use this were changed.
     * dwarf_leb.c(_dwarf_decode_u_leb128): Presented with bogus
       leb values we stop scanning the leb number before
       overrunning our value-output buffer (and dumping core).
       The change is reasonably adequate but will not catch
       all cases.
     * dwarf_query.c(dwarf_attrlist): Call _dwarf_reference_outside_section
       to check the pointer is valid.
     * dwarf_util.c,dwarf_util.h: Implement _dwarf_reference_outside_section().
2014-12-28:  David Anderson
     * dwarf_alloc.c: Added global _dwarf_failsafe_error
       to enable better error reporting when malloc arena
       has no space left. On dwarf_dealloc() avoids attempting
       a free() of the static struct.
     * dwarf_error.c,libdwarf.h.in: New error code
       DW_DLE_FAILSAFE_ERRVAL for the malloc-arena-exhausted
       case. Now use that static instead of aborting.
     * dwarf_error.h: New field and library-private extern declaration
       for the malloc-arena-exhausted case.
     * libdwarf2.1.mm: Documented the handling of Dwarf_Error
       when malloc space exhausted.
     * libdwarf2.1.pdf: Regenerated. Rev 2.23.
2014-09-10:  David Anderson
     * dwarf_tsearchhash.c(calculate_allowed_fill): Moved a declaration
       to avoid using a C99 feature.
     * dwarf_query.c(dwarf_highpc_b): Moved a declaration to avoid using
        aC99 feature.
     * dwarf_util.c(dwarf_print): Moved a declaration to avoid using
        aC99 feature.
2014-08-11  David Anderson, avoiding some compiler warnings.
     *dwarf_xu_index.c,dwarf_macro.c: Failed to cast the pointer
      returned by _dwarf_get_macro (one place in each file).
2014-08-04  David Anderson, avoiding some compiler warnings.
     * dwarf_alloc.c, dwarf_alloc.h: Change some uses of Dwarf_Ptr to be char *
       so we avoid adding (etc) to Dwarf_Ptr.
     * dwarf_gdbindex.c: Cast _dwarf_get_alloc() return properly.
     * dwarf_loc.c: Cast Dwarf_Ptr to char * in a couple places.
     * dwarf_query.c,dwarf_sort_line.c,pro_arange.c: Change names of local 
       variables to avoid
       compiler warning about shadowing other locals.
     * dwarf_tsearchhash.c: Changed to avoid compiler warnings
       about const casts whereever possible.
     * libdwarf.h.in: Added prototypes for DWARF5
       dwarf_get_SECT_name() and dwarf_get_MACRO_name().
     * pro_alloc.c: Add include of pro_alloc.h.
     * pro_forms.c: Made  _dwarf_add_AT_reference_internal()
       static to avoid warning. 
     * pro_types.c: Add include of pro_types.h.
2014-08-02  David Anderson
     * dwarf_gdbindex.c: Fix an argument list by adding section name.
     * libdwarf.h.in: Fix an argument list by adding section name.
       Clarify some commentary on dwarf_get_xu* function declarations.
     * libdwarf2.1.mm: Documented the new gdbindex and dwarf_get_xu*
       functions.
     * libdwarf2.1.pdf: Regenerate. Version 2.22.
2014-07-12  David Anderson
     * dwarf_die_deliv.c: Remove trailing whitespace.
       Implement dwarf_get_die_section_name() allow
       clients to get the Elf
       section name actually used for the section.
     * dwarf_xu_index.c: Remmove traling whitespace  and fix
       indents.
2014-07-11  David Anderson
     * dwarf_opaque.h: Various CU context fields were
       not clarified by comments, so comments added.
2014-07-11  David Anderson
     * dwarf_opaque.h: Clarified a couple comments.
2014-07-11  David Anderson
     * dwarf_xu_index.c: Now extracts the offset and size table
       data correctly.
2014-07-10  David Anderson
     * dwarf_die_deliv.c: Clarify a comment a little bit.
       No change in the code.
2014-07-10  David Anderson
     * dwarf_error.c,libdwarf.h.in: Added new error codes.
     * dwarf_xu_index.c: Now extracts the hash table 
       values from .debug_tu_index and .debug_cu_index sections.
2014-07-09  David Anderson
     * dwarf_alloc.c,dwarf_xu_index.c,dwarf_xu_index.h:
        Removed trailing whitespace characters.
2014-07-09  David Anderson
     * Makefile.in: Added dwarf_xu_index.o. Moved dwarf_macro.o
       to get closer to alphabetical order in the list.
     * dwarf.h: Added DW_SECT codes so the .debug_[tc]u.index
       sections can be interpreted properly. DWARF5.
     * dwarf_alloc.c: Added dwarf_xu_index.h #include. Added
       struct Dwarf_Xu_Index_Header_s to alloced structs.
       Added a couple lines of commentary about .gdb_index
       section access type.
     * dwarf_alloc.h: Increased  ALLOC_AREA_INDEX_TABLE_MAX to 57
       for the new alloc type.
     * dwarf_die_deliv.c: Removed trailing whitespace.
     * dwarf_elf_access.c: Added commentary.
     * dwarf_error.c: Added new error codes for .debug_tu_index
       and .debug_cu_index sections code.
     * dwarf_init_finish.c: Add handling of .debug_tu_index
       and .debug_cu_index sections.
     * dwarf_opaque.h: Add de_debug_cu_index and
       de_debug_tu_index to Dwarf_Debug_s struct.
     * dwarf_xu_index.c: New code for the newly handled
       DWARF5 sections .debug_tu_index and .debug_cu_index .
     * dwarf_xu_index.h: Defines struct Dwarf_Xu_Index_Header_s.
     * libdwarf.h.in: Declares new functions implementing some of the
       new section interfaces.
2014-07-05  David Anderson
     * dwarf_arange.c(dwarf_get_aranges_list): Remove the length variable
       as its calculated value is unused.  rename length to area_length
       for clarity.  Calculate arange_ptr_past_end early and
       correctly.  Ensure that the test for version 4 is a >=
       to reflect normal standards upgrades.
     * dwarf_die_deliv.c(dwarf_find_offdie_CU_Context): Add commentary
       about offsets and lengths for clarity.
       Rename fields for clarity about local vs global offset.
       Use the newly named fields for precise tests of section overflow of
       a type unit.
     * dwarf_frame.h: Add commentary about pointers in the cie_fde_prefix_s
       structure.
     * dwarf_global.c(_dwarf_internal_get_pubnames_like_data): Add 
       commentary about the of fields.
     * dwarf_opaque.h: Improve commentary about offsets. 
2014-07-03  David Anderson
     * dwarf_die_deliv.c: Fixed CU type offset check. Created local variable
       so we do not repeat a calculation so the error does not recur and simplifying
       nearby code.
     * gdb_index.c: Remove unused local variable.
     * dwarf_opaque.h: Change offset entries from Dwarf_Word to Dwarf_Unsigned
       to ensure we do not remove bits from values.
     * dwarf_query.c: Remove unused local variable and a comment referencing
       that unused variable.
     * pro_reloc_stream.c: Remove unused local variable.
2014-07-01  David Anderson
     * dwarf_alloc.c, dwarf_gdbindex.c, dwarf_init_finish.c, dwarf_opaque.h, libdwarf.h.in:
       Fixed indent errors and removed trailing whitespace.
2014-07-01  David Anderson
     * libdwarf.h.in: Matched up gdbindex symboltable interfaces with
       the C source.
     * dwarf_gdbindex.c: Implement Symbol table access.
2014-06-30  David Anderson
     * libdwarf.h.in: Remove useless interface to gdbindex.
     * dwarf_gdbindex.c: Implement TU list access code.
       Implement access to the address area.
2014-06-29  David Anderson
     * dwarf_error.c: Added error codes for gdbindex access.
     * libdwarf.h.in: Revised gdbindex function interface: simpler.
     * dwarf_gdbindex.c, dwarf_gdbindex.h: Implement gdbindex
       functions.
2014-06-28  David Anderson
     * Makefile.in: Add dwarf_gdbindex.o to objects.
     * dwarf_alloc.c: Add new type Dwarf_Gdbindex_s to allocatable
       types.
     * dwarf_elf_access.c: Add a comment reflecting lack of need
       to relocate a .gdb_index section.
     * dwarf_error.c: Add new error strings for gdb_index
       related errors.
     * dwarf_init_finish.c: Add .gdb_index section to the
       sections we read.  Refactor a test into a function
       this_section_dwarf_relevant() to make code more readable.
     * dwarf_opaque.h: Add  de_debug_gdbindex to Dwarf_Debug_s.
     * libdwarf.h.in: Add opaque types for .gdb_index section
       interfaces. Add DW_DLA_GDBINDEX for allocatability of
       the new type. Add new GDB_INDEX error codes in DW_DLA list.
       Declare new gdb_index interfaces.
2014-05-19  David Anderson
     * dwarf_init_finish.c: Removed unused local variable.
     * dwarf_opaque.h: Added _dwarf_extract_string_offset_via_str_offsets()
       to communicate the argument list to other libdwarf source files.
     * dwarf_query.c: Fixed botch in call argument list, the dwarf_opaque.h
       change exposed it.   Deleted an unused local variable.
     * pro_reloc_symbolic.c: Deleted an unused local variable.
2014-05-18  David Anderson
     * libdwarf2.1.mm: Fixed a typo in the H3 line
       for dwarf_get_debug_add_index().
     * libdwarf2.1.pdf: Regenerated. Rev 2.20, May 18 2014.
2014-05-18  David Anderson
     * dwarf_loc.: Fixed offset update for DW_OP_constx/addrx.
2014-05-18  David Anderson
     * dwarf_form.c: Removed trailing whitespace, added commentary.
     * dwarf_loc.c: Added commentary.
2014-05-18  David Anderson
     * libdwarf.h.in, dwarf_form.c: Restored the function
       dwarf_get_debug_addr_index(). It is useful as a convenience
       for apps like dwarfdump.
2014-05-18  David Anderson
     *  dwarf_die_deliv.c,dwarf_error.c,dwarf_form.c,dwarf_init_finish.c,
        dwarf_opaque.h,dwarf_query.c,dwarf_util.c,libdwarf.h.in:
        Fixed numerous indent errors and removed trailing whitespace.
2014-05-17  David Anderson
     * dwarf.h: Minor comment enhancement.
     * dwarf_loc.c: Fixed code for DW_OP_constx, DW_OP_addrx,
       DW_OP_GNU_addr_index, DW_OP_GNU_const_index.
     * dwarf_form.c: DW_FORM_addr_index, DW_FORM_addrx,
       DW_FORM_strx, DW_FORM_GNU_str_index
     * dwarf_opaque.h: added new field dss_name to help
       debugging.
     * dwarf_query.c: Returns DW_DLE_MISSING_NEEDED_DEBUG_ADDR_SECTION when
       debug_addr is missing so address cannot be
       literally extracted.
       New functions:  dwarf_get_debug_addr_index()
       and dwarf_get_debug_str_index().
     * libdwarf.h.in: New error codes for FORM errors.
       New function declarations:  dwarf_get_debug_addr_index()
      and dwarf_get_debug_str_index().
2014-05-14  David Anderson
     * dwarf_die_deliv.c: Refactored several interfaces and used
       DW_DLV_OK (etc) returned values internally much more than
       before to  get the desired behavior easily.
     * dwarf_error.c: Error strings for 8 new error numbers.
     * dwarf_form.c: DW_FORM_addr_index, DW_FORM_addrx
       support added.
     * dwarf_init_finish.c: Sections .debug_addr and
       .debug_addr.dwo now handled if present.
     * dwarf_opaque.h: New Dwarf_CU_Context fields added
       so we can get CU DIE attributes for DW_FORM_addrx
       DW_FORM_strx etc.
       New de_debug* fields added for the new DebugFission
       sections.
     * dwarf_query.c: Using the revised _dwarf_get_size_of_val()
       internal function. 
       Handling DW_FORM_GNU_str_index, DW_FORM_strx.
       New functions (internal) for DW_FORM_strx, DW_FORM_addrx
       and the GNU version of these to avoid duplicating code.
     * dwarf_util.c: Implement revised _dwarf_get_size_of_val().
       Handling DW_FORM_GNU_str_index, DW_FORM_strx.
     * dwarf_util.h: Updated _dwarf_get_size_of_val()
       declaration.
     * libdwarf2.1.mm: Revision 2.8. May 15 2014. Documented
       a restriction to a sensible view to strings that
       dwarf_errmsg() returns.   However without actually
       changing anything to take advantage of that restriction.
     * libdwarf2.1.pdf: Regenerated.
2014-05-11  David Anderson
     * dwarf_error.c: Added 3 new error strings.
     * dwarf_form.c: Added DW_FORM_GNU_str_index and partial
       DW_FORM_GNU_addr_index handling.
     * dwarf_init_finish.c: Refactored initial section setup
       so we can handle dwo (DebugFission) or regular sections.
     * dwarf_query.c:  Add support for DW_FORM_GNU_str_index.
       Partial support for DW_FORM_GNU_addr_index.
     * dwarf_util.c:  Add support for DW_FORM_GNU_str_index,
       DW_FORM_GNU_addr_index.
     * libdwarf.h.in: 4 new error codes in DW_DLE_ list. Last now 248.
2014-05-09  David Anderson
     * Makefile.in: Write ar std-out to ar-output-temp 
       so the text is not needlessly filling a terminal window.
2014-05-08  David Anderson
     * dwarf.h: Adds DW_AT_GNU_dwo_id, DW_AT_GNU_dwo_name and other
       GNU extensions.
     * libdwarf.h.in: Producer code changes:
       The dwarf_producer_init_d() is new and has new arguments.
       The older dwarf_producer_init() and _b _c versions are removed.
       Only one producer callback declaration exists now:
       Dwarf_Callback_Func.
     * pro_init.c: Implements the new dwarf_producer_init_d()
       function and initializes fields at runtime to select
       what DWARF to emit. Messy and confusing initialization code 
       rewritten to depend on the runtime arguments
       to dwarf_producer_init_d, not library compile-time.
     * pro_opaque.h: New runtime fields set by initialization code.
     * pro_reloc.c:  Fix a couple comment indentations.
     * pro_forms.c:  Add curly braces in an if to avoid
       a hard-to-find bug (there was none yet, but it was a trap...).
     * pro_reloc_symbolic.c,pro_reloc_stream.c:  Remove use 
       of obsolete callback functions.
     * pro_section.c: Ensure only IRIX isa/abi target generates
       an exception CIE entry. Remove use of obsolete
       callbacks.
     * pro_util.h: Remove confusing and unreadable
       relocation number ifdefs that
       depended on settings at library compile-time. Most of the
       content of the file is deleted now. See 
       isa_relocs[] in pro_init.c
     * dwarf_error.c: Added error code (used by producer code).
     * libdwarf2p.1.mm: Now version 1.36. Updated dwarf_producer_init()
       documentation.
     * libdwarf2p.1.pdf: Regenerated.
2014-04-14  David Anderson
     * pro_forms.c: Modified a comment about DW_FORM_ref_addr.
       No logic change.
     * bldDWindex.sh: Deleted. This shell script was intended for 
       DWARF2 postscript post-processing and was never useful.
2014-04-12  David Anderson
     * dwarf_die_deliv.c,dwarf_query.c: Gets the version stamp passed to
       _dwarf_get_size_of_val() so DW_FORM_ref_addr handled
       correctly.
     * dwarf_form.c: Handle DW_FORM_ref_addr as the V2
       specification says (V3 and later continue to
       be handled unchanged.).
     * dwarf_util.c: Handle DW_FORM_ref_addr as the V2
       specification says (V3 and later continue to
       be handled unchanged.).
     * dwarf_addr_finder.c: Removed a mistaken handling
       of DW_FORM_ref_addr. No one should be using this
       function's features though...
     * pro_forms.c: Made a comment clearer about
       DW_FORM_ref_addr.
     * pro_section.c: Made a comment clearer, removed
       #if 0 code.
2014-04-02  David Anderson
     * libdwarf2.1.mm: Examples using dwarf_offdie_b() were
       miscoded (is_info argument not provided). Now fixed.
       Now at version 2.17.
     * libdwarf2.1.pdf: Regenerated
2014-03-17  David Anderson
     * dwarf.v2.mm,dwarf.v2.pdf,index.v2.mm,index.v2.pdf: Removed
       these files, they are now on dwarfstd.org.
     * Makefile.in: Removed mention of the deleted files.
     * README, COPYING: Removed mention of the deleted files.
2014-02-08  David Anderson
     * libdwarf2p.1.mm: Now version 1.35.  Added a few words
       about the sect_name_index field in the callback
       from libdwarf to your code for each new Elf section
       to be generated.
     * libdwarf2p.1.pdf: Regenerated.
2014-02-02  David Anderson
     * dwarf_alloc.c: Added commentary.
     * dwarf_loc.c: Fixed two indents.
     * gennames.c: Removed trailing newlines from the printf
       output (dwarf_names_new.h is the file generated).
     * libdwarf.h.in: Removed trailing whitespace.
2014-02-01  David Anderson
     * dwarf_alloc.c: Instead of doing a long list of address compares,
       use the hash 'tree' and tfind() to determine if we malloced
       the space or simply took an address from .debug_info (
       or other in-memory section) when
       we returned a _dwarf_get_alloc() pointer to the user.
2014-01-31  David Anderson
     * configure.in: The test to generate HAVE___UINT32_T_IN_SYS_TYPES_H
       was in a strange place. Moved it up a few lines.
     * configure: Regenerated.
     * dwarf_alloc.c: Added comment hinting at how dwarf_dealloc
       can be further simplified.
2014-01-30  David Anderson
     * dwarf_loc.c: Add support for DW_FORM_exprloc
       to dwarf_loclist_n().
     * libdwarf2.1.mm: Document support for DW_FORM_exprloc.Version 2.16
     * libdwarf2.1.pdf: Regenerate.
     * dwarf.h, dwarf_form.c, dwarf_line.c,
       dwarf_query.c, dwarf_util.c: Add limited support for DW_FORM_GNU_ref_alt
        and DW_FORM_GNU_strp_alt.
2014-01-30  David Anderson
     * dwarf_alloc.c: Refactored and added relevant commentary.
       Added a check for debug_types in dwarf_dealloc().
     * dwarf_init_finish.c: Corrected a comment and made one line
       declation-is-initialization.
     * dwarf_opaque.h: Added commentary.

2014-01-29  David Anderson
     * common.h,dwarf.h,dwarf_abbrev.c,dwarf_abbrev.h,dwarf_addr_finder.c,
       dwarf_alloc.c,dwarf_alloc.h,dwarf_arange.c,dwarf_arange.h,
       dwarf_base_types.h,dwarf_die_deliv.c,dwarf_die_deliv.h,
       dwarf_elf_access.c,dwarf_elf_access.h,dwarf_error.c,dwarf_error.h,
       dwarf_form.c,dwarf_frame.c,dwarf_frame.h,dwarf_frame2.c,
       dwarf_frame3.c,dwarf_funcs.c,dwarf_funcs.h,dwarf_global.c,
       dwarf_global.h,dwarf_harmless.c,dwarf_harmless.h,dwarf_incl.h,
       dwarf_init_finish.c,dwarf_line.c,dwarf_line.h,dwarf_line2.c,
       dwarf_loc.h,dwarf_macro.h,dwarf_opaque.h,dwarf_reloc_arm.h,
       dwarf_reloc_mips.h,dwarf_reloc_ppc.h,dwarf_reloc_ppc64.h,
       dwarf_reloc_x86_64.h,dwarf_tsearch.h,dwarf_types.h,dwarf_util.h,
       dwarf_vars.h,dwarf_weaks.h,libdwarfdefs.h,malloc_check.h,
       pro_alloc.h,pro_arange.h,pro_die.h,pro_encode_nm.h,pro_error.h,
       pro_frame.h,pro_incl.h,pro_line.h,pro_opaque.h,dwarf_tsearch.h:
       Remove trailing whitespace.
2014-01-29  David Anderson
     *  dwarf_tsearch.h, dwarf_tsearchhash.c: New files implementing
        a hashed tree with tsearch() interfaces.
     *  Makefile.in: Add dwarf_tsearchhash.c to the build.
     *  dwarf_init_finish.c: Remove references to malloc_check and _dwarf_setup_debug()
        and include of "malloc_check.h" as those are no longer needed.
     *  dwarf_line.c: Removed a superfluous _dwarf_get_alloc().  The result of the call
        was never used.
     *  dwarf_opaque.h: Removed Dwarf_Alloc_Hdr_s references and simple malloc references.
        added de_alloc_tree as base of a hash database replacing most of dwarf_alloc.c.
     *  dwarf_query.c: Removed an unused local variable.
     *  dwarf_alloc.h,dwarf_alloc.c: Removed simple malloc support and all the 
        complicated code handling allocation record-keeping in favor of 
        much simpler code calling functions
        using a tsearch-like interface.
2014-01-10  David Anderson
     *  dwarf_print_lines.c,dwarf_macro.c: Remove trailing whitespace.
     *  dwarf_ranges.c, dwarf_sort_lines.c: Remove trailing whitespace.
     *  dwarf_query.c, dwarf_pubtypes.c: Remove trailing whitespace.
     *  dwarf_original_elf_init.c,dwarf_loc.c: Remove trailing whitespace.
     *  gennames.c: Fix a printf so the generated dwarf_names.c
        does not have a trailing space.
2014-01-10  David Anderson
     *	gennames.c: Added comment clarifying why error is set
        before the call to fgets, and fixing the declaration
        order to avoid c99-ism.
     *  dwarf_frame2.c: Use /* not // for comments in C.