blob: 98b67f4a7ea1e7e06c924b781f17a75311c9fb07 [file] [log] [blame]
Ben Cheng25b3c042013-11-20 14:45:36 -080012012-01-31 Mark Wielaard <mjw@redhat.com>
2
3 * dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset.
4
52011-11-31 Mark Wielaard <mjw@redhat.com>
6
7 * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
8
92011-07-14 Mark Wielaard <mjw@redhat.com>
10
11 * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
12
132011-05-16 Jakub Jelinek <jakub@redhat.com>
14
15 * dwarf.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
16 DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret):
17 New.
18
192011-04-26 Mark Wielaard <mjw@redhat.com>
20
21 * dwarf_child (dwarf_child): Sanity check end of section against
22 cu_data () of die->cu.
23
242011-03-22 Mark Wielaard <mjw@redhat.com>
25
26 * dwarf.h: Add DW_TAG_GNU_call_site,
27 DW_TAG_GNU_call_site_parameter,
28 DW_AT_GNU_call_site_value,
29 DW_AT_GNU_call_site_data_value,
30 DW_AT_GNU_call_site_target,
31 DW_AT_GNU_call_site_target_clobbered,
32 DW_AT_GNU_tail_call,
33 DW_AT_GNU_all_tail_call_sites,
34 DW_AT_GNU_all_call_sites,
35 DW_AT_GNU_all_source_call_sites,
36 and DW_OP_GNU_entry_value.
37
382011-03-10 Petr Machata <pmachata@redhat.com>
39
40 * libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for
41 abbreviation with code 0.
42
432011-03-09 Petr Machata <pmachata@redhat.com>
44
45 * libdw/dwarf_child.c (dwarf_child): Check for section overrun.
46
472011-02-23 Roland McGrath <roland@redhat.com>
48
49 * libdwP.h (struct Dwarf) [USE_ZLIB]: New member sectiondata_gzip_mask.
50 Declare __libdw_free_zdata.
51 * dwarf_end.c [USE_ZLIB] (__libdw_free_zdata): New function.
52 (dwarf_end): Call it.
53
54 * dwarf_begin_elf.c (valid_p): Likewise.
55 (check_section, scngrp_read): Likewise.
56 (check_section) [USE_ZLIB]: Grok .z* flavors of sections.
57
582010-10-13 Roland McGrath <roland@redhat.com>
59
60 * dwarf.h: Add DW_LANG_Go.
61
622010-10-05 Roland McGrath <roland@redhat.com>
63
64 * dwarf_getaranges.c: Use malloc rather than alloca,
65 since the total number of elements can be quite huge.
66
672010-07-26 Roland McGrath <roland@redhat.com>
68
69 * dwarf_getlocation_implicit_pointer.c: New file.
70 * Makefile.am (libdw_a_SOURCES): Add it.
71 * libdw.map (ELFUTILS_0.149): New set.
72 Add dwarf_getlocation_implicit_pointer.
73 * libdw.h: Declare it.
74
75 * dwarf_offdie.c (do_offdie): Renamed to __libdw_offdie, made global.
76 (dwarf_offdie, dwarf_offdie_types): Update callers.
77 * libdwP.h: Declare it.
78
79 * dwarf.h: Add DW_OP_GNU_implicit_pointer.
80 * dwarf_getlocation.c (__libdw_intern_expression): Handle it.
81
822010-08-24 Roland McGrath <roland@redhat.com>
83
84 * libdw.map (ELFUTILS_0.149): New set. Add dwfl_dwarf_line.
85
862010-07-27 Roland McGrath <roland@redhat.com>
87
88 * dwarf_formref_die.c: Fix sig8 hash insertion.
89
902010-06-23 Roland McGrath <roland@redhat.com>
91
92 * cfi.c (dwarf_cfi_validate_fde): Function removed.
93 * libdw.h: Remove it.
94 * libdw.map: Likewise.
95
962010-06-22 Roland McGrath <roland@redhat.com>
97
98 * dwarf_getlocation.c (check_constant_offset): data[48] are constant.
99
100 * dwarf_getsrclines.c: Fix signed comparison warning in extended
101 opcode parsing.
102
1032010-06-21 Roland McGrath <roland@redhat.com>
104
105 * dwarf.h: Add DW_TAG_GNU_* constants.
106
107 * memory-access.h (get_sleb128_rest_return): Fix sign extension for
108 10-byte case.
109
1102010-06-20 Roland McGrath <roland@redhat.com>
111
112 * libdw_findcu.c (__libdw_findcu): Take new flag argument,
113 to search TUs instead of CUs.
114 * libdwP.h: Update decl.
115 (struct Dwarf): New member tu_tree.
116 * dwarf_end.c (dwarf_end): Clean up tu_tree.
117 * dwarf_offdie.c (do_offdie): New function, broken out of ...
118 (dwarf_offdie): ... here.
119 (dwarf_offdie_types): New function.
120 * libdw.h: Declare it.
121 * libdw.map (ELFUTILS_0.148): Add it.
122
123 * libdwP.h (CUDIE): Use cu_data.
124 * dwarf_formblock.c: Likewise.
125 * dwarf_formref_die.c: Likewise.
126 * dwarf_diecu.c: Use CUDIE macro.
127 * dwarf_formaddr.c: Use cu_sec_idx.
128
1292010-06-16 Roland McGrath <roland@redhat.com>
130
131 * dwarf_formref_die.c: Use dwarf_offdie only for DW_FORM_ref_addr, so
132 we don't repeat a CU lookup we've already done. Handle
133 DW_FORM_ref_sig8 using sig8_hash table and __libdw_intern_next_unit.
134
135 * libdw_findcu.c (__libdw_intern_next_unit): New function,
136 broken out of ...
137 (__libdw_findcu): ... here. Call it.
138 * libdwP.h: Declare it.
139 (struct Dwarf): New member next_tu_offset.
140
141 * dwarf_sig8_hash.c: New file.
142 * dwarf_sig8_hash.h: New file.
143 * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them.
144 * dwarf_abbrev_hash.c: Include dwarf_sig8_hash.h before
145 defining NO_UNDEF.
146 * libdwP.h (struct Dwarf): New member sig8_hash.
147 * dwarf_begin_elf.c: Call Dwarf_Sig8_Hash_init on it.
148 * dwarf_end.c: Call Dwarf_Sig8_Hash_free on it.
149
150 * dwarf_nextcu.c (dwarf_next_unit): New function, broken out of ...
151 (dwarf_nextcu): ... here. Call it.
152 * libdw.h: Declare it.
153 * libdwP.h: Add INTDECL.
154 * libdw_findcu.c (__libdw_findcu): Use it instead of dwarf_nextcu.
155 * libdw.map (ELFUTILS_0.148): New set, add dwarf_next_unit.
156
157 * libdwP.h (cu_sec_idx, cu_data): New functions.
158 Use .debug_types when CU is a TU.
159 * dwarf_cuoffset.c: Use that instead of assuming IDX_debug_info.
160 * dwarf_siblingof.c: Likewise.
161 * dwarf_formstring.c: Likewise.
162 * dwarf_formudata.c (__libdw_formptr, dwarf_formudata): Likewise.
163 * dwarf_getlocation.c (dwarf_getlocation): Likewise.
164 (dwarf_getlocation_addr): Likewise.
165
166 * libdwP.h (struct Dwarf_CU): Add new members type_offset, type_sig8.
167 (DIE_OFFSET_FROM_CU_OFFSET): Take flag argument; if true, compute
168 .debug_types header size instead of .debug_info header size.
169 (CUDIE): Use it.
170 * dwarf_diecu.c: Update caller.
171 * dwarf_getaranges.c: Likewise.
172 * dwarf_nextcu.c: Likewise.
173 * libdw_findcu.c (__libdw_findcu): Initialize new members.
174
175 * fde.c (fde_by_offset): Renamed to ...
176 (__libdw_fde_by_offset): ... this, made global and internal_function.
177 Don't take ADDRESS argument.
178 (__libdw_find_fde): Update caller. Do address sanity check here.
179 * cfi.h: Declare __libdw_fde_by_offset.
180 * cfi.c (dwarf_cfi_validate_fde): New function.
181 * libdw.h: Declare it.
182 * libdw.map (ELFUTILS_0.148): Add it.
183
184 * cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to
185 either DW_EH_PE_udata8 or DW_EH_PE_udata4.
186
187 * encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect.
188 Don't assume DW_EH_PE_aligned refers to native address size.
189
190 * cfi.c (execute_cfi): Barf on CIE initial instructions changing the
191 address.
192
1932010-06-17 Roland McGrath <roland@redhat.com>
194
195 * libdwP.h (struct Dwarf_Line_s): Add members isa, discriminator, and
196 op_index.
197 * dwarf_getsrclines.c (dwarf_getsrclines): Move NEW_FILE macro guts
198 into an inner inline function. Set new fields. Check all fields for
199 overflow when setting.
200 * dwarf_lineisa.c: New file.
201 * dwarf_linediscriminator.c: New file.
202 * dwarf_lineop_index.c: New file.
203 * Makefile.am (libdw_a_SOURCES): Add them.
204 * libdw.map (ELFUTILS_0.148): Add them.
205 * libdw.h: Declare them.
206
2072010-06-16 Roland McGrath <roland@redhat.com>
208
209 * dwarf_next_cfi.c: Fix version 4 return_address_register decoding.
210
211 * fde.c (fde_by_offset): Renamed to ...
212 (__libdw_fde_by_offset): ... this, made global and internal_function.
213 Don't take ADDRESS argument.
214 (__libdw_find_fde): Update caller. Do address sanity check here.
215 * cfi.h: Declare __libdw_fde_by_offset.
216 * cfi.c (dwarf_cfi_validate_fde): New function.
217 * libdw.h: Declare it.
218 * libdw.map (ELFUTILS_0.148): Add it.
219
220 * cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to
221 either DW_EH_PE_udata8 or DW_EH_PE_udata4.
222
223 * encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect.
224 Don't assume DW_EH_PE_aligned refers to native address size.
225
226 * cfi.c (execute_cfi): Barf on CIE initial instructions changing the
227 address.
228
2292010-06-15 Roland McGrath <roland@redhat.com>
230
231 * dwarf_formref.c (__libdw_formref): Diagnose DW_FORM_ref_sig8 like
232 DW_FORM_ref_addr.
233 * dwarf_formref_die.c (dwarf_formref_die): Diagnose it the same way
234 here, since we don't support it yet.
235
236 * dwarf_next_cfi.c: Handle version 4 format.
237
238 * dwarf_getsrclines.c: Handle version 4 format.
239
2402010-06-01 Roland McGrath <roland@redhat.com>
241
242 * libdwP.h: Remove unused IDX_debug_*names, add IDX_debug_types.
243 * dwarf_begin_elf.c (dwarf_scnnames): Likewise.
244
245 * libdwP.h (CIE_VERSION): Remove unused macro.
246
247 * dwarf_getsrclines.c: Fix version field test.
248 * libdwP.h (DWARF_VERSION): Remove useless macro.
249
250 * dwarf_formudata.c (__libdw_formptr): Fix DW_FORM_sec_offset handling.
251
252 * dwarf_formblock.c (dwarf_formblock): Handle DW_FORM_exprloc.
253
254 * libdw_findcu.c (__libdw_findcu): Accept version 4.
255
2562010-05-31 Mark Wielaard <mjw@redhat.com>
257
258 * cfi.h (dwarf_cfi_cie_p): Move definition from here, to ..
259 * libdw.h (dwarf_cfi_cie_p): ... here.
260
2612010-05-31 Mark Wielaard <mjw@redhat.com>
262
263 * dwarf.h: Fix DW_LANG_Python constant.
264
2652010-05-28 Eduardo Santiago <santiago@redhat.com>
266
267 * dwarf_getlocation.c (dwarf_getlocation): Do attr_ok check first
268 thing.
269
2702010-05-27 Roland McGrath <roland@redhat.com>
271
272 * dwarf.h: Add DW_AT_enum_class, DW_AT_linkage_name,
273 DW_TAG_template_alias, DW_LANG_Python, DW_LNE_set_discriminator.
274
2752010-05-08 Roland McGrath <roland@redhat.com>
276
277 * dwarf_getlocation.c (__libdw_intern_expression): Take new argument
278 REF_SIZE. Use that to handle DW_OP_call_ref correctly.
279 (getlocation): Update caller.
280 * dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise.
281 * dwarf_frame_register.c (dwarf_frame_register): Likewise.
282 * libdwP.h: Update decl.
283
2842010-04-26 Roland McGrath <roland@redhat.com>
285
286 * cfi.h (struct Dwarf_Frame_s): Add cfa_invalid alternative in cfa_rule.
287 * cfi.c (execute_cfi): Set that instead of doing cfi_assert for
288 DW_CFA_def_cfa_{offset*,register} when a non-offset rule is in force.
289 * dwarf_frame_cfa.c (dwarf_frame_cfa): Handle cfa_invalid.
290
291 * dwarf_getlocation.c (__libdw_intern_expression): Take new arg CFAP.
292 Prepend DW_OP_call_frame_cfa if true.
293 (getlocation): Update caller.
294 * dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise.
295 * dwarf_frame_register.c (dwarf_frame_register): Likewise.
296 * libdwP.h: Update decl.
297
2982010-04-22 Roland McGrath <roland@redhat.com>
299
300 * cfi.c (execute_cfi): Never return without cleanup.
301 Free FS on failure.
302 (cie_cache_initial_state): Adjust caller to expect that free.
303 (__libdw_frame_at_address): Likewise.
304
3052010-03-10 Roland McGrath <roland@redhat.com>
306
307 * libdw.map (ELFUTILS_0.146): New set. Add dwfl_core_file_report.
308
3092010-02-15 Roland McGrath <roland@redhat.com>
310
311 * Makefile.am: Use config/eu.am for common stuff.
312
3132010-02-02 Mark Wielaard <mjw@redhat.com>
314
315 * fde.c (intern_fde): Fix length check for sized_augmentation_data.
316
3172010-01-07 Roland McGrath <roland@redhat.com>
318
319 * dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum.
320
3212010-01-05 Roland McGrath <roland@redhat.com>
322
323 * dwarf_aggregate_size.c: New file.
324 * Makefile.am (libdw_a_SOURCES): Add it.
325 * libdw.h: Declare it.
326 * libdwP.h: Add INTDECL.
327 * libdw.map (ELFUTILS_0.144): New set. Add dwarf_aggregate_size.
328
329 * dwarf_srclang.c: Add INTDEF.
330 * libdwP.h: Add INTDECL.
331
332 * dwarf.h: Add some more DW_AT_GNU_* types from gcc.
333
334 * dwarf.h: Add DW_AT_GNU_vector, DW_AT_GNU_template_name.
335
3362009-11-21 Roland McGrath <roland@redhat.com>
337
338 * dwarf_getlocation.c (check_constant_offset): Return 1 for all
339 non-constant forms.
340
3412009-10-15 Roland McGrath <roland@redhat.com>
342
343 * libdw_form.c (__libdw_form_val_len): Grok DW_FORM_sec_offset,
344 DW_FORM_exprloc, DW_FORM_flag_present, and DW_FORM_ref_sig8.
345
3462009-09-17 Roland McGrath <roland@redhat.com>
347
348 * dwarf_getlocation.c (dwarf_getlocation_implicit_value): Make OP
349 argument a pointer to const.
350 * libdw.h: Update decl.
351
3522009-09-10 Roland McGrath <roland@redhat.com>
353
354 * dwarf_getlocation.c (store_implicit_value): New function.
355 (__libdw_intern_expression): Use it, handle DW_OP_implicit_value.
356 (dwarf_getlocation_implicit_value): New function.
357 * libdw.h: Declare it.
358 * libdw.map (ELFUTILS_0.143): Add it.
359
3602009-09-09 Mark Wielaard <mjw@redhat.com>
361
362 * dwarf_getcfi.c (dwarf_getcfi): Clear cfi->ebl.
363
3642009-08-21 Josh Stone <jistone@redhat.com>
365
366 * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
367
3682009-08-10 Roland McGrath <roland@redhat.com>
369
370 * dwarf_getscopevar.c: Use dwarf_diename.
371
3722009-08-09 Roland McGrath <roland@redhat.com>
373
374 * libdw.map (ELFUTILS_0.143): New version set,
375 inherits from ELFUTILS_0.142.
376 * dwarf_arrayorder.c: Use OLD_VERSION and NEW_VERSION to define an
377 alias in the ELFUTILS_0.122 version set and the default in the new set.
378 * dwarf_srclang.c: Likewise.
379 * dwarf_decl_file.c: Likewise.
380 * dwarf_decl_line.c: Likewise.
381 * dwarf_decl_column.c: Likewise.
382 * dwarf_bytesize.c: Likewise.
383 * dwarf_bitsize.c: Likewise.
384 * dwarf_bitoffset.c: Likewise.
385
3862009-08-07 Roland McGrath <roland@redhat.com>
387
388 * dwarf_arrayorder.c: Use dwarf_attr_integrate.
389 * dwarf_srclang.c: Likewise.
390 * dwarf_decl_file.c: Likewise.
391 * dwarf_decl_line.c (__libdw_attr_intval): Likewise.
392 * dwarf_bytesize.c: Likewise.
393 * dwarf_bitsize.c: Likewise.
394 * dwarf_bitoffset.c: Likewise.
395
3962009-07-22 Roland McGrath <roland@redhat.com>
397
398 * dwarf_frame_cfa.c: Change calling convention.
399 * libdw.h: Update decl.
400
401 * dwarf_frame_register.c: Change calling/return-value convention for
402 value-only results and undefined/same_value.
403 * libdw.h: Update decl.
404
405 * dwarf_getlocation.c (__libdw_intern_expression): Take new bool
406 argument, append DW_OP_stack_value if set. Don't take NOPS argument,
407 return that value instead.
408 (getlocation): Update caller.
409 * dwarf_frame_cfa.c: Likewise.
410 * libdwP.h: Update decl.
411
4122009-07-21 Roland McGrath <roland@redhat.com>
413
414 * dwarf_getsrc_file.c: Ignore a CU that just has no DW_AT_stmt_list.
415 Fix loop iteration after skipping a bogus or useless CU.
416
417 * dwarf_entry_breakpoints.c: Handle 0 dwarf_errno () as harmless
418 absence, not DWARF_E_NO_DEBUG_LINE.
419
4202009-07-20 Roland McGrath <roland@redhat.com>
421
422 * dwarf_getlocation.c (__libdw_intern_expression):
423 Handle DW_OP_stack_value.
424
4252009-07-16 Roland McGrath <roland@redhat.com>
426
427 * dwarf_formudata.c (__libdw_formptr): Handle DW_FORM_sec_offset,
428 reject others when CU's version > 3.
429
430 * dwarf_formflag.c: Handle DW_FORM_flag_present.
431
432 * dwarf.h: Add DW_OP_{implicit,stack}_value from DWARF 4 draft.
433 Also DW_TAG_type_unit and DW_TAG_rvalue_reference_type.
434 Also DW_AT_signature, DW_AT_main_subprogram, DW_AT_data_bit_offset,
435 and DW_AT_const_expr.
436 Also DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present,
437 and DW_FORM_ref_sig8.
438
4392009-07-15 Roland McGrath <roland@redhat.com>
440
441 * dwarf_getlocation.c: Grok DW_OP_form_tls_address,
442 DW_OP_GNU_push_tls_address, and DW_OP_bit_piece.
443
4442009-07-13 Roland McGrath <roland@redhat.com>
445
446 * dwarf_getlocation.c: Grok DW_OP_call_frame_cfa.
447
4482009-07-08 Roland McGrath <roland@redhat.com>
449
450 * libdw.map (ELFUTILS_0.142): Add dwfl_module_dwarf_cfi,
451 dwfl_module_eh_cfi.
452
453 * libdwP.h (struct Dwarf): Add member `cfi'.
454 * dwarf_end.c (dwarf_end): Call __libdw_destroy_frame_cache on it.
455 * dwarf_getcfi.c: New file.
456 * dwarf_getcfi_elf.c: New file.
457 * dwarf_cfi_end.c: New file.
458 * dwarf_cfi_addrframe.c: New file.
459 * dwarf_frame_cfa.c: New file.
460 * dwarf_frame_register.c: New file.
461 * dwarf_frame_return_address_register.c: New file.
462 * Makefile.am (libdw_a_SOURCES): Add them.
463 * unwind.h: Declare those functions.
464 * libdw.map (ELFUTILS_0.142): Export them.
465
466 * dwarf_getlocation.c (__libdw_intern_expression): New function,
467 broken out of ...
468 (getlocation): ... here, call it.
469 * libdwP.h: Declare it.
470
471 * cie.c: New file.
472 * fde.c: New file.
473 * frame-cache.c: New file.
474 * cfi.c: New file.
475 * cfi.h: New file.
476 * encoded-value.h: New file.
477 * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them.
478 * libdwP.h: Add DWARF_E_INVALID_CFI to errors enum.
479 * dwarf_error.c (errmsgs): Add element for it.
480
481 * dwarf_next_cfi.c: New file.
482 * Makefile.am (libdw_a_SOURCES): Add it.
483 * libdw.h (Dwarf_CIE, Dwarf_FDE, Dwarf_CIE_Entry): New types.
484 Declare dwarf_next_cfi.
485 * libdw.map (ELFUTILS_0.142): New set, inherits from ELFUTILS_0.136.
486 Add dwarf_next_cfi.
487
488 * memory-access.h [! ALLOW_UNALIGNED]
489 (read_2ubyte_unaligned): Renamed to ...
490 (read_2ubyte_unaligned_1): ... this. Take bool rather than Dwarf *.
491 (read_2ubyte_unaligned): Define as macro passing dbg->other_byte_order.
492 (read_2sbyte_unaligned): Likewise.
493 (read_4ubyte_unaligned): Likewise.
494 (read_4sbyte_unaligned): Likewise.
495 (read_8ubyte_unaligned): Likewise.
496 (read_8sbyte_unaligned): Likewise.
497
498 * libdwP.h (IDX_eh_frame): Remove it.
499 * dwarf_begin_elf.c (dwarf_scnnames): Remove its element.
500
5012009-07-08 Roland McGrath <roland@redhat.com>
502
503 * libdwP.h (struct Dwarf_Line_s): Reorder members to pack better.
504
505 * dwarf_getlocation.c (check_constant_offset): New function.
506 (dwarf_getlocation, dwarf_getlocation_addr): Call it to
507 handle DW_AT_data_member_location of data[48] as constant offset.
508
5092009-06-18 Roland McGrath <roland@redhat.com>
510
511 * libdwP.h (__libdw_read_address_inc): Constify.
512 (__libdw_read_offset_inc): Likewise.
513 * dwarf_getaranges.c: Likewise.
514 * dwarf_getlocation.c: Likewise.
515 * dwarf_getsrclines.c: Likewise.
516 * dwarf_nextcu.c: Likewise.
517
5182009-05-05 Petr Machata <pmachata@redhat.com>
519
520 * libdwP.h (__libdw_formptr): Declare new function.
521 * dwarf_formudata.c: Implement it here.
522 * dwarf_getlocation.c (dwarf_getlocation_addr):
523 Call it instead of hand-rolled offset handling code.
524 * dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
525 * dwarf_ranges.c (dwarf_ranges): Likewise.
526
5272009-05-04 Petr Machata <pmachata@redhat.com>
528
529 * libdwP.h (__libdw_read_begin_end_pair_inc): Declare new function.
530 * dwarf_ranges.c: Implement it here.
531 (dwarf_ranges): Call it.
532 * dwarf_getlocation.c (dwarf_getlocation_addr): Call it also here.
533
5342009-04-23 Petr Machata <pmachata@redhat.com>
535
536 * dwarf_formaddr.c (dwarf_formaddr): Call __libdw_read_* instead
537 of read_*ubyte_unaligned.
538 * dwarf_formref_die.c (dwarf_formref_die): Likewise.
539 * dwarf_formstring.c (dwarf_formstring): Likewise.
540 * dwarf_formudate.c (dwarf_formudata): Likewise.
541 * dwarf_getaranges.c (dwarf_getaranges): Likewise.
542 * dwarf_getlocation.c (dwarf_getlocation_addr): Likewise.
543 * dwarf_getpubnames.c (get_offsets): Likewise.
544 * dwarf_nextcu.c (dwarf_nextcu): Likewise.
545
5462009-04-23 Petr Machata <pmachata@redhat.com>
547
548 * libdwP.h (__libdw_read_addr_inc, __libdw_read_off_inc,
549 __libdw_read_addr, __libdw_read_off): Add four new internal
550 functions.
551
5522009-05-07 Roland McGrath <roland@redhat.com>
553
554 * dwarf_getmacros.c (dwarf_getmacros): Use absolute section offset in
555 return value and OFFSET argument, not CU-relative. Only fetch the
556 attribute data when called with OFFSET of 0.
557
5582009-05-07 Petr Machata <pmachata@redhat.com>
559
560 * dwarf_getmacros.c (dwarf_getmacros): Take into account offset in
561 DW_AT_macro_info attribute of CU DIE.
562
5632009-04-15 Roland McGrath <roland@redhat.com>
564
565 * dwarf.h (DW_CIE_ID): Removed.
566 (DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it.
567
5682009-04-01 Roland McGrath <roland@redhat.com>
569
570 * dwarf.h: Add DW_CFA_GNU_negative_offset_extended.
571
5722009-01-28 Roland McGrath <roland@redhat.com>
573
574 * libdwP.h (struct Dwarf_Line_s): Move out of struct Dwarf_Lines_s
575 defn so C++ doesn't scope the name to not match the Dwarf_Line typedef.
576
577 * libdwP.h (struct Dwarf_Files_s): Replace dbg field with cu field.
578
5792009-01-26 Roland McGrath <roland@redhat.com>
580
581 * dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all.
582
5832009-01-25 Roland McGrath <roland@redhat.com>
584
585 * dwarf_getattrs.c: Correctly skip attribute values when restarting.
586
5872009-01-23 Roland McGrath <roland@redhat.com>
588
589 * Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back.
590 Put these rules under if MAINTAINER_MODE.
591
5922009-01-22 Roland McGrath <roland@redhat.com>
593
594 * dwarf.h: Add DW_OP_GNU_encoded_addr.
595
5962009-01-21 Roland McGrath <roland@redhat.com>
597
598 * Makefile.am (CLEANFILES): Renamed to ...
599 (MOSTLYCLEANFILES): ... here.
600 (CLEANFILES): New variable, add known-dwarf.h.
601
6022009-01-17 Roland McGrath <roland@redhat.com>
603
604 * Makefile.am (known-dwarf.h): Target renamed, not in $(srcdir).
605 Make it unconditional.
606 (BUILT_SOURCES): Updated.
607
608 * dwarf.h: Add description comments for DW_LANG_* values.
609
610 * Makefile.am [MAINTAINER_MODE]
611 ($(srcdir)/known-dwarf.h): New target.
612 (BUILT_SOURCES): Add it.
613
614 * dwarf.h: Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit.
615
6162009-01-10 Ulrich Drepper <drepper@redhat.com>
617
618 * dwarf_error.c: Always use __thread. Remove all !USE_TLS code.
619
6202009-01-08 Roland McGrath <roland@redhat.com>
621
622 * Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in.
623
6242008-01-06 Roland McGrath <roland@redhat.com>
625
626 * libdwP.h (struct Dwarf_Abbrev): Change type of 'has_children' to bool.
627 Reorder members.
628 * dwarf_haschildren.c: Return -1 for error case, not 0.
629
630 * Makefile.am (libdw.so): Link in $(zip_LIBS).
631
6322009-01-06 Ulrich Drepper <drepper@redhat.com>
633
634 * dwarf.h: Add definition for unwind and call frame information.
635
636 * memory-access.h: Define read_ubyte_unaligned, read_sbyte_unaligned,
637 read_ubyte_unaligned_inc, and read_sbyte_unaligned_inc.
638
6392008-08-15 Roland McGrath <roland@redhat.com>
640
641 * libdw.map (ELFUTILS_0.136): New version set, inherits from
642 ELFUTILS_0.130. Add dwfl_addrsegment, dwfl_report_segment.
643
6442008-01-21 Ulrich Drepper <drepper@redhat.com>
645
646 * dwarf_child.c: Minor optimizations.
647 * dwarf_getattrs.c: Likewise.
648 * dwarf_getpubnames.c: Likewise.
649 * dwarf_siblingof.c: Likewise.
650 * dwarf_tag.c: Likewise.
651
6522008-01-18 Ulrich Drepper <drepper@redhat.com>
653
654 * dwarf_getsrclines.c (dwarf_getsrclines): Don't require exact match
655 of DWARF_VERSION comparison, just fail if the file's version is newer.
656
6572008-01-17 Nick Clifton <nickc@redhat.com>
658
659 * dwarf.h (DWARF3_LENGTH_MIN_ESCAPE_CODE): New define.
660 (DWARF3_LENGTH_MAX_ESCAPE_CODE): New define.
661 (DWARF3_LENGTH_64_BIT): New define.
662 * dwarf_getaranges (dwarf_getaranges): Use the new definitions.
663 * dwarf_getpubnames: Include dwarf.h.
664 (get_offsets): Use the new definitions.
665 * dwarf_getsrclines.c (dwarf_getsrclines): Use the new defintions.
666 * dwarf_nextcu.c: Include dwarf.h. Correct comment.
667 (dwarf_nextcu): Use the new definitions.
668
669 * libdwP.h (DIE_OFFSET_FROM_CU_OFFSET): New macro.
670 * dwarf_diecu.c (dwarf_diecu): Use the new macro.
671 * dwarf_getaranges (dwarf_getaranges): Use the new macro.
672 * dwarf_nextcu.c (dwarf_nextcu): Use the new macro.
673
674 * dwarf_getpubnames (get_offsets): Replace assertion with test and
675 error return.
676
677 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Use CUDIE.
678
679 * dwarf_siblingof (dwarf_siblingof): Detect a NULL return pointer.
680 Set the address in the return structure to the address of the next
681 non-sibling die, if there is no sibling and the return pointer is
682 not the same as the die pointer.
683 * libdw.h: Expand the description of the dwarf_siblingof prototype.
684
685 * dwarf_child.c: Fix typo in comment.
686
687 * libdwP.h (DWARF_VERSION): Change to 3.
688
689 * dwarf_formref.c (__libdw_formref.c): Handle attributes which do
690 not have a initialised valp pointer.
691
692 * dwarf_getattrs.c (dwarf_getattrs): Return 1 rather than 0 when
693 the end of the attributes is reached. When the callback fails,
694 return the address of the failing attribute, not the address of
695 its successor.
696 * libdw.h: Expand the description of the dwarf_getattrs prototype.
697
698 * dwarf_child.c (__libdw_find_attr): Use the new definition.
699 (dwarf_child): Likewise.
700 * dwarf_tag.c (__libdw_findabbrev): Likewise.
701 (dwarf_tag): Likewise.
702
7032008-01-08 Roland McGrath <roland@redhat.com>
704
705 * Makefile.am (euinclude): Variable removed.
706 (pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
707 (libdw.so): Pass -Wl,--enable-new-dtags,-rpath,$(pkglibdir).
708
7092007-10-17 Roland McGrath <roland@redhat.com>
710
711 * libdw.h (__deprecated_attribute__): New macro.
712 (dwarf_formref): Mark it deprecated.
713 * dwarf_formref.c (__libdw_formref): New function, broken out of ...
714 (dwarf_formref): ... here. Call it. Remove INTDEF.
715 * libdwP.h: Remove INTDECL.
716 Declare __libdw_formref.
717 * dwarf_siblingof.c (dwarf_siblingof): Call __libdw_formref instead.
718 * dwarf_formref_die.c: Likewise. Handle DW_FORM_ref_addr here.
719
720 * libdw_form.c (__libdw_form_val_len): Fix DW_FORM_ref_addr result,
721 needs to check CU->version.
722
723 * libdwP.h (struct Dwarf_CU): New member `version'.
724 * libdw_findcu.c (__libdw_findcu): Initialize it.
725
726 * dwarf_child.c: Return 1 for null entry as first child.
727
7282007-10-05 Roland McGrath <roland@redhat.com>
729
730 * dwarf_begin_elf.c (check_section): Punt on SHT_NOBITS sections.
731
732 * libdw.h (__extern_inline): Rename to __libdw_extern_inline.
733 [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Update uses.
734
7352007-10-03 Roland McGrath <roland@redhat.com>
736
737 * libdw.map (ELFUTILS_0.130: Add dwfl_build_id_find_elf
738 and dwfl_build_id_find_debuginfo.
739
740 * libdw.map (ELFUTILS_0.130): New version set, inherits from
741 ELFUTILS_0.127. Add dwfl_module_build_id, dwfl_module_report_build_id.
742
7432007-10-02 Roland McGrath <roland@redhat.com>
744
745 * libdw_visit_scopes.c (classify_die): Return walk for class_type and
746 structure_type.
747
7482007-08-07 Roland McGrath <roland@redhat.com>
749
750 * dwarf_getscopes.c (pc_match): Swallow dwarf_haspc error return when
751 error code is DWARF_E_NOERROR (0).
752
753 * dwarf_getscopes.c (pc_record): Always bail early if DIE->prune.
754 Fix typo in __libdw_visit_scopes argument.
755
756 * dwarf_getscopes.c (pc_match): Check dwarf_haspc error return,
757 swallow DWARF_E_NO_DEBUG_RANGES but not other errors.
758
7592007-07-03 Roland McGrath <roland@redhat.com>
760
761 * libdw.h (__extern_inline): New macro.
762 [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it.
763
7642007-04-16 Roland McGrath <roland@redhat.com>
765
766 * libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.
767
7682007-04-05 Roland McGrath <roland@redhat.com>
769
770 * dwarf_getsrcdirs.c: New file.
771 * Makefile.am (libdw_a_SOURCES): Add it.
772 * libdw.h: Declare dwarf_getsrcdirs.
773 * libdw.map (ELFUTILS_0.127): Add it.
774
775 * libdwP.h (struct Dwarf_Files_s): New member ndirs.
776 * dwarf_getsrclines.c (dwarf_getsrclines): Don't clobber NDIRLIST to
777 zero before we use it to check for DWARF_E_INVALID_DIR_IDX.
778 Save DIRARRAY in the Dwarf_Files.
779
780 * dwarf_ranges.c (dwarf_ranges): Don't sign-extend 32-bit BEGIN
781 address to check for all-ones base address entry. Check directly.
782 Reported by Sébastien Dugué <sebastien.dugue@bull.net>.
783
7842007-03-25 Roland McGrath <roland@redhat.com>
785
786 * dwarf_begin_elf.c (check_section): Return Dwarf * instead of void.
787 Return NULL when freeing RESULT on error.
788 (global_read, scngrp_read): Check return value from check_section,
789 break out of loop after it has freed RESULT.
790 (valid_p): Handle null argument.
791
7922007-03-12 Roland McGrath <roland@redhat.com>
793
794 * libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add.
795
7962007-03-04 Roland McGrath <roland@redhat.com>
797
798 * libdw.map (ELFUTILS_0.127): New version set, inherits from
799 ELFUTILS_0.126. Add dwfl_module_addrsym.
800
8012007-02-10 Roland McGrath <roland@redhat.com>
802
803 * dwarf.h (DW_OP_fbreg): Comment fix.
804
8052007-02-03 Roland McGrath <roland@redhat.com>
806
807 * dwarf_getelf.c (dwarf_getelf): Renamed from dwarf_get_elf.
808 * libdw.map (ELFUTILS_0.126): New version set, inherits from
809 ELFUTILS_0.122. Move dwarf_getelf there; it was never truly
810 exported in the past.
811
8122006-12-17 Roland McGrath <roland@redhat.com>
813
814 * dwarf_getlocation.c (dwarf_getlocation_addr): Use zero as base
815 address when the CU is missing attributes due to buggy GCC.
816
8172006-08-29 Roland McGrath <roland@redhat.com>
818
819 * Makefile.am (CLEANFILES): Add libdw.so.$(VERSION).
820
821 * libdw.h (dwarf_diecu): Add __nonnull_attribute__.
822 (dwarf_child): Don't list arg 1 in __nonnull_attribute__.
823
824 * libdw_alloc.c (__libdw_allocate): Take new ALIGN argument, make sure
825 result is aligned. Adjust NEWP->remaining here for this allocation.
826 * libdwP.h: Update decl.
827 (libdw_alloc): Update caller.
828
8292006-07-12 Ulrich Drepper <drepper@redhat.com>
830
831 * dwarf_child.c: Adjust for internal_function_def removal.
832 * dwarf_getabbrev.c: Likewise.
833 * dwarf_tag.c: Likewise.
834 * libdw_form.c: Likewise.
835 * memory-access.c: Likewise.
836
8372006-06-28 Roland McGrath <roland@redhat.com>
838
839 * libdw.map: Export dwfl_linecu, dwfl_line_comp_dir.
840
841 * libdw.map: Bump to 0.122; export dwfl_module_getsymtab and
842 dwfl_module_getsym.
843
8442006-05-27 Ulrich Drepper <drepper@redhat.com>
845
846 * libdw.h: Add extern "C".
847
8482006-05-22 Ulrich Drepper <drepper@redhat.com>
849
850 * dwarf_getaranges.c (dwarf_getaranges): Handle files without
851 aranges information.
852
8532006-05-21 Ulrich Drepper <drepper@redhat.com>
854
855 * libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs,
856 dwarf_haschildren.
857
8582006-02-28 Roland McGrath <roland@redhat.com>
859
860 * dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*,
861 DW_OP_* values, to match DWARF 3.0. Add new DW_DS_*, DW_END_*
862 values from DWARF 3.0.
863
8642006-02-22 Roland McGrath <roland@redhat.com>
865
866 * libdw.map: Bump to 0.120; export dwfl_version.
867
8682005-12-22 Roland McGrath <roland@redhat.com>
869
870 * libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report.
871
8722005-12-12 Roland McGrath <roland@redhat.com>
873
874 * dwarf_ranges.c: Copy CU base address-finding code from
875 dwarf_getlocation.
876
8772005-12-09 Roland McGrath <roland@redhat.com>
878
879 * dwarf_getlocation.c (dwarf_getlocation_addr): Add some unlikelys.
880 Delay CU base lookup until it's needed.
881 If CU base lookup fails with no error, flag invalid DWARF.
882
8832005-11-25 Roland McGrath <roland@redhat.com>
884
885 * libdw.map: Bump to 0.118; export dwfl_module_register_names.
886
8872005-11-15 Roland McGrath <roland@redhat.com>
888
889 * Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic.
890
8912005-11-13 Roland McGrath <roland@redhat.com>
892
893 * libdw.map: Bump to 0.117; export dwfl_module_return_value_location.
894
8952005-10-27 Roland McGrath <roland@redhat.com>
896
897 * dwarf_entry_breakpoints.c (search_range): Fix binary search code;
898 don't match end_sequence markers.
899
900 * dwarf_getsrclines.c (compare_lines): Sort end_sequence markers
901 before normal records at the same address.
902 * dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence
903 marker.
904
9052005-10-26 Roland McGrath <roland@redhat.com>
906
907 * dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func.
908 * dwarf_func_file.c: Renamed to ...
909 * dwarf_decl_file.c: ... here.
910 * dwarf_func_col.c: Renamed to ...
911 * dwarf_decl_column.c: ... here.
912 * dwarf_func_line.c: Renamed to ...
913 * dwarf_decl_line.c: ... here.
914 (dwarf_func_line): Renamed to ...
915 (dwarf_decl_line): ... this. Take a Dwarf_Die * argument.
916 (__libdw_func_intval): Renamed __libdw_attr_intval.
917 * dwarf_func_name.c: File removed.
918 * dwarf_func_lowpc.c: File removed.
919 * dwarf_func_highpc.c: File removed.
920 * dwarf_func_entrypc.c: File removed.
921 * dwarf_func_die.c: File removed.
922 * Makefile.am (libdw_a_SOURCES): Updated.
923 * libdw.h: Update decls.
924 (Dwarf_Func): Type removed.
925 * libdwP.h: Update decls.
926 (struct Dwarf_Func_s): Type removed.
927 * libdw.map: Updated.
928
929 * libdwP.h (CUDIE): New macro.
930 * dwarf_getlocation.c (dwarf_getlocation_addr): Use it.
931 * dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise.
932 * dwarf_ranges.c (dwarf_ranges): Likewise.
933
934 * dwarf_getloclist.c: Renamed to ...
935 * dwarf_getlocation.c: ... here.
936 (getloclist): Renamed to getlocation.
937 (dwarf_getloclist): Renamed to dwarf_getlocation.
938 (dwarf_addrloclists): Renamed to dwarf_getlocation_addr.
939 * Makefile.am (libdw_a_SOURCES): Updated.
940 * libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation.
941 (dwarf_addrloclists): Renamed dwarf_getlocation_addr.
942 (Dwarf_Loc): Renamed Dwarf_Op.
943 * libdwP.h (struct loc_s): Update use.
944 * libdw.map: Update map.
945
946 * dwarf_entry_breakpoints.c: Use the second line record within the
947 function, regardless of its source location data.
948
9492005-10-25 Roland McGrath <roland@redhat.com>
950
951 * dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too.
952
953 * libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints.
954
9552005-10-14 Roland McGrath <roland@redhat.com>
956
957 * dwarf_diecu.c (dwarf_diecu): New file.
958 * Makefile.am (libdw_a_SOURCES): Add it.
959 * libdw.h: Declare dwarf_diecu.
960 * libdw.map: Export it.
961
962 * libdw.map: Bump to 0.116; export dwarf_ranges.
963
9642005-09-20 Roland McGrath <roland@redhat.com>
965
966 * dwarf_haspc.c: Use dwarf_ranges.
967 * dwarf_entry_breakpoints.c: Likewise.
968
969 * dwarf_ranges.c: New file.
970 * Makefile.am (libdw_a_SOURCES): Add it.
971 * libdw.h: Declare dwarf_ranges.
972 * libdwP.h: Add INTDECL.
973
9742005-09-14 Roland McGrath <roland@redhat.com>
975
976 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in
977 prologue_end marker scanning loop.
978
9792005-09-11 Roland McGrath <roland@redhat.com>
980
981 * dwarf.h: Comment typo fix.
982
9832005-09-07 Roland McGrath <roland@redhat.com>
984
985 * dwarf_entry_breakpoints.c: New file.
986 * Makefile.am (libdw_a_SOURCES): Add it.
987 * libdw.h: Declare dwarf_entry_breakpoints.
988
989 * dwarf_entrypc.c: New file.
990 * Makefile.am (libdw_a_SOURCES): Add it.
991 * libdw.h: Declare dwarf_entrypc.
992 * libdwP.h: Add INTDECL.
993
9942005-08-28 Ulrich Drepper <drepper@redhat.com>
995
996 * Makefile.am: Use $(LINK) not $(CC) when creating DSO.
997 (%.os): Use COMPILE.os.
998 (COMPILE.os): Filter out gconv options.
999
10002005-08-27 Roland McGrath <roland@redhat.com>
1001
1002 * dwarf_getscopes.c (dwarf_getscopes): Rewritten using
1003 __libdw_visit_scopes.
1004
1005 * dwarf_getscopes_die.c: New file.
1006 * Makefile.am (libdw_a_SOURCES): Add it.
1007 * libdw.h: Declare dwarf_getscopes_die.
1008 * libdw.map: Bump to 0.115 and add it.
1009
1010 * libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct
1011 containing a DIE and its parent pointer, instead of just Dwarf_Die.
1012 Take two functions for both preorder and postorder visitors.
1013 * libdwP.h: Update decl.
1014 (struct Dwarf_Die_Chain): New type.
1015 * dwarf_func_inline.c: Update uses.
1016
1017 * dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate.
1018 Add INTDEF.
1019 * libdwP.h: Add INTDECL.
1020 * dwarf_func_name.c (dwarf_func_name): Use dwarf_diename.
1021
10222005-08-23 Roland McGrath <roland@redhat.com>
1023
1024 * dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
1025 DW_AT_specification the same as DW_AT_abstract_origin.
1026
10272005-08-20 Roland McGrath <roland@redhat.com>
1028
1029 * libdw.map: Add dwfl_cumodule, remove dwfl_linecu.
1030 Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address,
1031 and dwfl_report_offline.
1032
10332005-08-19 Roland McGrath <roland@redhat.com>
1034
1035 * libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes.
1036 Add dwfl_module_relocate_address, dwfl_module_relocations,
1037 dwfl_module_relocation_info.
1038
10392005-08-18 Roland McGrath <roland@redhat.com>
1040
1041 * dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as
1042 outermost scope in the results.
1043
10442005-08-15 Roland McGrath <roland@redhat.com>
1045
1046 * dwarf_func_inline.c: New file.
1047 * Makefile.am (libdw_a_SOURCES): Add it.
1048 * libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances.
1049 * libdw.map: Add them.
1050
1051 * dwarf_func_die.c: New file.
1052 * Makefile.am (libdw_a_SOURCES): Add it.
1053 * libdw.h: Declare dwarf_func_die.
1054 * libdw.map: Add it. Bump version to ELFUTILS_0.114.
1055
10562005-08-10 Ulrich Drepper <drepper@redhat.com>
1057
1058 * dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming
1059 of DW_LNS_set_epilog_begin.
1060
10612005-08-09 Roland McGrath <roland@redhat.com>
1062
1063 * dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin.
1064
1065 * dwarf_end.c: Add INTDEF.
1066 * dwarf_error.c (dwarf_errmsg): Likewise.
1067 * libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs.
1068
10692005-08-01 Roland McGrath <roland@redhat.com>
1070
1071 * dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset.
1072 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
1073
10742005-07-28 Ulrich Drepper <drepper@redhat.com>
1075
1076 * Makefile.am (libdw.so): No need to link with libeu.a anymore.
1077 (libdw_a_LIBADD): Add all files from libdwfl.a.
1078
10792005-07-27 Roland McGrath <roland@redhat.com>
1080
1081 * Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in,
1082 along with ../libebl/libebl.a and ../lib/libeu.a;
1083 depend on ../libelf/libelf.so.
1084 (libdw_so_LDADD): New variable.
1085 * libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map.
1086
1087 * libdw.map: Define an empty base version and move all symbols to
1088 version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet.
1089
10902005-07-23 Ulrich Drepper <drepper@redhat.com>
1091
1092 * dwarf_error.c: Add internal alias for dwarf_errno.
1093 * libdwP.h: Declare __dwarf_errno_internal.
1094 * dwarf_getloclist.c: Use INTDEF for dwarf_errno.
1095
1096 * dwarf_error.c [USE_TLS]: Actually use __thread in definition of
1097 global_error.
1098
10992005-06-01 Roland McGrath <roland@redhat.com>
1100
1101 * dwarf_getaranges.c (dwarf_getaranges): Sort result array.
1102 * dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search.
1103
11042005-06-08 Roland McGrath <roland@redhat.com>
1105
1106 * memory-access.h (get_uleb128_step, get_uleb128): Remove casts.
1107 (get_sleb128_step, get_sleb128): Likewise.
1108 * dwarf_getattrs.c (dwarf_getattrs): Add consts.
1109 * dwarf_getloclist.c (getloclist): Likewise.
1110 * dwarf_formblock.c (dwarf_formblock): Likewise.
1111 * dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
1112 * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise.
1113 * dwarf_formref.c (dwarf_formref): Likewise.
1114 * dwarf_formsdata.c (dwarf_formsdata): Likewise.
1115 * dwarf_formudata.c (dwarf_formudata): Likewise.
1116 * dwarf_haschildren.c (dwarf_haschildren): Likewise.
1117 * dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise.
1118 * dwarf_tag.c (dwarf_tag): Likewise.
1119 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
1120 * memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise.
1121 * libdw_form.c (__libdw_form_val_len): Likewise.
1122 * libdwP.h: Update decl.
1123
11242005-06-04 Roland McGrath <roland@redhat.com>
1125
1126 * memory-access.h (get_uleb128_rest_return): New macro.
1127 [! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it.
1128 (get_sleb128_rest_return): New macro.
1129 [! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it.
1130 * memory-access.c: New file.
1131 * Makefile.am (libdw_a_SOURCES): Add it.
1132 (DEFS): Add -DIS_LIBDW.
1133
11342005-05-31 Roland McGrath <roland@redhat.com>
1135
1136 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
1137 formref offset.
1138
11392005-05-30 Roland McGrath <roland@redhat.com>
1140
1141 * dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base
1142 address if DW_AT_low_pc is missing. Not to spec, but GCC generates it.
1143
1144 * dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte
1145 BEGIN value. Instead, match base address entries separately for
1146 32/64 size cases.
1147
11482005-05-28 Roland McGrath <roland@redhat.com>
1149
1150 * dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance
1151 past location expression contents.
1152
11532005-05-23 Roland McGrath <roland@redhat.com>
1154
1155 * dwarf_getsrclines.c: Comment typo fix.
1156
1157 * dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation.
1158 * dwarf_getloclist.c (dwarf_addrloclists): Likewise.
1159
11602005-05-22 Ulrich Drepper <drepper@redhat.com>
1161
1162 * libdwP.h: Only use INTDECL for alias prototypes.
1163
11642005-05-19 Roland McGrath <roland@redhat.com>
1165
1166 * dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too.
1167
1168 * dwarf_getscopevar.c: New file.
1169 * Makefile.am (libdw_a_SOURCES): Add it.
1170 * libdw.h: Declare dwarf_getscopevar.
1171
1172 * dwarf_getsrcfiles.c: Add INTDEF.
1173 * dwarf_haschildren.c: Likewise.
1174 * libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL.
1175
1176 * dwarf_getscopes.c: New file.
1177 * Makefile.am (libdw_a_SOURCES): Add it.
1178 * libdw.h: Declare dwarf_getscopes.
1179 * libdw.map: Add it.
1180
11812005-05-18 Roland McGrath <roland@redhat.com>
1182
1183 * libdwP.h (IDX_debug_ranges): New enum constant.
1184 * dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges".
1185 * libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant.
1186 * dwarf_error.c (errmsgs): Add it.
1187 * dwarf_haspc.c: New file.
1188 * libdw.h: Declare dwarf_haspc.
1189 * libdw.map: Add it.
1190 * libdwP.h: Add INTDECL.
1191
1192 * dwarf_attr_integrate.c: New file.
1193 * dwarf_hasattr_integrate.c: New file.
1194 * Makefile.am (libdw_a_SOURCES): Add them.
1195 * libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate.
1196 * libdw.map: Add them.
1197
1198 * dwarf_hasattr.c: Add INTDEF.
1199 * libdwP.h: Add INTDECL for it.
1200
1201 * dwarf_formref_die.c: New file.
1202 * Makefile.am (libdw_a_SOURCES): Add it.
1203 * libdw.h (dwarf_formref_die): Declare it.
1204 * libdwP.h (dwarf_formref_die): Add INTDECL.
1205 * libdw.map: Add it.
1206
1207 * dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out
1208 of ...
1209 (dwarf_getloclist): ... here. Call them.
1210 (dwarf_addrloclists): New function.
1211 * libdw.h: Declare it.
1212 * libdw.map: Add it.
1213
1214 * dwarf_getmacros.c (dwarf_getmacros): Don't bail at
1215 DW_MACINFO_end_file. Recognize type 0 as terminator.
1216
12172005-05-05 Roland McGrath <roland@redhat.com>
1218
1219 * dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search.
1220
1221 * dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since
1222 the line program does not produce all entries in ascending order.
1223
12242005-04-25 Ulrich Drepper <drepper@redhat.com>
1225
1226 * dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple
1227 occurences (e.g., inlines) better.
1228
12292005-04-24 Ulrich Drepper <drepper@redhat.com>
1230
1231 * libdw.h (DWARF_END_ABBREV): Define.
1232 * dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if
1233 end is reached.
1234 * dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end
1235 of records reached.
1236 * dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV
1237 as error of __libdw_getabbrev.
1238
12392005-04-04 Ulrich Drepper <drepper@redhat.com>
1240
1241 * dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization.
1242
1243 * dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of
1244 results back to caller.
1245
12462005-04-04 Roland McGrath <roland@redhat.com>
1247
1248 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL.
1249
1250 * dwarf_func_line.c (__libdw_func_intval): Use internal_function in
1251 defn.
1252
12532005-04-04 Ulrich Drepper <drepper@redhat.com>
1254
1255 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE.
1256
1257 * dwarf_getsrc_file.c: New file.
1258 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c.
1259 * libdw.h: Declare dwarf_getsrc_file.
1260 * libdw.map: Add dwarf_getsrc_file.
1261
12622005-04-02 Ulrich Drepper <drepper@redhat.com>
1263
1264 * dwarf_func_entrypc.c: New file.
1265 * dwarf_func_col.c: New file.
1266 * dwarf_func_line.c: New file.
1267 * dwarf_func_file.c: New file.
1268 * libdw.h: Add prototypes for new functions.
1269 * libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line,
1270 dwarf_func_file.
1271 * Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c,
1272 dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c.
1273 * libdwP.h (struct Dwarf_Func_s): Add cudie element.
1274 Declare __libdw_func_intval and __dwarf_formsdata_internal.
1275 * dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object.
1276 * dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs.
1277
1278 * dwarf.h: Add some DWARF3 definitions.
1279
12802005-04-01 Ulrich Drepper <drepper@redhat.com>
1281
1282 * dwarf_getfuncs.c: New file.
1283 * dwarf_func_highpc.c: New file.
1284 * dwarf_func_lowpc.c: New file.
1285 * dwarf_func_name.c: New file.
1286 * Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c,
1287 dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c.
1288 * libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc,
1289 and dwarf_func_name.
1290 * libdw.h: Add prototypes for new functions.
1291 * dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs.
1292 * dwarf_siblingof.c: Likewise.
1293 * dwarf_dieoffset.c: Likewise.
1294 * dwarf_highpc.c: Likewise.
1295 * dwarf_lowpc.c: Likewise.
1296 * libdwP.h: Add prototypes for internal functions.
1297 Define Dwarf_Func_s structure.
1298
12992005-03-29 Ulrich Drepper <drepper@redhat.com>
1300
1301 * libdw.h: Add padding in Dwarf_die.
1302
1303 * dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs.
1304 * dwarf_attr.c: Likewise.
1305 * dwarf_begin.c: Likewise.
1306 * dwarf_begin_elf.c: Likewise.
1307 * dwarf_bitoffset.c: Likewise.
1308 * dwarf_bitsize.c: Likewise.
1309 * dwarf_bytesize.c: Likewise.
1310 * dwarf_diename.c: Likewise.
1311 * dwarf_formaddr.c: Likewise.
1312 * dwarf_formblock.c: Likewise.
1313 * dwarf_formref.c: Likewise.
1314 * dwarf_formstring.c: Likewise.
1315 * dwarf_formudata.c: Likewise.
1316 * dwarf_getarange_addr.c: Likewise.
1317 * dwarf_getarangeinfo.c: Likewise.
1318 * dwarf_getaranges.c: Likewise.
1319 * dwarf_getloclist.c: Likewise.
1320 * dwarf_getmacros.c: Likewise.
1321 * dwarf_getsrc_die.c: Likewise.
1322 * dwarf_getsrcfiles.c: Likewise.
1323 * dwarf_getsrclines.c: Likewise.
1324 * dwarf_highpc.c: Likewise.
1325 * dwarf_lowpc.c: Likewise.
1326 * dwarf_nextcu.c: Likewise.
1327 * dwarf_offdie.c: Likewise.
1328 * dwarf_siblingof.c: Likewise.
1329 * dwarf_srclang.c: Likewise.
1330 * dwarf_tag.c: Likewise.
1331 * libdw_findcu.c: Likewise.
1332 * libdwP.h: Add prototypes for internal functions.
1333
1334 * dwarf_addrdie.c: New file.
1335 * dwarf_macro_opcode.c: New file.
1336 * dwarf_macro_param1.c: New file.
1337 * dwarf_macro_param2.c: New file.
1338 * libdw.h: Add declarations. Move Dwarf_Macro definition to libdwP.h.
1339 * libdwP.h: Remove Dwarf_Macro definition.
1340 * Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c,
1341 dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c.
1342 * libdw.map: Add entries for new functions.
1343
13442005-03-21 Ulrich Drepper <drepper@redhat.com>
1345
1346 * libdw.h: Handle broken gcc < 4.
1347
13482005-02-15 Ulrich Drepper <drepper@redhat.com>
1349
1350 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
1351
1352 * dwarf_begin_elf.c: Fix warnings.
1353 * dwarf_dieoffset.c: Likewise.
1354 * dwarf_end.c: Likewise.
1355 * dwarf_error.c: Likewise.
1356 * dwarf_getpubnames.c: Likewise.
1357
1358 * libdwP.h: Add new error values.
1359 * dwarf_error.c: Support new error values.
1360 * dwarf_getpubnames.c: Check parameter value.
1361
13622005-02-05 Ulrich Drepper <drepper@redhat.com>
1363
1364 * Makefile.am: Check for text relocations in constructed DSO.
1365
1366 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.
1367
13682005-02-04 Ulrich Drepper <drepper@redhat.com>
1369
1370 * dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary
1371 checks to not read over buffer boundaries for ill-formed DWARF data.
1372
13732004-09-25 Ulrich Drepper <drepper@redhat.com>
1374
1375 * dwarf_child.c: Make compile with gcc 4.0.
1376 * dwarf_error.c: Likewise.
1377 * dwarf_formblock.c: Likewise.
1378 * dwarf_getabbrev.c: Likewise.
1379 * dwarf_getattrs.c: Likewise.
1380 * dwarf_getsrclines.c: Likewise.
1381 * dwarf_tag.c: Likewise.
1382 * libdw_form.c: Likewise.
1383
13842004-01-20 Ulrich Drepper <drepper@redhat.com>
1385
1386 * Makefile.am: Support building with mudflap.
1387
1388 * dwarf_getloclist.c: Fix warnings gcc 3.4 spits out.
1389 * dwarf_getsrclines.c: Likewise.
1390 * dwarf_memory-access.h: Likewise.
1391
13922004-01-19 Ulrich Drepper <drepper@redhat.com>
1393
1394 * dwarf_getsrcfiles.c: Third parameter can be NULL.
1395
1396 * libdw.h: Define Dwarf_macro. Declare dwarf_getmacros.
1397 Third parameter of dwarf_getsrcfiles can be NULL.
1398
1399 * libdw.map: Add dwarf_getmacros.
1400 * Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros.
1401 * dwarf_getmacros.c: New file.
1402
14032004-01-18 Ulrich Drepper <drepper@redhat.com>
1404
1405 * libdw.h: Second parameter of dwarf_getaranges can be NULL.
1406
1407 * dwarf_nextcu.c: Return -1 if dwarf parameter is NULL.
1408
1409 * dwarf_getsrclines.c:
1410 Use read_2ubyte_unaligned_inc instead of _inc-less variant.
1411
1412 * dwarf_getaranges.c: Allow naranges parameter to be NULL.
1413
1414 * libdwP.h (_): Use elfutils domain.
1415
1416 * dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction.
1417
1418 * dwarf_getsrclines.c: Fix typo in comment.
1419
14202004-01-17 Ulrich Drepper <drepper@redhat.com>
1421
1422 * Makefile.am: Support building with mudflap.
1423
14242004-01-16 Ulrich Drepper <drepper@redhat.com>
1425
1426 * memory-access.h: Add lots of const in case a pointer passed is const.
1427
1428 * dwarf_formflag.c: New file.
1429 * dwarf_getattrs.c: New file.
1430 * dwarf_error.c: Add new error value.
1431 * libdw.h: Add prototypes for new functions. Adjust prototype for
1432 dwarf_getpubnames.
1433 * libdw.map: Add new functions.
1434 * dwarf_getpubnames.c: Change type of return value and fourth parameter
1435 to ptrdiff_t.
1436 * libdwP.h: Add new error value.
1437 * Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and
1438 dwarf_formflag.c.
1439
1440 * dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL.
1441
14422004-01-12 Ulrich Drepper <drepper@redhat.com>
1443
1444 * dwarf_getarange_addr.c: New file
1445 * dwarf_getarangeinfo.c: New file.
1446 * dwarf_getaranges.c: New file.
1447 * dwarf_onerange.c: New file.
1448 * libdw.h: Declare new functions. Define Dwarf_Arange and
1449 Dwarf_Aranges.
1450 * libdw.map: Add new functions.
1451 * libdwP.h: Add new errors. Add aranges member to struct Dwarf.
1452 Define Dwarf_Aranges_s and Dwarf_Arange_s.
1453 * Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c,
1454 dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c.
1455 * dwarf_error.c: Add new message.
1456
14572004-01-11 Ulrich Drepper <drepper@redhat.com>
1458
1459 * Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c,
1460 dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c,
1461 dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c.
1462 * dwarf_error.c: Add another message.
1463 * dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines
1464 introduction.
1465 * dwarf_filesrc.c: Likewise.
1466 * dwarf_getsrcfiles.c: Likewise.
1467 * dwarf_getsrclines.c: Likewise.
1468 * dwarf_lineaddr.c: New file.
1469 * dwarf_linebeginstatement.c: New file.
1470 * dwarf_lineblock.c: New file.
1471 * dwarf_linecol.c: New file.
1472 * dwarf_lineendsequence.c: New file.
1473 * dwarf_lineepiloguebegin.c: New file.
1474 * dwarf_lineno.c: New file.
1475 * dwarf_lineprologueend.c: New file.
1476 * dwarf_onesrcline.c: New file.
1477 * dwarf_lineno.c: Change interface to store result in object pointed
1478 to by second parameter.
1479 * libdw.h: Add prototypes for new functions. Change dwarf_lineno
1480 prototype. Define Dwarf_Files and Dwarf_Lines.
1481 * libdw.map: Add new functions.
1482 * libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s.
1483 * libdw_findcu.c: Don't initialize nlines field.
1484
1485 * dwarf_siblingof: Little optimization.
1486
1487 * dwarf_begin.c: Remember that the ELF descriptor must be closed.
1488 * dwarf_end.c: Close ELF descriptor if free_elf is set.
1489 * libdwP.h (struct Dwarf): Add free_elf field.
1490
1491 * Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and
1492 dwarf_offabbrev.c.
1493 * dwarf_getstring.c: New file.
1494 * dwarf_offabbrev.c: New file.
1495 * libdw.map: Add dwarf_getstring and dwarf_offabbrev.
1496 * dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result
1497 parameters. Don't allocate memory if not necessary and don't lookup
1498 previous results if no CU given.
1499 (dwarf_getabbrev): Adjust call to __libdw_getabbrev.
1500 * dwarf_tag.c: Adjust call to __libdw_getabbrev.
1501 * libdw.h: Declare dwarf_offabbrev and dwarf_getstring.
1502 * libdwP.h: Change prototype for __libdw_getabbrev.
1503
1504 * dwarf_getabbrevattr.c: Add offsetp parameter. Fill in before
1505 returning if this is wanted.
1506
15072004-01-09 Ulrich Drepper <drepper@redhat.com>
1508
1509 * dwarf_nextcu.c: Add new parameter offset_sizep. Initialize it
1510 with offset_size value.
1511 * libdw.h: Adjust dwarf_nextcu prototype.
1512 * libdwP.h (struct Dwarf_CU): Add offset_size member.
1513 * libdw_findcu.c: Adjust dwarf_nextcu call. Initialize offset_size
1514 member of new CU struct.
1515 * dwarf_formstring.c: Depend on offset_size not address_size for
1516 DW_FORM_strp handling.
1517 * dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr.
1518
1519 * dwarf_tag.c (__libdw_findabbrev): Return correct value for
1520 failing lookup.
1521 (dwarf_tag): Correctly recognize failed lookup.
1522
1523 * dwarf_end.c (cu_free): Call tdestroy for locs member. Use new
1524 function noop_free.
1525 * dwarf_error.c: Add message for DWARF_E_NO_BLOCK.
1526 * dwarf_formblock.c: New file.
1527 * dwarf_getloclist.c: Rewrite to handle a single block.
1528 * libdw.h: Define Dwarf_Block. Rename Dwarf_Loc members. Remove
1529 Dwarf_Locdesc definition. Declare dwarf_formblock. Remove
1530 dwarf_getloclistent declaration.
1531 * libdw.map: Add dwarf_formblock, remove dwarf_getloclistent.
1532 * libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK.
1533 Add locs member to struct Dwarf_CU.
1534 * libdw_fundcu.c: Initialize locs member of new CU.
1535 * Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c.
1536 Remove dwarf_getloclistent.c.
1537
15382004-01-07 Ulrich Drepper <drepper@redhat.com>
1539
1540 * libdw.h: Use __nonnull__ attribute only for gcc >= 3.3.
1541 * libdwP.h: Likewise.
1542
1543 * dwarf_getloclist.c: New file.
1544 * dwarf_getloclistent.c: New file.
1545 * libdw.h: Define Dwarf_Loc and Dwarf_Locdesc.
1546 Declare dwarf_getloclistent and dwarf_getloclist.
1547 * libdw.map: Add dwarf_getloclistent and dwarf_getloclist.
1548 * libdwP.h: Define DWARF_E_NO_LOCLIST.
1549 * Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and
1550 dwarf_getloclist.c.
1551
1552 * dwarf_error.c: More error messages.
1553
15542004-01-06 Ulrich Drepper <drepper@redhat.com>
1555
1556 * dwarf_getsrclines.c: Remove debugging support.
1557
1558 * dwarf_getsrcfiles.c: New file.
1559 * dwarf_filesrc.c: New file.
1560 * libdw.h: Declare these functions. Define Dwarf_File.
1561 * libdwP.c: Adjust Dwarf_File_s definition.
1562 * libdw.map: Add these functions.
1563 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and
1564 dwarf_filesrc.c.
1565 * dwarf_getsrclines.c: Initialize cu->files.
1566
15672004-01-05 Ulrich Drepper <drepper@redhat.com>
1568
1569 * libdw.h: Add more nonnull function attributes.
1570
1571 * dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next.
1572 * dwarf_end.c (cu_free): New function.
1573 (dwarf_end): Also free CU tree. Correct freeing of memory blocks.
1574 * dwarf_error.c (errmsgs): Add new messages.
1575 * dwarf_getsrc_die.c: New file.
1576 * dwarf_getsrclines.c: New file.
1577 * dwarf_lineno.c: New file.
1578 * dwarf_linesrc.c: New file.
1579 * dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc
1580 instead of the *_inc-less variants.
1581 * libdw.h: Define Dwarf_Line. Add some function attributes. Declare
1582 dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc.
1583 * libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno,
1584 and dwarf_linesrc.
1585 * libdwP.h: Add more error codes.
1586 (struct Dwarf): Remove mem_tail.next member.
1587 (Dwarf_File): Define type.
1588 (struct Dwarf_Line_s): Define type.
1589 (struct Dwarf_CU): Add lines and nlines members.
1590 (libdw_alloc): Define local variable _tail and use it.
1591 Add some function attributes.
1592 * libdw_alloc.c (__libdw_allocate): Don't initialize next member.
1593 * libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members.
1594 * memory-access.h: Add unlikely for the endian conversion paths.
1595 * Makefile.am (AM_CFLAGS): Add -std parameter.
1596 (libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die,
1597 dwarf_lineno, and dwarf_linesrc.
1598
15992003-08-11 Ulrich Drepper <drepper@redhat.com>
1600
1601 * Moved to CVS archive.