125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2012-01-31  Mark Wielaard  <mjw@redhat.com>
225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset.
425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-11-31  Mark Wielaard  <mjw@redhat.com>
625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-07-14  Mark Wielaard  <mjw@redhat.com>
1025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
1125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
1225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
1325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-05-16  Jakub Jelinek  <jakub@redhat.com>
1425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
1525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
1625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret):
1725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	New.
1825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
1925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-04-26  Mark Wielaard  <mjw@redhat.com>
2025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
2125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child (dwarf_child): Sanity check end of section against
2225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	cu_data () of die->cu.
2325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
2425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-03-22  Mark Wielaard  <mjw@redhat.com>
2525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
2625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_TAG_GNU_call_site,
2725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_TAG_GNU_call_site_parameter,
2825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_call_site_value,
2925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_call_site_data_value,
3025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_call_site_target,
3125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_call_site_target_clobbered,
3225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_tail_call,
3325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_all_tail_call_sites,
3425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_all_call_sites,
3525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_GNU_all_source_call_sites,
3625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and DW_OP_GNU_entry_value.
3725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
3825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-03-10  Petr Machata  <pmachata@redhat.com>
3925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for
4125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	abbreviation with code 0.
4225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-03-09  Petr Machata  <pmachata@redhat.com>
4425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw/dwarf_child.c (dwarf_child): Check for section overrun.
4625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2011-02-23  Roland McGrath  <roland@redhat.com>
4825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
4925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf) [USE_ZLIB]: New member sectiondata_gzip_mask.
5025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Declare __libdw_free_zdata.
5125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c [USE_ZLIB] (__libdw_free_zdata): New function.
5225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_end): Call it.
5325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
5425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (valid_p): Likewise.
5525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(check_section, scngrp_read): Likewise.
5625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(check_section) [USE_ZLIB]: Grok .z* flavors of sections.
5725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
5825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-10-13  Roland McGrath  <roland@redhat.com>
5925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
6025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_LANG_Go.
6125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
6225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-10-05  Roland McGrath  <roland@redhat.com>
6325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
6425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c: Use malloc rather than alloca,
6525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	since the total number of elements can be quite huge.
6625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
6725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-07-26  Roland McGrath  <roland@redhat.com>
6825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
6925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation_implicit_pointer.c: New file.
7025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
7125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.149): New set.
7225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add dwarf_getlocation_implicit_pointer.
7325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
7425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
7525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_offdie.c (do_offdie): Renamed to __libdw_offdie, made global.
7625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_offdie, dwarf_offdie_types): Update callers.
7725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Declare it.
7825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
7925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_OP_GNU_implicit_pointer.
8025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (__libdw_intern_expression): Handle it.
8125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
8225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-08-24  Roland McGrath  <roland@redhat.com>
8325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
8425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.149): New set.  Add dwfl_dwarf_line.
8525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
8625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-07-27  Roland McGrath  <roland@redhat.com>
8725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
8825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c: Fix sig8 hash insertion.
8925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
9025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-23  Roland McGrath  <roland@redhat.com>
9125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
9225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (dwarf_cfi_validate_fde): Function removed.
9325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Remove it.
9425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Likewise.
9525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
9625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-22  Roland McGrath  <roland@redhat.com>
9725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
9825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (check_constant_offset): data[48] are constant.
9925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
10025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Fix signed comparison warning in extended
10125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	opcode parsing.
10225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
10325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-21  Roland McGrath  <roland@redhat.com>
10425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
10525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_TAG_GNU_* constants.
10625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
10725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h (get_sleb128_rest_return): Fix sign extension for
10825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	10-byte case.
10925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
11025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-20  Roland McGrath  <roland@redhat.com>
11125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
11225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_findcu): Take new flag argument,
11325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	to search TUs instead of CUs.
11425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
11525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf): New member tu_tree.
11625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c (dwarf_end): Clean up tu_tree.
11725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_offdie.c (do_offdie): New function, broken out of ...
11825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_offdie): ... here.
11925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_offdie_types): New function.
12025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
12125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.148): Add it.
12225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
12325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (CUDIE): Use cu_data.
12425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formblock.c: Likewise.
12525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c: Likewise.
12625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_diecu.c: Use CUDIE macro.
12725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formaddr.c: Use cu_sec_idx.
12825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
12925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-16  Roland McGrath  <roland@redhat.com>
13025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
13125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c: Use dwarf_offdie only for DW_FORM_ref_addr, so
13225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	we don't repeat a CU lookup we've already done.  Handle
13325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_FORM_ref_sig8 using sig8_hash table and __libdw_intern_next_unit.
13425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
13525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_intern_next_unit): New function,
13625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	broken out of ...
13725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_findcu): ... here.  Call it.
13825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Declare it.
13925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf): New member next_tu_offset.
14025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
14125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_sig8_hash.c: New file.
14225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_sig8_hash.h: New file.
14325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them.
14425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_abbrev_hash.c: Include dwarf_sig8_hash.h before
14525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	defining NO_UNDEF.
14625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf): New member sig8_hash.
14725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c: Call Dwarf_Sig8_Hash_init on it.
14825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c: Call Dwarf_Sig8_Hash_free on it.
14925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
15025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c (dwarf_next_unit): New function, broken out of ...
15125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_nextcu): ... here.  Call it.
15225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
15325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
15425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_findcu): Use it instead of dwarf_nextcu.
15525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.148): New set, add dwarf_next_unit.
15625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
15725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (cu_sec_idx, cu_data): New functions.
15825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Use .debug_types when CU is a TU.
15925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_cuoffset.c: Use that instead of assuming IDX_debug_info.
16025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof.c: Likewise.
16125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formstring.c: Likewise.
16225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c (__libdw_formptr, dwarf_formudata): Likewise.
16325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation): Likewise.
16425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_getlocation_addr): Likewise.
16525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
16625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_CU): Add new members type_offset, type_sig8.
16725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(DIE_OFFSET_FROM_CU_OFFSET): Take flag argument; if true, compute
16825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	.debug_types header size instead of .debug_info header size.
16925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(CUDIE): Use it.
17025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_diecu.c: Update caller.
17125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c: Likewise.
17225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c: Likewise.
17325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_findcu): Initialize new members.
17425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
17525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* fde.c (fde_by_offset): Renamed to ...
17625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_fde_by_offset): ... this, made global and internal_function.
17725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Don't take ADDRESS argument.
17825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_find_fde): Update caller.  Do address sanity check here.
17925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.h: Declare __libdw_fde_by_offset.
18025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (dwarf_cfi_validate_fde): New function.
18125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
18225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.148): Add it.
18325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
18425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to
18525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	either DW_EH_PE_udata8 or DW_EH_PE_udata4.
18625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
18725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect.
18825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Don't assume DW_EH_PE_aligned refers to native address size.
18925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
19025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (execute_cfi): Barf on CIE initial instructions changing the
19125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	address.
19225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
19325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-17  Roland McGrath  <roland@redhat.com>
19425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
19525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Line_s): Add members isa, discriminator, and
19625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	op_index.
19725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Move NEW_FILE macro guts
19825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	into an inner inline function.  Set new fields.  Check all fields for
19925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	overflow when setting.
20025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineisa.c: New file.
20125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_linediscriminator.c: New file.
20225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineop_index.c: New file.
20325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add them.
20425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.148): Add them.
20525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare them.
20625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
20725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-16  Roland McGrath  <roland@redhat.com>
20825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
20925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_next_cfi.c: Fix version 4 return_address_register decoding.
21025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
21125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* fde.c (fde_by_offset): Renamed to ...
21225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_fde_by_offset): ... this, made global and internal_function.
21325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Don't take ADDRESS argument.
21425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_find_fde): Update caller.  Do address sanity check here.
21525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.h: Declare __libdw_fde_by_offset.
21625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (dwarf_cfi_validate_fde): New function.
21725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
21825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.148): Add it.
21925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
22025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to
22125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	either DW_EH_PE_udata8 or DW_EH_PE_udata4.
22225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
22325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect.
22425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Don't assume DW_EH_PE_aligned refers to native address size.
22525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
22625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (execute_cfi): Barf on CIE initial instructions changing the
22725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	address.
22825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
22925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-15  Roland McGrath  <roland@redhat.com>
23025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
23125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref.c (__libdw_formref): Diagnose DW_FORM_ref_sig8 like
23225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_FORM_ref_addr.
23325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c (dwarf_formref_die): Diagnose it the same way
23425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	here, since we don't support it yet.
23525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
23625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_next_cfi.c: Handle version 4 format.
23725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
23825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Handle version 4 format.
23925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
24025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-06-01  Roland McGrath  <roland@redhat.com>
24125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
24225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Remove unused IDX_debug_*names, add IDX_debug_types.
24325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (dwarf_scnnames): Likewise.
24425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
24525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (CIE_VERSION): Remove unused macro.
24625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
24725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Fix version field test.
24825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (DWARF_VERSION): Remove useless macro.
24925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c (__libdw_formptr): Fix DW_FORM_sec_offset handling.
25125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formblock.c (dwarf_formblock): Handle DW_FORM_exprloc.
25325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_findcu): Accept version 4.
25525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-05-31  Mark Wielaard  <mjw@redhat.com>
25725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
25825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.h (dwarf_cfi_cie_p): Move definition from here, to ..
25925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (dwarf_cfi_cie_p): ... here.
26025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-05-31  Mark Wielaard  <mjw@redhat.com>
26225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Fix DW_LANG_Python constant.
26425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-05-28  Eduardo Santiago  <santiago@redhat.com>
26625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
26725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation): Do attr_ok check first
26825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	thing.
26925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
27025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-05-27  Roland McGrath  <roland@redhat.com>
27125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
27225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_AT_enum_class, DW_AT_linkage_name,
27325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_TAG_template_alias, DW_LANG_Python, DW_LNE_set_discriminator.
27425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
27525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-05-08  Roland McGrath  <roland@redhat.com>
27625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
27725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (__libdw_intern_expression): Take new argument
27825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	REF_SIZE.  Use that to handle DW_OP_call_ref correctly.
27925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(getlocation): Update caller.
28025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise.
28125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_register.c (dwarf_frame_register): Likewise.
28225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
28325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
28425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-04-26  Roland McGrath  <roland@redhat.com>
28525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
28625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.h (struct Dwarf_Frame_s): Add cfa_invalid alternative in cfa_rule.
28725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (execute_cfi): Set that instead of doing cfi_assert for
28825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_CFA_def_cfa_{offset*,register} when a non-offset rule is in force.
28925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_cfa.c (dwarf_frame_cfa): Handle cfa_invalid.
29025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
29125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (__libdw_intern_expression): Take new arg CFAP.
29225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Prepend DW_OP_call_frame_cfa if true.
29325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(getlocation): Update caller.
29425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise.
29525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_register.c (dwarf_frame_register): Likewise.
29625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
29725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
29825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-04-22  Roland McGrath  <roland@redhat.com>
29925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
30025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c (execute_cfi): Never return without cleanup.
30125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Free FS on failure.
30225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(cie_cache_initial_state): Adjust caller to expect that free.
30325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_frame_at_address): Likewise.
30425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
30525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-03-10  Roland McGrath  <roland@redhat.com>
30625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
30725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.146): New set.  Add dwfl_core_file_report.
30825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
30925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-02-15  Roland McGrath  <roland@redhat.com>
31025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am: Use config/eu.am for common stuff.
31225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-02-02  Mark Wielaard  <mjw@redhat.com>
31425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* fde.c (intern_fde): Fix length check for sized_augmentation_data.
31625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-01-07  Roland McGrath  <roland@redhat.com>
31825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
31925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum.
32025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
32125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2010-01-05  Roland McGrath  <roland@redhat.com>
32225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
32325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_aggregate_size.c: New file.
32425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
32525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
32625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
32725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.144): New set.  Add dwarf_aggregate_size.
32825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
32925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_srclang.c: Add INTDEF.
33025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
33125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add some more DW_AT_GNU_* types from gcc.
33325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_AT_GNU_vector, DW_AT_GNU_template_name.
33525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-11-21  Roland McGrath  <roland@redhat.com>
33725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
33825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (check_constant_offset): Return 1 for all
33925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	non-constant forms.
34025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
34125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-10-15  Roland McGrath  <roland@redhat.com>
34225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
34325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_form.c (__libdw_form_val_len): Grok DW_FORM_sec_offset,
34425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_FORM_exprloc, DW_FORM_flag_present, and DW_FORM_ref_sig8.
34525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
34625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-09-17  Roland McGrath  <roland@redhat.com>
34725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
34825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_implicit_value): Make OP
34925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	argument a pointer to const.
35025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Update decl.
35125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
35225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-09-10  Roland McGrath  <roland@redhat.com>
35325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
35425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (store_implicit_value): New function.
35525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_intern_expression): Use it, handle DW_OP_implicit_value.
35625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_getlocation_implicit_value): New function.
35725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
35825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.143): Add it.
35925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-09-09  Mark Wielaard  <mjw@redhat.com>
36125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getcfi.c (dwarf_getcfi): Clear cfi->ebl.
36325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-08-21  Josh Stone  <jistone@redhat.com>
36525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
36725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
36825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-08-10  Roland McGrath  <roland@redhat.com>
36925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopevar.c: Use dwarf_diename.
37125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-08-09  Roland McGrath  <roland@redhat.com>
37325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
37425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.143): New version set,
37525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	inherits from ELFUTILS_0.142.
37625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_arrayorder.c: Use OLD_VERSION and NEW_VERSION to define an
37725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	alias in the ELFUTILS_0.122 version set and the default in the new set.
37825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_srclang.c: Likewise.
37925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_file.c: Likewise.
38025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_line.c: Likewise.
38125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_column.c: Likewise.
38225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bytesize.c: Likewise.
38325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bitsize.c: Likewise.
38425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bitoffset.c: Likewise.
38525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
38625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-08-07  Roland McGrath  <roland@redhat.com>
38725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
38825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_arrayorder.c: Use dwarf_attr_integrate.
38925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_srclang.c: Likewise.
39025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_file.c: Likewise.
39125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_line.c (__libdw_attr_intval): Likewise.
39225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bytesize.c: Likewise.
39325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bitsize.c: Likewise.
39425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bitoffset.c: Likewise.
39525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
39625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-22  Roland McGrath  <roland@redhat.com>
39725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
39825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_cfa.c: Change calling convention.
39925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Update decl.
40025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
40125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_register.c: Change calling/return-value convention for
40225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	value-only results and undefined/same_value.
40325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Update decl.
40425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
40525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (__libdw_intern_expression): Take new bool
40625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	argument, append DW_OP_stack_value if set.  Don't take NOPS argument,
40725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return that value instead.
40825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(getlocation): Update caller.
40925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_cfa.c: Likewise.
41025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
41125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
41225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-21  Roland McGrath  <roland@redhat.com>
41325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
41425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c: Ignore a CU that just has no DW_AT_stmt_list.
41525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Fix loop iteration after skipping a bogus or useless CU.
41625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
41725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c: Handle 0 dwarf_errno () as harmless
41825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	absence, not DWARF_E_NO_DEBUG_LINE.
41925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
42025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-20  Roland McGrath  <roland@redhat.com>
42125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
42225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (__libdw_intern_expression):
42325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Handle DW_OP_stack_value.
42425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
42525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-16  Roland McGrath  <roland@redhat.com>
42625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
42725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c (__libdw_formptr): Handle DW_FORM_sec_offset,
42825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	reject others when CU's version > 3.
42925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
43025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formflag.c: Handle DW_FORM_flag_present.
43125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
43225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_OP_{implicit,stack}_value from DWARF 4 draft.
43325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Also DW_TAG_type_unit and DW_TAG_rvalue_reference_type.
43425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Also DW_AT_signature, DW_AT_main_subprogram, DW_AT_data_bit_offset,
43525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and DW_AT_const_expr.
43625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Also DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present,
43725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and DW_FORM_ref_sig8.
43825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
43925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-15  Roland McGrath  <roland@redhat.com>
44025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
44125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c: Grok DW_OP_form_tls_address,
44225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_OP_GNU_push_tls_address, and DW_OP_bit_piece.
44325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
44425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-13  Roland McGrath  <roland@redhat.com>
44525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
44625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c: Grok DW_OP_call_frame_cfa.
44725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
44825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-08  Roland McGrath  <roland@redhat.com>
44925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
45025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.142): Add dwfl_module_dwarf_cfi,
45125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwfl_module_eh_cfi.
45225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
45325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf): Add member `cfi'.
45425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c (dwarf_end): Call __libdw_destroy_frame_cache on it.
45525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getcfi.c: New file.
45625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getcfi_elf.c: New file.
45725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_cfi_end.c: New file.
45825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_cfi_addrframe.c: New file.
45925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_cfa.c: New file.
46025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_register.c: New file.
46125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_frame_return_address_register.c: New file.
46225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add them.
46325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* unwind.h: Declare those functions.
46425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.142): Export them.
46525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
46625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (__libdw_intern_expression): New function,
46725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	broken out of ...
46825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(getlocation): ... here, call it.
46925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Declare it.
47025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
47125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cie.c: New file.
47225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* fde.c: New file.
47325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* frame-cache.c: New file.
47425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.c: New file.
47525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* cfi.h: New file.
47625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* encoded-value.h: New file.
47725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them.
47825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add DWARF_E_INVALID_CFI to errors enum.
47925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c (errmsgs): Add element for it.
48025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
48125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_next_cfi.c: New file.
48225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
48325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (Dwarf_CIE, Dwarf_FDE, Dwarf_CIE_Entry): New types.
48425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Declare dwarf_next_cfi.
48525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.142): New set, inherits from ELFUTILS_0.136.
48625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add dwarf_next_cfi.
48725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
48825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h [! ALLOW_UNALIGNED]
48925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_2ubyte_unaligned): Renamed to ...
49025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_2ubyte_unaligned_1): ... this.  Take bool rather than Dwarf *.
49125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_2ubyte_unaligned): Define as macro passing dbg->other_byte_order.
49225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_2sbyte_unaligned): Likewise.
49325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_4ubyte_unaligned): Likewise.
49425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_4sbyte_unaligned): Likewise.
49525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_8ubyte_unaligned): Likewise.
49625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(read_8sbyte_unaligned): Likewise.
49725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
49825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (IDX_eh_frame): Remove it.
49925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (dwarf_scnnames): Remove its element.
50025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
50125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-07-08  Roland McGrath  <roland@redhat.com>
50225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
50325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Line_s): Reorder members to pack better.
50425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
50525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (check_constant_offset): New function.
50625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_getlocation, dwarf_getlocation_addr): Call it to
50725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	handle DW_AT_data_member_location of data[48] as constant offset.
50825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
50925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-06-18  Roland McGrath  <roland@redhat.com>
51025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
51125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (__libdw_read_address_inc): Constify.
51225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_read_offset_inc): Likewise.
51325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c: Likewise.
51425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c: Likewise.
51525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Likewise.
51625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c: Likewise.
51725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
51825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-05-05  Petr Machata  <pmachata@redhat.com>
51925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
52025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (__libdw_formptr): Declare new function.
52125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c: Implement it here.
52225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_addr):
52325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Call it instead of hand-rolled offset handling code.
52425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
52525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c (dwarf_ranges): Likewise.
52625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
52725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-05-04  Petr Machata  <pmachata@redhat.com>
52825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
52925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (__libdw_read_begin_end_pair_inc): Declare new function.
53025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c: Implement it here.
53125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_ranges): Call it.
53225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_addr): Call it also here.
53325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
53425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-04-23  Petr Machata  <pmachata@redhat.com>
53525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
53625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formaddr.c (dwarf_formaddr): Call __libdw_read_* instead
53725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	of read_*ubyte_unaligned.
53825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c (dwarf_formref_die): Likewise.
53925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formstring.c (dwarf_formstring): Likewise.
54025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudate.c (dwarf_formudata): Likewise.
54125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c (dwarf_getaranges): Likewise.
54225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_addr): Likewise.
54325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames.c (get_offsets): Likewise.
54425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c (dwarf_nextcu): Likewise.
54525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
54625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-04-23  Petr Machata  <pmachata@redhat.com>
54725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
54825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (__libdw_read_addr_inc, __libdw_read_off_inc,
54925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	__libdw_read_addr, __libdw_read_off): Add four new internal
55025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	functions.
55125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
55225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-05-07  Roland McGrath  <roland@redhat.com>
55325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
55425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getmacros.c (dwarf_getmacros): Use absolute section offset in
55525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return value and OFFSET argument, not CU-relative.  Only fetch the
55625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	attribute data when called with OFFSET of 0.
55725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
55825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-05-07  Petr Machata  <pmachata@redhat.com>
55925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
56025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getmacros.c (dwarf_getmacros): Take into account offset in
56125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_macro_info attribute of CU DIE.
56225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
56325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-04-15  Roland McGrath  <roland@redhat.com>
56425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
56525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h (DW_CIE_ID): Removed.
56625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it.
56725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
56825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-04-01  Roland McGrath  <roland@redhat.com>
56925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
57025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_CFA_GNU_negative_offset_extended.
57125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
57225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-28  Roland McGrath  <roland@redhat.com>
57325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
57425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Line_s): Move out of struct Dwarf_Lines_s
57525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	defn so C++ doesn't scope the name to not match the Dwarf_Line typedef.
57625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
57725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Files_s): Replace dbg field with cu field.
57825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
57925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-26  Roland McGrath  <roland@redhat.com>
58025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
58125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all.
58225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
58325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-25  Roland McGrath  <roland@redhat.com>
58425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
58525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getattrs.c: Correctly skip attribute values when restarting.
58625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
58725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-23  Roland McGrath  <roland@redhat.com>
58825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
58925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back.
59025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Put these rules under if MAINTAINER_MODE.
59125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
59225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-22  Roland McGrath  <roland@redhat.com>
59325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
59425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_OP_GNU_encoded_addr.
59525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
59625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-21  Roland McGrath  <roland@redhat.com>
59725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
59825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (CLEANFILES): Renamed to ...
59925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(MOSTLYCLEANFILES): ... here.
60025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(CLEANFILES): New variable, add known-dwarf.h.
60125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
60225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-17  Roland McGrath  <roland@redhat.com>
60325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
60425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (known-dwarf.h): Target renamed, not in $(srcdir).
60525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Make it unconditional.
60625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(BUILT_SOURCES): Updated.
60725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
60825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add description comments for DW_LANG_* values.
60925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
61025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am [MAINTAINER_MODE]
61125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	($(srcdir)/known-dwarf.h): New target.
61225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(BUILT_SOURCES): Add it.
61325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
61425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit.
61525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
61625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-10  Ulrich Drepper  <drepper@redhat.com>
61725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
61825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Always use __thread.  Remove all !USE_TLS code.
61925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
62025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-08  Roland McGrath  <roland@redhat.com>
62125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
62225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in.
62325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
62425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2008-01-06  Roland McGrath  <roland@redhat.com>
62525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
62625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Abbrev): Change type of 'has_children' to bool.
62725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Reorder members.
62825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_haschildren.c: Return -1 for error case, not 0.
62925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
63025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw.so): Link in $(zip_LIBS).
63125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
63225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2009-01-06  Ulrich Drepper  <drepper@redhat.com>
63325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
63425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add definition for unwind and call frame information.
63525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
63625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h: Define read_ubyte_unaligned, read_sbyte_unaligned,
63725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	read_ubyte_unaligned_inc, and read_sbyte_unaligned_inc.
63825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
63925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2008-08-15  Roland McGrath  <roland@redhat.com>
64025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
64125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.136): New version set, inherits from
64225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ELFUTILS_0.130.  Add dwfl_addrsegment, dwfl_report_segment.
64325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
64425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2008-01-21  Ulrich Drepper  <drepper@redhat.com>
64525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
64625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c: Minor optimizations.
64725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getattrs.c: Likewise.
64825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames.c: Likewise.
64925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof.c: Likewise.
65025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c: Likewise.
65125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
65225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2008-01-18  Ulrich Drepper  <drepper@redhat.com>
65325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
65425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Don't require exact match
65525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	of DWARF_VERSION comparison, just fail if the file's version is newer.
65625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
65725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2008-01-17  Nick Clifton  <nickc@redhat.com>
65825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
65925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h (DWARF3_LENGTH_MIN_ESCAPE_CODE): New define.
66025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(DWARF3_LENGTH_MAX_ESCAPE_CODE): New define.
66125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(DWARF3_LENGTH_64_BIT): New define.
66225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges (dwarf_getaranges): Use the new definitions.
66325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames: Include dwarf.h.
66425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(get_offsets): Use the new definitions.
66525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Use the new defintions.
66625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c: Include dwarf.h.  Correct comment.
66725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_nextcu): Use the new definitions.
66825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
66925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (DIE_OFFSET_FROM_CU_OFFSET): New macro.
67025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_diecu.c (dwarf_diecu): Use the new macro.
67125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges (dwarf_getaranges): Use the new macro.
67225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c (dwarf_nextcu): Use the new macro.
67325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
67425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames (get_offsets): Replace assertion with test and
67525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	error return.
67625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
67725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Use CUDIE.
67825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
67925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof (dwarf_siblingof): Detect a NULL return pointer.
68025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Set the address in the return structure to the address of the next
68125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	non-sibling die, if there is no sibling and the return pointer is
68225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	not the same as the die pointer.
68325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Expand the description of the dwarf_siblingof prototype.
68425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
68525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c: Fix typo in comment.
68625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
68725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (DWARF_VERSION): Change to 3.
68825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
68925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref.c (__libdw_formref.c): Handle attributes which do
69025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	not have a initialised valp pointer.
69125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
69225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getattrs.c (dwarf_getattrs): Return 1 rather than 0 when
69325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	the end of the attributes is reached.  When the callback fails,
69425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	return the address of the failing attribute, not the address of
69525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	its successor.
69625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Expand the description of the dwarf_getattrs prototype.
69725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
69825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c (__libdw_find_attr): Use the new definition.
69925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_child): Likewise.
70025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c (__libdw_findabbrev): Likewise.
70125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_tag): Likewise.
70225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
70325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2008-01-08  Roland McGrath  <roland@redhat.com>
70425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
70525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (euinclude): Variable removed.
70625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
70725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(libdw.so): Pass -Wl,--enable-new-dtags,-rpath,$(pkglibdir).
70825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
70925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-10-17  Roland McGrath  <roland@redhat.com>
71025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
71125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (__deprecated_attribute__): New macro.
71225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_formref): Mark it deprecated.
71325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref.c (__libdw_formref): New function, broken out of ...
71425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_formref): ... here.  Call it.  Remove INTDEF.
71525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Remove INTDECL.
71625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Declare __libdw_formref.
71725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof.c (dwarf_siblingof): Call __libdw_formref instead.
71825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c: Likewise.  Handle DW_FORM_ref_addr here.
71925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
72025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_form.c (__libdw_form_val_len): Fix DW_FORM_ref_addr result,
72125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	needs to check CU->version.
72225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
72325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_CU): New member `version'.
72425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_findcu): Initialize it.
72525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
72625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c: Return 1 for null entry as first child.
72725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
72825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-10-05  Roland McGrath  <roland@redhat.com>
72925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
73025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (check_section): Punt on SHT_NOBITS sections.
73125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
73225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (__extern_inline): Rename to __libdw_extern_inline.
73325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	[__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Update uses.
73425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
73525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-10-03  Roland McGrath  <roland@redhat.com>
73625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
73725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.130: Add dwfl_build_id_find_elf
73825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and dwfl_build_id_find_debuginfo.
73925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
74025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.130): New version set, inherits from
74125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ELFUTILS_0.127.  Add dwfl_module_build_id, dwfl_module_report_build_id.
74225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
74325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-10-02  Roland McGrath  <roland@redhat.com>
74425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
74525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_visit_scopes.c (classify_die): Return walk for class_type and
74625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	structure_type.
74725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
74825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-08-07  Roland McGrath  <roland@redhat.com>
74925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
75025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes.c (pc_match): Swallow dwarf_haspc error return when
75125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	error code is DWARF_E_NOERROR (0).
75225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
75325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes.c (pc_record): Always bail early if DIE->prune.
75425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Fix typo in __libdw_visit_scopes argument.
75525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
75625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes.c (pc_match): Check dwarf_haspc error return,
75725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	swallow DWARF_E_NO_DEBUG_RANGES but not other errors.
75825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
75925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-07-03  Roland McGrath  <roland@redhat.com>
76025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
76125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (__extern_inline): New macro.
76225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	[__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it.
76325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
76425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-04-16  Roland McGrath  <roland@redhat.com>
76525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
76625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.
76725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
76825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-04-05  Roland McGrath  <roland@redhat.com>
76925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
77025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrcdirs.c: New file.
77125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
77225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_getsrcdirs.
77325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.127): Add it.
77425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
77525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Files_s): New member ndirs.
77625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Don't clobber NDIRLIST to
77725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	zero before we use it to check for DWARF_E_INVALID_DIR_IDX.
77825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Save DIRARRAY in the Dwarf_Files.
77925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
78025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c (dwarf_ranges): Don't sign-extend 32-bit BEGIN
78125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	address to check for all-ones base address entry.  Check directly.
78225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Reported by Sébastien Dugué <sebastien.dugue@bull.net>.
78325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
78425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-03-25  Roland McGrath  <roland@redhat.com>
78525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
78625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (check_section): Return Dwarf * instead of void.
78725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Return NULL when freeing RESULT on error.
78825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(global_read, scngrp_read): Check return value from check_section,
78925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	break out of loop after it has freed RESULT.
79025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(valid_p): Handle null argument.
79125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
79225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-03-12  Roland McGrath  <roland@redhat.com>
79325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
79425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add.
79525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
79625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-03-04  Roland McGrath  <roland@redhat.com>
79725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
79825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.127): New version set, inherits from
79925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ELFUTILS_0.126.  Add dwfl_module_addrsym.
80025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
80125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-02-10  Roland McGrath  <roland@redhat.com>
80225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
80325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h (DW_OP_fbreg): Comment fix.
80425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
80525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2007-02-03  Roland McGrath  <roland@redhat.com>
80625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
80725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getelf.c (dwarf_getelf): Renamed from dwarf_get_elf.
80825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map (ELFUTILS_0.126): New version set, inherits from
80925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	ELFUTILS_0.122.  Move dwarf_getelf there; it was never truly
81025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	exported in the past.
81125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
81225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-12-17  Roland McGrath  <roland@redhat.com>
81325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
81425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_addr): Use zero as base
81525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	address when the CU is missing attributes due to buggy GCC.
81625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
81725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-08-29  Roland McGrath  <roland@redhat.com>
81825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
81925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (CLEANFILES): Add libdw.so.$(VERSION).
82025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
82125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (dwarf_diecu): Add __nonnull_attribute__.
82225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_child): Don't list arg 1 in __nonnull_attribute__.
82325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
82425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_alloc.c (__libdw_allocate): Take new ALIGN argument, make sure
82525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	result is aligned.  Adjust NEWP->remaining here for this allocation.
82625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
82725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(libdw_alloc): Update caller.
82825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
82925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-07-12  Ulrich Drepper  <drepper@redhat.com>
83025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
83125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c: Adjust for internal_function_def removal.
83225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrev.c: Likewise.
83325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c: Likewise.
83425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_form.c: Likewise.
83525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.c: Likewise.
83625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
83725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-06-28  Roland McGrath  <roland@redhat.com>
83825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
83925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Export dwfl_linecu, dwfl_line_comp_dir.
84025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
84125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.122; export dwfl_module_getsymtab and
84225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwfl_module_getsym.
84325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
84425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-05-27  Ulrich Drepper  <drepper@redhat.com>
84525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
84625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add extern "C".
84725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
84825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-05-22  Ulrich Drepper  <drepper@redhat.com>
84925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
85025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c (dwarf_getaranges): Handle files without
85125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	aranges information.
85225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
85325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-05-21  Ulrich Drepper  <drepper@redhat.com>
85425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
85525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs,
85625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_haschildren.
85725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
85825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-02-28  Roland McGrath  <roland@redhat.com>
85925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
86025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*,
86125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_OP_* values, to match DWARF 3.0.  Add new DW_DS_*, DW_END_*
86225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	values from DWARF 3.0.
86325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
86425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2006-02-22  Roland McGrath  <roland@redhat.com>
86525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
86625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.120; export dwfl_version.
86725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
86825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-12-22  Roland McGrath  <roland@redhat.com>
86925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
87025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report.
87125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
87225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-12-12  Roland McGrath  <roland@redhat.com>
87325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
87425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c: Copy CU base address-finding code from
87525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_getlocation.
87625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
87725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-12-09  Roland McGrath  <roland@redhat.com>
87825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
87925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_addr): Add some unlikelys.
88025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Delay CU base lookup until it's needed.
88125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	If CU base lookup fails with no error, flag invalid DWARF.
88225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
88325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-11-25  Roland McGrath  <roland@redhat.com>
88425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
88525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.118; export dwfl_module_register_names.
88625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
88725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-11-15  Roland McGrath  <roland@redhat.com>
88825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
88925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic.
89025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
89125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-11-13  Roland McGrath  <roland@redhat.com>
89225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
89325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.117; export dwfl_module_return_value_location.
89425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
89525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-10-27  Roland McGrath  <roland@redhat.com>
89625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
89725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c (search_range): Fix binary search code;
89825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	don't match end_sequence markers.
89925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
90025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (compare_lines): Sort end_sequence markers
90125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	before normal records at the same address.
90225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence
90325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	marker.
90425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
90525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-10-26  Roland McGrath  <roland@redhat.com>
90625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
90725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func.
90825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_file.c: Renamed to ...
90925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_file.c: ... here.
91025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_col.c: Renamed to ...
91125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_column.c: ... here.
91225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_line.c: Renamed to ...
91325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_decl_line.c: ... here.
91425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_func_line): Renamed to ...
91525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_decl_line): ... this.  Take a Dwarf_Die * argument.
91625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(__libdw_func_intval): Renamed __libdw_attr_intval.
91725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_name.c: File removed.
91825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_lowpc.c: File removed.
91925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_highpc.c: File removed.
92025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_entrypc.c: File removed.
92125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_die.c: File removed.
92225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Updated.
92325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Update decls.
92425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(Dwarf_Func): Type removed.
92525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decls.
92625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf_Func_s): Type removed.
92725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Updated.
92825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
92925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (CUDIE): New macro.
93025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c (dwarf_getlocation_addr): Use it.
93125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise.
93225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c (dwarf_ranges): Likewise.
93325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
93425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c: Renamed to ...
93525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getlocation.c: ... here.
93625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(getloclist): Renamed to getlocation.
93725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_getloclist): Renamed to dwarf_getlocation.
93825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_addrloclists): Renamed to dwarf_getlocation_addr.
93925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Updated.
94025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation.
94125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_addrloclists): Renamed dwarf_getlocation_addr.
94225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(Dwarf_Loc): Renamed Dwarf_Op.
94325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct loc_s): Update use.
94425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Update map.
94525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
94625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c: Use the second line record within the
94725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	function, regardless of its source location data.
94825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
94925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-10-25  Roland McGrath  <roland@redhat.com>
95025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
95125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too.
95225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
95325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints.
95425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
95525b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-10-14  Roland McGrath  <roland@redhat.com>
95625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
95725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_diecu.c (dwarf_diecu): New file.
95825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
95925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_diecu.
96025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Export it.
96125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
96225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.116; export dwarf_ranges.
96325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
96425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-09-20  Roland McGrath  <roland@redhat.com>
96525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
96625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_haspc.c: Use dwarf_ranges.
96725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c: Likewise.
96825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
96925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_ranges.c: New file.
97025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
97125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_ranges.
97225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
97325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
97425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-09-14  Roland McGrath  <roland@redhat.com>
97525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
97625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in
97725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	prologue_end marker scanning loop.
97825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
97925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-09-11  Roland McGrath  <roland@redhat.com>
98025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
98125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Comment typo fix.
98225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
98325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-09-07  Roland McGrath  <roland@redhat.com>
98425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
98525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entry_breakpoints.c: New file.
98625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
98725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_entry_breakpoints.
98825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
98925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_entrypc.c: New file.
99025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
99125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_entrypc.
99225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
99325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
99425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-28  Ulrich Drepper  <drepper@redhat.com>
99525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
99625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
99725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(%.os): Use COMPILE.os.
99825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(COMPILE.os): Filter out gconv options.
99925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
100025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-27  Roland McGrath  <roland@redhat.com>
100125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
100225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes.c (dwarf_getscopes): Rewritten using
100325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	__libdw_visit_scopes.
100425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
100525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes_die.c: New file.
100625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
100725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_getscopes_die.
100825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump to 0.115 and add it.
100925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
101025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct
101125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	containing a DIE and its parent pointer, instead of just Dwarf_Die.
101225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Take two functions for both preorder and postorder visitors.
101325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
101425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf_Die_Chain): New type.
101525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_inline.c: Update uses.
101625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
101725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate.
101825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add INTDEF.
101925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
102025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_name.c (dwarf_func_name): Use dwarf_diename.
102125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
102225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-23  Roland McGrath  <roland@redhat.com>
102325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
102425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
102525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_AT_specification the same as DW_AT_abstract_origin.
102625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
102725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-20  Roland McGrath  <roland@redhat.com>
102825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
102925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwfl_cumodule, remove dwfl_linecu.
103025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address,
103125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and dwfl_report_offline.
103225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
103325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-19  Roland McGrath  <roland@redhat.com>
103425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
103525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes.
103625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add dwfl_module_relocate_address, dwfl_module_relocations,
103725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwfl_module_relocation_info.
103825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
103925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-18  Roland McGrath  <roland@redhat.com>
104025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
104125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as
104225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	outermost scope in the results.
104325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
104425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-15  Roland McGrath  <roland@redhat.com>
104525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
104625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_inline.c: New file.
104725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
104825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances.
104925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add them.
105025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
105125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_die.c: New file.
105225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
105325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_func_die.
105425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add it.  Bump version to ELFUTILS_0.114.
105525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
105625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-10  Ulrich Drepper  <drepper@redhat.com>
105725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
105825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming
105925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	of DW_LNS_set_epilog_begin.
106025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-09  Roland McGrath  <roland@redhat.com>
106225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin.
106425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c: Add INTDEF.
106625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c (dwarf_errmsg): Likewise.
106725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs.
106825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
106925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-08-01  Roland McGrath  <roland@redhat.com>
107025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
107125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset.
107225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
107325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
107425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-07-28  Ulrich Drepper  <drepper@redhat.com>
107525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
107625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw.so): No need to link with libeu.a anymore.
107725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(libdw_a_LIBADD): Add all files from libdwfl.a.
107825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
107925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-07-27  Roland McGrath  <roland@redhat.com>
108025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
108125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in,
108225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	along with ../libebl/libebl.a and ../lib/libeu.a;
108325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	depend on ../libelf/libelf.so.
108425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(libdw_so_LDADD): New variable.
108525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map.
108625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
108725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Define an empty base version and move all symbols to
108825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet.
108925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
109025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-07-23  Ulrich Drepper  <drepper@redhat.com>
109125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
109225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Add internal alias for dwarf_errno.
109325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Declare __dwarf_errno_internal.
109425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c: Use INTDEF for dwarf_errno.
109525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
109625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c [USE_TLS]: Actually use __thread in definition of
109725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	global_error.
109825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
109925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-06-01  Roland McGrath  <roland@redhat.com>
110025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
110125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c (dwarf_getaranges): Sort result array.
110225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search.
110325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
110425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-06-08  Roland McGrath  <roland@redhat.com>
110525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
110625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h (get_uleb128_step, get_uleb128): Remove casts.
110725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(get_sleb128_step, get_sleb128): Likewise.
110825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getattrs.c (dwarf_getattrs): Add consts.
110925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (getloclist): Likewise.
111025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formblock.c (dwarf_formblock): Likewise.
111125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
111225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise.
111325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref.c (dwarf_formref): Likewise.
111425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formsdata.c (dwarf_formsdata): Likewise.
111525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c (dwarf_formudata): Likewise.
111625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_haschildren.c (dwarf_haschildren): Likewise.
111725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise.
111825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c (dwarf_tag): Likewise.
111925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
112025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise.
112125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_form.c (__libdw_form_val_len): Likewise.
112225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Update decl.
112325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
112425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-06-04  Roland McGrath  <roland@redhat.com>
112525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
112625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h (get_uleb128_rest_return): New macro.
112725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	[! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it.
112825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(get_sleb128_rest_return): New macro.
112925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	[! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it.
113025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.c: New file.
113125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
113225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(DEFS): Add -DIS_LIBDW.
113325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
113425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-31  Roland McGrath  <roland@redhat.com>
113525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
113625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
113725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	formref offset.
113825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
113925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-30  Roland McGrath  <roland@redhat.com>
114025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
114125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base
114225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	address if DW_AT_low_pc is missing.  Not to spec, but GCC generates it.
114325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
114425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte
114525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	BEGIN value.  Instead, match base address entries separately for
114625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	32/64 size cases.
114725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
114825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-28  Roland McGrath  <roland@redhat.com>
114925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
115025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance
115125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	past location expression contents.
115225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
115325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-23  Roland McGrath  <roland@redhat.com>
115425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
115525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Comment typo fix.
115625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
115725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation.
115825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (dwarf_addrloclists): Likewise.
115925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-22  Ulrich Drepper  <drepper@redhat.com>
116125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Only use INTDECL for alias prototypes.
116325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-19  Roland McGrath  <roland@redhat.com>
116525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too.
116725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
116825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopevar.c: New file.
116925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
117025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_getscopevar.
117125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
117225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrcfiles.c: Add INTDEF.
117325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_haschildren.c: Likewise.
117425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL.
117525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
117625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getscopes.c: New file.
117725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
117825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_getscopes.
117925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add it.
118025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118125b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-18  Roland McGrath  <roland@redhat.com>
118225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
118325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (IDX_debug_ranges): New enum constant.
118425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges".
118525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant.
118625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c (errmsgs): Add it.
118725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_haspc.c: New file.
118825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_haspc.
118925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add it.
119025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL.
119125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_attr_integrate.c: New file.
119325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_hasattr_integrate.c: New file.
119425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add them.
119525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate.
119625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add them.
119725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
119825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_hasattr.c: Add INTDEF.
119925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add INTDECL for it.
120025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
120125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref_die.c: New file.
120225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add it.
120325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (dwarf_formref_die): Declare it.
120425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (dwarf_formref_die): Add INTDECL.
120525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add it.
120625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
120725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out
120825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	of ...
120925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_getloclist): ... here.  Call them.
121025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_addrloclists): New function.
121125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare it.
121225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add it.
121325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
121425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getmacros.c (dwarf_getmacros): Don't bail at
121525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_MACINFO_end_file.  Recognize type 0 as terminator.
121625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
121725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-05-05  Roland McGrath  <roland@redhat.com>
121825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
121925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search.
122025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since
122225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	the line program does not produce all entries in ascending order.
122325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-25  Ulrich Drepper  <drepper@redhat.com>
122525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple
122725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	occurences (e.g., inlines) better.
122825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
122925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-24  Ulrich Drepper  <drepper@redhat.com>
123025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
123125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h (DWARF_END_ABBREV): Define.
123225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if
123325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	end is reached.
123425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end
123525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	of records reached.
123625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV
123725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	as error of __libdw_getabbrev.
123825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
123925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-04  Ulrich Drepper  <drepper@redhat.com>
124025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
124125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization.
124225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
124325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of
124425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	results back to caller.
124525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
124625b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-04  Roland McGrath  <roland@redhat.com>
124725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
124825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL.
124925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
125025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_line.c (__libdw_func_intval): Use internal_function in
125125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	defn.
125225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
125325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-04  Ulrich Drepper  <drepper@redhat.com>
125425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
125525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE.
125625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
125725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_file.c: New file.
125825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c.
125925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_getsrc_file.
126025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_getsrc_file.
126125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
126225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-02  Ulrich Drepper  <drepper@redhat.com>
126325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
126425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_entrypc.c: New file.
126525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_col.c: New file.
126625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_line.c: New file.
126725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_file.c: New file.
126825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add prototypes for new functions.
126925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line,
127025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_func_file.
127125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c,
127225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c.
127325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_Func_s): Add cudie element.
127425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Declare __libdw_func_intval and __dwarf_formsdata_internal.
127525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object.
127625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs.
127725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
127825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf.h: Add some DWARF3 definitions.
127925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
128025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-04-01  Ulrich Drepper  <drepper@redhat.com>
128125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
128225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getfuncs.c: New file.
128325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_highpc.c: New file.
128425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_lowpc.c: New file.
128525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_func_name.c: New file.
128625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c,
128725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c.
128825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc,
128925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and dwarf_func_name.
129025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add prototypes for new functions.
129125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs.
129225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof.c: Likewise.
129325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_dieoffset.c: Likewise.
129425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_highpc.c: Likewise.
129525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lowpc.c: Likewise.
129625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add prototypes for internal functions.
129725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Define Dwarf_Func_s structure.
129825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
129925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-03-29  Ulrich Drepper  <drepper@redhat.com>
130025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
130125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add padding in Dwarf_die.
130225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
130325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs.
130425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_attr.c: Likewise.
130525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin.c: Likewise.
130625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c: Likewise.
130725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bitoffset.c: Likewise.
130825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bitsize.c: Likewise.
130925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_bytesize.c: Likewise.
131025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_diename.c: Likewise.
131125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formaddr.c: Likewise.
131225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formblock.c: Likewise.
131325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formref.c: Likewise.
131425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formstring.c: Likewise.
131525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formudata.c: Likewise.
131625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getarange_addr.c: Likewise.
131725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getarangeinfo.c: Likewise.
131825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c: Likewise.
131925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c: Likewise.
132025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getmacros.c: Likewise.
132125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_die.c: Likewise.
132225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrcfiles.c: Likewise.
132325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Likewise.
132425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_highpc.c: Likewise.
132525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lowpc.c: Likewise.
132625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c: Likewise.
132725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_offdie.c: Likewise.
132825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof.c: Likewise.
132925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_srclang.c: Likewise.
133025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c: Likewise.
133125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c: Likewise.
133225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add prototypes for internal functions.
133325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
133425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_addrdie.c: New file.
133525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_macro_opcode.c: New file.
133625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_macro_param1.c: New file.
133725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_macro_param2.c: New file.
133825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add declarations.  Move Dwarf_Macro definition to libdwP.h.
133925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Remove Dwarf_Macro definition.
134025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c,
134125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c.
134225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add entries for new functions.
134325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
134425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-03-21  Ulrich Drepper  <drepper@redhat.com>
134525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
134625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Handle broken gcc < 4.
134725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
134825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-02-15  Ulrich Drepper  <drepper@redhat.com>
134925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
135025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
135125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
135225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c: Fix warnings.
135325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_dieoffset.c: Likewise.
135425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c: Likewise.
135525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Likewise.
135625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames.c: Likewise.
135725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
135825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add new error values.
135925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Support new error values.
136025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames.c: Check parameter value.
136125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-02-05  Ulrich Drepper  <drepper@redhat.com>
136325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am: Check for text relocations in constructed DSO.
136525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.
136725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
136825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2005-02-04  Ulrich Drepper  <drepper@redhat.com>
136925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
137025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary
137125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	checks to not read over buffer boundaries for ill-formed DWARF data.
137225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
137325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-09-25  Ulrich Drepper  <drepper@redhat.com>
137425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
137525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_child.c: Make compile with gcc 4.0.
137625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Likewise.
137725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formblock.c: Likewise.
137825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrev.c: Likewise.
137925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getattrs.c: Likewise.
138025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Likewise.
138125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c: Likewise.
138225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_form.c: Likewise.
138325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
138425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-20  Ulrich Drepper  <drepper@redhat.com>
138525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
138625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am: Support building with mudflap.
138725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
138825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c: Fix warnings gcc 3.4 spits out.
138925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Likewise.
139025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_memory-access.h: Likewise.
139125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
139225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-19  Ulrich Drepper  <drepper@redhat.com>
139325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
139425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrcfiles.c: Third parameter can be NULL.
139525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
139625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Define Dwarf_macro.  Declare dwarf_getmacros.
139725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Third parameter of dwarf_getsrcfiles can be NULL.
139825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
139925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_getmacros.
140025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros.
140125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getmacros.c: New file.
140225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
140325b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-18  Ulrich Drepper  <drepper@redhat.com>
140425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
140525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Second parameter of dwarf_getaranges can be NULL.
140625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
140725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c: Return -1 if dwarf parameter is NULL.
140825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
140925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c:
141025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Use read_2ubyte_unaligned_inc instead of _inc-less variant.
141125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c: Allow naranges parameter to be NULL.
141325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (_): Use elfutils domain.
141525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction.
141725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
141825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Fix typo in comment.
141925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142025b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-17  Ulrich Drepper  <drepper@redhat.com>
142125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am: Support building with mudflap.
142325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-16  Ulrich Drepper  <drepper@redhat.com>
142525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h: Add lots of const in case a pointer passed is const.
142725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
142825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formflag.c: New file.
142925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getattrs.c: New file.
143025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Add new error value.
143125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add prototypes for new functions.  Adjust prototype for
143225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_getpubnames.
143325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add new functions.
143425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames.c: Change type of return value and fourth parameter
143525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	to ptrdiff_t.
143625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add new error value.
143725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and
143825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_formflag.c.
143925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
144025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL.
144125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
144225b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-12  Ulrich Drepper  <drepper@redhat.com>
144325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
144425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getarange_addr.c: New file
144525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getarangeinfo.c: New file.
144625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getaranges.c: New file.
144725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_onerange.c: New file.
144825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare new functions.  Define Dwarf_Arange and
144925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Dwarf_Aranges.
145025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add new functions.
145125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add new errors.  Add aranges member to struct Dwarf.
145225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Define Dwarf_Aranges_s and Dwarf_Arange_s.
145325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c,
145425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c.
145525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Add new message.
145625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
145725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-11  Ulrich Drepper  <drepper@redhat.com>
145825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
145925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c,
146025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c,
146125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c.
146225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Add another message.
146325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines
146425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	introduction.
146525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_filesrc.c: Likewise.
146625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrcfiles.c: Likewise.
146725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Likewise.
146825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineaddr.c: New file.
146925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_linebeginstatement.c: New file.
147025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineblock.c: New file.
147125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_linecol.c: New file.
147225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineendsequence.c: New file.
147325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineepiloguebegin.c: New file.
147425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineno.c: New file.
147525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineprologueend.c: New file.
147625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_onesrcline.c: New file.
147725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineno.c: Change interface to store result in object pointed
147825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	to by second parameter.
147925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add prototypes for new functions.  Change dwarf_lineno
148025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	prototype.  Define Dwarf_Files and Dwarf_Lines.
148125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add new functions.
148225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s.
148325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c: Don't initialize nlines field.
148425b3c049e70834cf33790a28643ab058b507b35cBen Cheng
148525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_siblingof: Little optimization.
148625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
148725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin.c: Remember that the ELF descriptor must be closed.
148825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c: Close ELF descriptor if free_elf is set.
148925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf): Add free_elf field.
149025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
149125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and
149225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_offabbrev.c.
149325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getstring.c: New file.
149425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_offabbrev.c: New file.
149525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_getstring and dwarf_offabbrev.
149625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result
149725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	parameters.  Don't allocate memory if not necessary and don't lookup
149825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	previous results if no CU given.
149925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_getabbrev): Adjust call to __libdw_getabbrev.
150025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c: Adjust call to __libdw_getabbrev.
150125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare dwarf_offabbrev and dwarf_getstring.
150225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Change prototype for __libdw_getabbrev.
150325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
150425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getabbrevattr.c: Add offsetp parameter.  Fill in before
150525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	returning if this is wanted.
150625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
150725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-09  Ulrich Drepper  <drepper@redhat.com>
150825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
150925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c: Add new parameter offset_sizep.  Initialize it
151025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	with offset_size value.
151125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Adjust dwarf_nextcu prototype.
151225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h (struct Dwarf_CU): Add offset_size member.
151325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c: Adjust dwarf_nextcu call.  Initialize offset_size
151425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	member of new CU struct.
151525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formstring.c: Depend on offset_size not address_size for
151625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	DW_FORM_strp handling.
151725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr.
151825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
151925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_tag.c (__libdw_findabbrev): Return correct value for
152025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	failing lookup.
152125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_tag): Correctly recognize failed lookup.
152225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
152325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c (cu_free):  Call tdestroy for locs member.  Use new
152425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	function noop_free.
152525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: Add message for DWARF_E_NO_BLOCK.
152625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_formblock.c: New file.
152725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c: Rewrite to handle a single block.
152825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Define Dwarf_Block.  Rename Dwarf_Loc members.  Remove
152925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Dwarf_Locdesc definition.  Declare dwarf_formblock.  Remove
153025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_getloclistent declaration.
153125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_formblock, remove dwarf_getloclistent.
153225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK.
153325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add locs member to struct Dwarf_CU.
153425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_fundcu.c: Initialize locs member of new CU.
153525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c.
153625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Remove dwarf_getloclistent.c.
153725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
153825b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-07  Ulrich Drepper  <drepper@redhat.com>
153925b3c049e70834cf33790a28643ab058b507b35cBen Cheng
154025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Use __nonnull__ attribute only for gcc >= 3.3.
154125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Likewise.
154225b3c049e70834cf33790a28643ab058b507b35cBen Cheng
154325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclist.c: New file.
154425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getloclistent.c: New file.
154525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Define Dwarf_Loc and Dwarf_Locdesc.
154625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Declare dwarf_getloclistent and dwarf_getloclist.
154725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_getloclistent and dwarf_getloclist.
154825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Define DWARF_E_NO_LOCLIST.
154925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and
155025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_getloclist.c.
155125b3c049e70834cf33790a28643ab058b507b35cBen Cheng
155225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c: More error messages.
155325b3c049e70834cf33790a28643ab058b507b35cBen Cheng
155425b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-06  Ulrich Drepper  <drepper@redhat.com>
155525b3c049e70834cf33790a28643ab058b507b35cBen Cheng
155625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Remove debugging support.
155725b3c049e70834cf33790a28643ab058b507b35cBen Cheng
155825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrcfiles.c: New file.
155925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_filesrc.c: New file.
156025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Declare these functions.  Define Dwarf_File.
156125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.c: Adjust Dwarf_File_s definition.
156225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add these functions.
156325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and
156425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_filesrc.c.
156525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: Initialize cu->files.
156625b3c049e70834cf33790a28643ab058b507b35cBen Cheng
156725b3c049e70834cf33790a28643ab058b507b35cBen Cheng2004-01-05  Ulrich Drepper  <drepper@redhat.com>
156825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
156925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Add more nonnull function attributes.
157025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
157125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next.
157225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_end.c (cu_free): New function.
157325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(dwarf_end): Also free CU tree.  Correct freeing of memory blocks.
157425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_error.c (errmsgs): Add new messages.
157525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrc_die.c: New file.
157625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_getsrclines.c: New file.
157725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_lineno.c: New file.
157825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_linesrc.c: New file.
157925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc
158025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	instead of the *_inc-less variants.
158125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.h: Define Dwarf_Line.  Add some function attributes.  Declare
158225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc.
158325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno,
158425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	and dwarf_linesrc.
158525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdwP.h: Add more error codes.
158625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf): Remove mem_tail.next member.
158725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(Dwarf_File): Define type.
158825b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf_Line_s): Define type.
158925b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(struct Dwarf_CU): Add lines and nlines members.
159025b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(libdw_alloc): Define local variable _tail and use it.
159125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	Add some function attributes.
159225b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_alloc.c (__libdw_allocate): Don't initialize next member.
159325b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members.
159425b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* memory-access.h: Add unlikely for the endian conversion paths.
159525b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Makefile.am (AM_CFLAGS): Add -std parameter.
159625b3c049e70834cf33790a28643ab058b507b35cBen Cheng	(libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die,
159725b3c049e70834cf33790a28643ab058b507b35cBen Cheng	dwarf_lineno, and dwarf_linesrc.
159825b3c049e70834cf33790a28643ab058b507b35cBen Cheng
159925b3c049e70834cf33790a28643ab058b507b35cBen Cheng2003-08-11  Ulrich Drepper  <drepper@redhat.com>
160025b3c049e70834cf33790a28643ab058b507b35cBen Cheng
160125b3c049e70834cf33790a28643ab058b507b35cBen Cheng	* Moved to CVS archive.
1602