Home | History | Annotate | Download | only in libdw
      1 2012-01-31  Mark Wielaard  <mjw (a] redhat.com>
      2 
      3 	* dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset.
      4 
      5 2011-11-31  Mark Wielaard  <mjw (a] redhat.com>
      6 
      7 	* Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
      8 
      9 2011-07-14  Mark Wielaard  <mjw (a] redhat.com>
     10 
     11 	* libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
     12 
     13 2011-05-16  Jakub Jelinek  <jakub (a] 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 
     19 2011-04-26  Mark Wielaard  <mjw (a] redhat.com>
     20 
     21 	* dwarf_child (dwarf_child): Sanity check end of section against
     22 	cu_data () of die->cu.
     23 
     24 2011-03-22  Mark Wielaard  <mjw (a] 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 
     38 2011-03-10  Petr Machata  <pmachata (a] redhat.com>
     39 
     40 	* libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for
     41 	abbreviation with code 0.
     42 
     43 2011-03-09  Petr Machata  <pmachata (a] redhat.com>
     44 
     45 	* libdw/dwarf_child.c (dwarf_child): Check for section overrun.
     46 
     47 2011-02-23  Roland McGrath  <roland (a] 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 
     58 2010-10-13  Roland McGrath  <roland (a] redhat.com>
     59 
     60 	* dwarf.h: Add DW_LANG_Go.
     61 
     62 2010-10-05  Roland McGrath  <roland (a] redhat.com>
     63 
     64 	* dwarf_getaranges.c: Use malloc rather than alloca,
     65 	since the total number of elements can be quite huge.
     66 
     67 2010-07-26  Roland McGrath  <roland (a] 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 
     82 2010-08-24  Roland McGrath  <roland (a] redhat.com>
     83 
     84 	* libdw.map (ELFUTILS_0.149): New set.  Add dwfl_dwarf_line.
     85 
     86 2010-07-27  Roland McGrath  <roland (a] redhat.com>
     87 
     88 	* dwarf_formref_die.c: Fix sig8 hash insertion.
     89 
     90 2010-06-23  Roland McGrath  <roland (a] redhat.com>
     91 
     92 	* cfi.c (dwarf_cfi_validate_fde): Function removed.
     93 	* libdw.h: Remove it.
     94 	* libdw.map: Likewise.
     95 
     96 2010-06-22  Roland McGrath  <roland (a] 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 
    103 2010-06-21  Roland McGrath  <roland (a] 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 
    110 2010-06-20  Roland McGrath  <roland (a] 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 
    129 2010-06-16  Roland McGrath  <roland (a] 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 
    193 2010-06-17  Roland McGrath  <roland (a] 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 
    207 2010-06-16  Roland McGrath  <roland (a] 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 
    229 2010-06-15  Roland McGrath  <roland (a] 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 
    240 2010-06-01  Roland McGrath  <roland (a] 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 
    256 2010-05-31  Mark Wielaard  <mjw (a] redhat.com>
    257 
    258 	* cfi.h (dwarf_cfi_cie_p): Move definition from here, to ..
    259 	* libdw.h (dwarf_cfi_cie_p): ... here.
    260 
    261 2010-05-31  Mark Wielaard  <mjw (a] redhat.com>
    262 
    263 	* dwarf.h: Fix DW_LANG_Python constant.
    264 
    265 2010-05-28  Eduardo Santiago  <santiago (a] redhat.com>
    266 
    267 	* dwarf_getlocation.c (dwarf_getlocation): Do attr_ok check first
    268 	thing.
    269 
    270 2010-05-27  Roland McGrath  <roland (a] 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 
    275 2010-05-08  Roland McGrath  <roland (a] 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 
    284 2010-04-26  Roland McGrath  <roland (a] 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 
    298 2010-04-22  Roland McGrath  <roland (a] 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 
    305 2010-03-10  Roland McGrath  <roland (a] redhat.com>
    306 
    307 	* libdw.map (ELFUTILS_0.146): New set.  Add dwfl_core_file_report.
    308 
    309 2010-02-15  Roland McGrath  <roland (a] redhat.com>
    310 
    311 	* Makefile.am: Use config/eu.am for common stuff.
    312 
    313 2010-02-02  Mark Wielaard  <mjw (a] redhat.com>
    314 
    315 	* fde.c (intern_fde): Fix length check for sized_augmentation_data.
    316 
    317 2010-01-07  Roland McGrath  <roland (a] redhat.com>
    318 
    319 	* dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum.
    320 
    321 2010-01-05  Roland McGrath  <roland (a] 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 
    336 2009-11-21  Roland McGrath  <roland (a] redhat.com>
    337 
    338 	* dwarf_getlocation.c (check_constant_offset): Return 1 for all
    339 	non-constant forms.
    340 
    341 2009-10-15  Roland McGrath  <roland (a] 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 
    346 2009-09-17  Roland McGrath  <roland (a] 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 
    352 2009-09-10  Roland McGrath  <roland (a] 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 
    360 2009-09-09  Mark Wielaard  <mjw (a] redhat.com>
    361 
    362 	* dwarf_getcfi.c (dwarf_getcfi): Clear cfi->ebl.
    363 
    364 2009-08-21  Josh Stone  <jistone (a] redhat.com>
    365 
    366 	* dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
    367 
    368 2009-08-10  Roland McGrath  <roland (a] redhat.com>
    369 
    370 	* dwarf_getscopevar.c: Use dwarf_diename.
    371 
    372 2009-08-09  Roland McGrath  <roland (a] 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 
    386 2009-08-07  Roland McGrath  <roland (a] 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 
    396 2009-07-22  Roland McGrath  <roland (a] 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 
    412 2009-07-21  Roland McGrath  <roland (a] 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 
    420 2009-07-20  Roland McGrath  <roland (a] redhat.com>
    421 
    422 	* dwarf_getlocation.c (__libdw_intern_expression):
    423 	Handle DW_OP_stack_value.
    424 
    425 2009-07-16  Roland McGrath  <roland (a] 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 
    439 2009-07-15  Roland McGrath  <roland (a] 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 
    444 2009-07-13  Roland McGrath  <roland (a] redhat.com>
    445 
    446 	* dwarf_getlocation.c: Grok DW_OP_call_frame_cfa.
    447 
    448 2009-07-08  Roland McGrath  <roland (a] 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 
    501 2009-07-08  Roland McGrath  <roland (a] 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 
    509 2009-06-18  Roland McGrath  <roland (a] 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 
    518 2009-05-05  Petr Machata  <pmachata (a] 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 
    527 2009-05-04  Petr Machata  <pmachata (a] 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 
    534 2009-04-23  Petr Machata  <pmachata (a] 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 
    546 2009-04-23  Petr Machata  <pmachata (a] 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 
    552 2009-05-07  Roland McGrath  <roland (a] 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 
    558 2009-05-07  Petr Machata  <pmachata (a] redhat.com>
    559 
    560 	* dwarf_getmacros.c (dwarf_getmacros): Take into account offset in
    561 	DW_AT_macro_info attribute of CU DIE.
    562 
    563 2009-04-15  Roland McGrath  <roland (a] redhat.com>
    564 
    565 	* dwarf.h (DW_CIE_ID): Removed.
    566 	(DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it.
    567 
    568 2009-04-01  Roland McGrath  <roland (a] redhat.com>
    569 
    570 	* dwarf.h: Add DW_CFA_GNU_negative_offset_extended.
    571 
    572 2009-01-28  Roland McGrath  <roland (a] 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 
    579 2009-01-26  Roland McGrath  <roland (a] redhat.com>
    580 
    581 	* dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all.
    582 
    583 2009-01-25  Roland McGrath  <roland (a] redhat.com>
    584 
    585 	* dwarf_getattrs.c: Correctly skip attribute values when restarting.
    586 
    587 2009-01-23  Roland McGrath  <roland (a] redhat.com>
    588 
    589 	* Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back.
    590 	Put these rules under if MAINTAINER_MODE.
    591 
    592 2009-01-22  Roland McGrath  <roland (a] redhat.com>
    593 
    594 	* dwarf.h: Add DW_OP_GNU_encoded_addr.
    595 
    596 2009-01-21  Roland McGrath  <roland (a] redhat.com>
    597 
    598 	* Makefile.am (CLEANFILES): Renamed to ...
    599 	(MOSTLYCLEANFILES): ... here.
    600 	(CLEANFILES): New variable, add known-dwarf.h.
    601 
    602 2009-01-17  Roland McGrath  <roland (a] 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 
    616 2009-01-10  Ulrich Drepper  <drepper (a] redhat.com>
    617 
    618 	* dwarf_error.c: Always use __thread.  Remove all !USE_TLS code.
    619 
    620 2009-01-08  Roland McGrath  <roland (a] redhat.com>
    621 
    622 	* Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in.
    623 
    624 2008-01-06  Roland McGrath  <roland (a] 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 
    632 2009-01-06  Ulrich Drepper  <drepper (a] 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 
    639 2008-08-15  Roland McGrath  <roland (a] 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 
    644 2008-01-21  Ulrich Drepper  <drepper (a] 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 
    652 2008-01-18  Ulrich Drepper  <drepper (a] 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 
    657 2008-01-17  Nick Clifton  <nickc (a] 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 
    703 2008-01-08  Roland McGrath  <roland (a] 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 
    709 2007-10-17  Roland McGrath  <roland (a] 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 
    728 2007-10-05  Roland McGrath  <roland (a] 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 
    735 2007-10-03  Roland McGrath  <roland (a] 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 
    743 2007-10-02  Roland McGrath  <roland (a] redhat.com>
    744 
    745 	* libdw_visit_scopes.c (classify_die): Return walk for class_type and
    746 	structure_type.
    747 
    748 2007-08-07  Roland McGrath  <roland (a] 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 
    759 2007-07-03  Roland McGrath  <roland (a] redhat.com>
    760 
    761 	* libdw.h (__extern_inline): New macro.
    762 	[__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it.
    763 
    764 2007-04-16  Roland McGrath  <roland (a] redhat.com>
    765 
    766 	* libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.
    767 
    768 2007-04-05  Roland McGrath  <roland (a] 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 Sbastien Dugu <sebastien.dugue (a] bull.net>.
    783 
    784 2007-03-25  Roland McGrath  <roland (a] 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 
    792 2007-03-12  Roland McGrath  <roland (a] redhat.com>
    793 
    794 	* libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add.
    795 
    796 2007-03-04  Roland McGrath  <roland (a] redhat.com>
    797 
    798 	* libdw.map (ELFUTILS_0.127): New version set, inherits from
    799 	ELFUTILS_0.126.  Add dwfl_module_addrsym.
    800 
    801 2007-02-10  Roland McGrath  <roland (a] redhat.com>
    802 
    803 	* dwarf.h (DW_OP_fbreg): Comment fix.
    804 
    805 2007-02-03  Roland McGrath  <roland (a] 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 
    812 2006-12-17  Roland McGrath  <roland (a] 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 
    817 2006-08-29  Roland McGrath  <roland (a] 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 
    829 2006-07-12  Ulrich Drepper  <drepper (a] 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 
    837 2006-06-28  Roland McGrath  <roland (a] 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 
    844 2006-05-27  Ulrich Drepper  <drepper (a] redhat.com>
    845 
    846 	* libdw.h: Add extern "C".
    847 
    848 2006-05-22  Ulrich Drepper  <drepper (a] redhat.com>
    849 
    850 	* dwarf_getaranges.c (dwarf_getaranges): Handle files without
    851 	aranges information.
    852 
    853 2006-05-21  Ulrich Drepper  <drepper (a] redhat.com>
    854 
    855 	* libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs,
    856 	dwarf_haschildren.
    857 
    858 2006-02-28  Roland McGrath  <roland (a] 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 
    864 2006-02-22  Roland McGrath  <roland (a] redhat.com>
    865 
    866 	* libdw.map: Bump to 0.120; export dwfl_version.
    867 
    868 2005-12-22  Roland McGrath  <roland (a] redhat.com>
    869 
    870 	* libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report.
    871 
    872 2005-12-12  Roland McGrath  <roland (a] redhat.com>
    873 
    874 	* dwarf_ranges.c: Copy CU base address-finding code from
    875 	dwarf_getlocation.
    876 
    877 2005-12-09  Roland McGrath  <roland (a] 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 
    883 2005-11-25  Roland McGrath  <roland (a] redhat.com>
    884 
    885 	* libdw.map: Bump to 0.118; export dwfl_module_register_names.
    886 
    887 2005-11-15  Roland McGrath  <roland (a] redhat.com>
    888 
    889 	* Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic.
    890 
    891 2005-11-13  Roland McGrath  <roland (a] redhat.com>
    892 
    893 	* libdw.map: Bump to 0.117; export dwfl_module_return_value_location.
    894 
    895 2005-10-27  Roland McGrath  <roland (a] 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 
    905 2005-10-26  Roland McGrath  <roland (a] 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 
    949 2005-10-25  Roland McGrath  <roland (a] 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 
    955 2005-10-14  Roland McGrath  <roland (a] 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 
    964 2005-09-20  Roland McGrath  <roland (a] 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 
    974 2005-09-14  Roland McGrath  <roland (a] redhat.com>
    975 
    976 	* dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in
    977 	prologue_end marker scanning loop.
    978 
    979 2005-09-11  Roland McGrath  <roland (a] redhat.com>
    980 
    981 	* dwarf.h: Comment typo fix.
    982 
    983 2005-09-07  Roland McGrath  <roland (a] 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 
    994 2005-08-28  Ulrich Drepper  <drepper (a] 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 
   1000 2005-08-27  Roland McGrath  <roland (a] 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 
   1022 2005-08-23  Roland McGrath  <roland (a] redhat.com>
   1023 
   1024 	* dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
   1025 	DW_AT_specification the same as DW_AT_abstract_origin.
   1026 
   1027 2005-08-20  Roland McGrath  <roland (a] 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 
   1033 2005-08-19  Roland McGrath  <roland (a] 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 
   1039 2005-08-18  Roland McGrath  <roland (a] redhat.com>
   1040 
   1041 	* dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as
   1042 	outermost scope in the results.
   1043 
   1044 2005-08-15  Roland McGrath  <roland (a] 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 
   1056 2005-08-10  Ulrich Drepper  <drepper (a] redhat.com>
   1057 
   1058 	* dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming
   1059 	of DW_LNS_set_epilog_begin.
   1060 
   1061 2005-08-09  Roland McGrath  <roland (a] 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 
   1069 2005-08-01  Roland McGrath  <roland (a] redhat.com>
   1070 
   1071 	* dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset.
   1072 	* dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
   1073 
   1074 2005-07-28  Ulrich Drepper  <drepper (a] 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 
   1079 2005-07-27  Roland McGrath  <roland (a] 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 
   1090 2005-07-23  Ulrich Drepper  <drepper (a] 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 
   1099 2005-06-01  Roland McGrath  <roland (a] redhat.com>
   1100 
   1101 	* dwarf_getaranges.c (dwarf_getaranges): Sort result array.
   1102 	* dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search.
   1103 
   1104 2005-06-08  Roland McGrath  <roland (a] 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 
   1124 2005-06-04  Roland McGrath  <roland (a] 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 
   1134 2005-05-31  Roland McGrath  <roland (a] redhat.com>
   1135 
   1136 	* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
   1137 	formref offset.
   1138 
   1139 2005-05-30  Roland McGrath  <roland (a] 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 
   1148 2005-05-28  Roland McGrath  <roland (a] redhat.com>
   1149 
   1150 	* dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance
   1151 	past location expression contents.
   1152 
   1153 2005-05-23  Roland McGrath  <roland (a] 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 
   1160 2005-05-22  Ulrich Drepper  <drepper (a] redhat.com>
   1161 
   1162 	* libdwP.h: Only use INTDECL for alias prototypes.
   1163 
   1164 2005-05-19  Roland McGrath  <roland (a] 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 
   1181 2005-05-18  Roland McGrath  <roland (a] 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 
   1217 2005-05-05  Roland McGrath  <roland (a] 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 
   1224 2005-04-25  Ulrich Drepper  <drepper (a] redhat.com>
   1225 
   1226 	* dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple
   1227 	occurences (e.g., inlines) better.
   1228 
   1229 2005-04-24  Ulrich Drepper  <drepper (a] 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 
   1239 2005-04-04  Ulrich Drepper  <drepper (a] 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 
   1246 2005-04-04  Roland McGrath  <roland (a] 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 
   1253 2005-04-04  Ulrich Drepper  <drepper (a] 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 
   1262 2005-04-02  Ulrich Drepper  <drepper (a] 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 
   1280 2005-04-01  Ulrich Drepper  <drepper (a] 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 
   1299 2005-03-29  Ulrich Drepper  <drepper (a] 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 
   1344 2005-03-21  Ulrich Drepper  <drepper (a] redhat.com>
   1345 
   1346 	* libdw.h: Handle broken gcc < 4.
   1347 
   1348 2005-02-15  Ulrich Drepper  <drepper (a] 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 
   1362 2005-02-05  Ulrich Drepper  <drepper (a] redhat.com>
   1363 
   1364 	* Makefile.am: Check for text relocations in constructed DSO.
   1365 
   1366 	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.
   1367 
   1368 2005-02-04  Ulrich Drepper  <drepper (a] 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 
   1373 2004-09-25  Ulrich Drepper  <drepper (a] 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 
   1384 2004-01-20  Ulrich Drepper  <drepper (a] 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 
   1392 2004-01-19  Ulrich Drepper  <drepper (a] 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 
   1403 2004-01-18  Ulrich Drepper  <drepper (a] 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 
   1420 2004-01-17  Ulrich Drepper  <drepper (a] redhat.com>
   1421 
   1422 	* Makefile.am: Support building with mudflap.
   1423 
   1424 2004-01-16  Ulrich Drepper  <drepper (a] 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 
   1442 2004-01-12  Ulrich Drepper  <drepper (a] 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 
   1457 2004-01-11  Ulrich Drepper  <drepper (a] 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 
   1507 2004-01-09  Ulrich Drepper  <drepper (a] 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 
   1538 2004-01-07  Ulrich Drepper  <drepper (a] 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 
   1554 2004-01-06  Ulrich Drepper  <drepper (a] 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 
   1567 2004-01-05  Ulrich Drepper  <drepper (a] 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 
   1599 2003-08-11  Ulrich Drepper  <drepper (a] redhat.com>
   1600 
   1601 	* Moved to CVS archive.
   1602