Home | History | Annotate | Download | only in libdw
      1 2014-12-18  Ulrich Drepper  <drepper (a] gmail.com>
      2 
      3 	* Makefile.am: Suppress output of textrel_check command.
      4 
      5 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
      6 
      7 	* dwarf_getsrclines.c (read_srclines): Check diridx is valid under
      8 	DW_LNE_define_file.
      9 
     10 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
     11 
     12 	* dwarf_getpubnames.c (dwarf_getpubnames): Make sure there is enough
     13 	space to read die offset.
     14 
     15 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
     16 
     17 	* dwarf_getsrclines.c (read_srclines): Correct overflow check for
     18 	unit_length.
     19 
     20 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
     21 
     22 	* dwarf_getpubnames.c (get_offsets): Make sure whole unit fall inside
     23 	section data. Set error to DWARF_E_NO_ENTRY if cnt is zero.
     24 	(dwarf_getpubnames): Make sure section data contains string zero
     25 	terminator.
     26 
     27 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
     28 
     29 	* memory-access.h (__libdw_get_sleb128): Unroll the first step to help
     30 	the compiler optimize for the common single-byte case.
     31 
     32 2014-12-15  Josh Stone  <jistone (a] redhat.com>
     33 
     34 	* memory-access.h (__libdw_max_len_leb128): New.
     35 	(__libdw_get_uleb128): Use __libdw_max_len_leb128.
     36 	(__libdw_get_sleb128): Likewise.
     37 
     38 2014-12-14  Mark Wielaard  <mjw (a] redhat.com>
     39 
     40 	* cfi.c (execute_cfi): Add program bounds checks.
     41 	* dwarf_child.c (__libdw_find_attr): Add attrp bounds checks.
     42 	* dwarf_formblock.c (dwarf_formblock): Call get_uleb128 with endp.
     43 	* dwarf_formref.c (__libdw_formref): Add datap bounds checks.
     44 	* dwarf_formsdata.c (dwarf_formsdata): Likewise.
     45 	* dwarf_formudata.c (dwarf_formudata): Likewise.
     46 	* dwarf_frame_register.c (dwarf_frame_register): Call get_uleb128
     47 	with end of data buf.
     48 	* dwarf_getabbrev.c (__libdw_getabbrev): Add abbrevp bounds checks.
     49 	* dwarf_getabbrevattr.c (dwarf_getabbrevattr): Assume get_uleb128
     50 	call gets enough data.
     51 	* dwarf_getattrs,c (dwarf_getattrs): Call get_uleb128 with endp.
     52 	* dwarf_getlocation.c (store_implicit_value): Call get_uleb128
     53 	with enough data.
     54 	(__libdw_intern_expression): Call get_uleb128/get_sleb128 with
     55 	end_data.
     56 	* dwarf_getmacros.c (get_table_for_offset): Add nforms bounds check.
     57 	* dwarf_getsrclines.c (read_srclines): Bounds check linep and call
     58 	get_uleb128 with lineendp.
     59 	* dwarf_hasattr.c (dwarf_hasattr): Bounds check attrp and call
     60 	get_uleb128 with endp.
     61 	* dwarf_next_cfi.c (dwarf_next_cfi): Bounds check bytes and call
     62 	get_uleb128/get_sleb128 with limit.
     63 	* encoded-value.h (read_encoded_value): Assume get_uleb128 and
     64 	get_sleb128 get called with enough data.
     65 	* fde.c (intern_fde): Call get_uleb128 with instructions_end.
     66 	* libdwP.h (__libdw_dieabbrev): Call get_uleb128 with die->cu->endp.
     67 	* libdw_form.c (__libdw_form_val_compute_len): Call get_uleb128 with
     68 	endp.
     69 	* memory-access.h (__libdw_get_uleb128): Take an extra endp.
     70 	Don't call get_uleb128_step if out of data.
     71 	(__libdw_get_sleb128): Likewise for get_sleb128_step.
     72 
     73 2014-12-12  Mark Wielaard  <mjw (a] redhat.com>
     74 
     75 	* libdwP.h (struct Dwarf): Add fake_loc_cu.
     76 	(cu_data): Removed.
     77 	(DIE_OFFSET_FROM_CU_OFFSET): Don't use cu_data, use cu_sec_idx.
     78 	(__libdw_form_val_compute_len): Drop dbg and endp arguments.
     79 	(__libdw_form_val_len): Likewise.
     80 	* libdw_form.c (__libdw_form_val_compute_len): Likewise.
     81 	* libdw_findcu.c (__libdw_intern_next_unit): Don't use cu_data, use
     82 	the already found data buffer directly.
     83 	* dwarf_begin_elf.c (valid_p): Setup fake_loc_cu.
     84 	* dwarf_end.c (dwarf_end): Free fake_loc_cu.
     85 	* dwarf_child.c (__libdw_find_attr): Call __libdw_form_val_len with
     86 	just cu.
     87 	* dwarf_getattrs.c (dwarf_getattrs): Likewise.
     88 	* dwarf_formblock.c (dwarf_formblock): Add bounds checking.
     89 	* dwarf_getlocation_attr.c (attr_form_cu): New function.
     90 	(dwarf_getlocation_attr): Use attr_form_cu to set result->cu.
     91 	(getlocation): Handle empty blocks immediately.
     92 	* dwarf_getlocation_implicit_pointer.c (empty_cu): New static var.
     93 	(__libdw_empty_loc_attr): Drop cu argument, use empty_cu.
     94 	(dwarf_getlocation_implicit_pointer): Call __libdw_empty_loc_attr with
     95 	one argument.
     96 	* dwarf_getmacros.c (read_macros): Also setup startp and endp for
     97 	fake_cu. Call __libdw_form_val_len with just fake_cu.
     98 	* dwarf_formref_die.c (dwarf_formref_die): Don't use cu_data, get
     99 	datap and size directly from cu startp and endp.
    100 
    101 2014-12-11  Mark Wielaard  <mjw (a] redhat.com>
    102 
    103 	* libdw_findcu.c (__libdw_intern_next_unit): Sanity check offset.
    104 
    105 2014-12-13  Mark Wielaard  <mjw (a] redhat.com>
    106 
    107 	* dwarf_getaranges.c (compare_aranges): Make sure Dwarf_Addr
    108 	difference doesn't wrap around before returning as int.
    109 
    110 2014-12-11  Josh Stone  <jistone (a] redhat.com>
    111 
    112 	* dwarf_getsrclines.c (struct linelist): Add sequence.
    113 	(compare_lines): Take linelists, and break ties by sequence.
    114 	(read_srclines): Use linelists for sorting.
    115 	(read_srclines::add_new_line): Set sequence.
    116 
    117 2014-12-10  Josh Stone  <jistone (a] redhat.com>
    118 
    119 	* libdwP.h (Dwarf_CU): Add startp and endp boundaries.
    120 	* libdw_findcu.c (__libdw_intern_next_unit): Set startp and endp.
    121 	* dwarf_child.c (dwarf_child): Use cu->endp.
    122 	* dwarf_cuoffset.c (dwarf_cuoffset): Use cu->startp.
    123 	* dwarf_dieoffset.c (dwarf_dieoffset): Use cu->startp.
    124 	* dwarf_siblingof.c (dwarf_siblingof): Use both.
    125 
    126 2014-12-10  Josh Stone  <jistone (a] redhat.com>
    127 
    128 	* dwarf_hasattr.c (dwarf_hasattr): Just walk abbrev for presence.
    129 
    130 2014-12-10  Josh Stone  <jistone (a] redhat.com>
    131 
    132 	* libdwP.h (__libdw_dieabbrev): New die->abbrev lookup function.
    133 	* dwarf_child.c (__libdw_find_attr, dwarf_child): Use it.
    134 	* dwarf_getattrs.c (dwarf_getattrs): Likewise.
    135 	* dwarf_haschildren.c (dwarf_haschildren): Likewise.
    136 	* dwarf_tag.c (dwarf_tag): Likewise.
    137 
    138 2014-12-04  Mark Wielaard  <mjw (a] redhat.com>
    139 
    140 	* libdwP.h (__libdw_form_val_compute_len): Add endp argument.
    141 	(__libdw_form_val_len): Likewise and check len doesn't overflow.
    142 	* libdw_form.c (__libdw_form_val_compute_len): Likewise.
    143 	* dwarf_child.c (__libdw_find_attr): Call __libdw_form_val_len
    144 	with endp.
    145 	* dwarf_getattrs.c (dwarf_getattrs): Likewise.
    146 	* dwarf_getmacros.c (read_macros): Likewise and check for errors.
    147 
    148 2014-12-02  Petr Machata  <pmachata (a] redhat.com>
    149 
    150 	* dwarf_getmacros.c (token_from_offset, offset_from_token): New
    151 	helper functions.
    152 	(do_dwarf_getmacros_die): Merge into dwarf_getmacros.
    153 	* libdw.h (DWARF_GETMACROS_START): New macro.
    154 
    155 2014-11-27  Mark Wielaard  <mjw (a] redhat.com>
    156 
    157 	* Makefile.am (libdw.so): Use textrel_check.
    158 
    159 2014-11-27  Mark Wielaard  <mjw (a] redhat.com>
    160 
    161 	* dwarf_getcfi_elf.c (getcfi_gnu_eh_frame): Initialize
    162 	search_table_entries and search_table_encoding.
    163 
    164 2014-11-24  Mark Wielaard  <mjw (a] redhat.com>
    165 
    166 	* dwarf_getsrclines.c (read_srclines): Check line_range is not zero
    167 	before usage.
    168 
    169 2014-11-23  Mark Wielaard  <mjw (a] redhat.com>
    170 
    171 	* dwarf_attr.c (dwarf_attr): Check __libdw_find_attr return value.
    172 	* dwarf_hasattr.c (dwarf_hasattr): Likewise.
    173 	* dwarf_siblingof.c (dwarf_siblingof): Likewise.
    174 
    175 2014-11-23  Mark Wielaard  <mjw (a] redhat.com>
    176 
    177 	* dwarf_getabbrev.c (__libdw_getabbrev): Don't assert on bad DWARF.
    178 	Set libdw errno and return NULL.
    179 
    180 2014-11-24  Mark Wielaard  <mjw (a] redhat.com>
    181 
    182 	* dwarf.h (DW_LANG_C_plus_plus_11): Added.
    183 	(DW_LANG_C11): Likewise.
    184 	(DW_LANG_C_plus_plus_14): Likewise.
    185 	* dwarf_aggregate_size.c (array_size): Handle DW_LANG_C11,
    186 	DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14 and DW_LANG_Go
    187 	lower bound.
    188 	* dwarf_getfuncs.c (dwarf_getfuncs): Set c_cu to true for
    189 	DW_LANG_C11.
    190 
    191 2014-11-26  Mark Wielaard  <mjw (a] redhat.com>
    192 
    193 	* dwarf.h (DW_AT_noreturn): Added.
    194 
    195 2014-11-11  Mark Wielaard  <mjw (a] redhat.com>
    196 
    197 	* dwarf_getsrclines.c (read_srclines): Do address_size comparison
    198 	explicitly as uint8_t.
    199 	(__libdw_getsrclines): Add internal_function to declaration.
    200 
    201 2014-09-10  Petr Machata  <pmachata (a] redhat.com>
    202 
    203 	* dwarf_macro_getparamcnt.c: New file.
    204 	* dwarf_macro_param.c: New file.
    205 	* dwarf_macro_getsrcfiles.c: New file.
    206 	* Makefile.am (libdw_a_SOURCES): Add the new files.
    207 	* libdwP.h (struct files_lines_s): New structure.
    208 	(DWARF_E_INVALID_OPCODE): New enumerator.
    209 	(struct Dwarf): New fields macro_ops, files_lines.
    210 	(Dwarf_Macro_Op_Proto, Dwarf_Macro_Op_Table): New structures for
    211 	keeping macro opcode prototypes in.
    212 	(Dwarf_Macro_s): Redefine from scratch.
    213 	(__libdw_getsrclines, __libdw_getcompdir, libdw_macro_nforms): New
    214 	internal interfaces.
    215 	* dwarf_error.c (errmsgs): Add a message for
    216 	DWARF_E_INVALID_OPCODE.
    217 	* dwarf_end.c (dwarf_end): Destroy struct Dwarf.macro_ops and
    218 	files_lines.
    219 	* libdw.h (dwarf_getmacros_off, dwarf_macro_getparamcnt)
    220 	(dwarf_macro_getsrcfiles, dwarf_macro_param): New public
    221 	interfaces.
    222 	* dwarf_getmacros.c (dwarf_getmacros_off): New function,
    223 	(get_offset_from, macro_op_compare, build_table)
    224 	(init_macinfo_table, get_macinfo_table, get_table_for_offset)
    225 	(cache_op_table, read_macros, gnu_macros_getmacros_off)
    226 	(macro_info_getmacros_off, do_dwarf_getmacros_die): New helper
    227 	functions.
    228 	(dwarf_getmacros): Adjust to dispatch to the new interfaces.
    229 	* dwarf_getsrclines.c (read_srclines): New function with guts
    230 	taken from dwarf_getsrclines.
    231 	(__libdw_getsrclines): Likewise.
    232 	(__libdw_getcompdir, files_lines_compare): New functions.
    233 	(dwarf_getsrclines): Make it dispatch to the new interfaces.
    234 	* dwarf_macro_param1.c (dwarf_macro_param1): Adjust to dispatch to
    235 	the new interfaces.
    236 	* dwarf_macro_param2.c (dwarf_macro_param2): Likewise.
    237 	* libdw.map (ELFUTILS_0.161): New. Add dwarf_getmacros_off,
    238 	dwarf_macro_getsrcfiles, dwarf_macro_getparamcnt, dwarf_macro_param.
    239 
    240 2014-10-06  Mark Wielaard  <mjw (a] redhat.com>
    241 
    242 	* Makefile.am (libdw_a_SOURCES): Add dwarf_peel_type.c.
    243 	* dwarf_aggregate_size.c (get_type): Use dwarf_peel_type.
    244 	(aggregate_size): Likewise. Add old and new version.
    245 	* dwarf_peel_type.c: New file.
    246 	* libdw.h (dwarf_peel_type): New function declaration.
    247 	* libdwP.h (dwarf_peel_type): New internal declaration.
    248 	* libdw.map (ELFUTILS_0.161): New section.
    249 
    250 2014-10-15  Petr Machata  <pmachata (a] redhat.com>
    251 
    252 	* libdwP.h (struct Dwarf_Files_s.cu): Drop field.
    253 	* dwarf_getsrclines.c (dwarf_getsrclines): Don't set it.
    254 
    255 2014-10-05  Mark Wielaard  <mjw (a] redhat.com>
    256 
    257 	* dwarf.h: Add DW_AT_GNU_deleted.
    258 
    259 2014-10-02  Mark Wielaard  <mjw (a] redhat.com>
    260 
    261 	* dwarf_aggregate_size.c (aggregate_size): Return CU address_size
    262 	for sizeless DW_TAG_pointer_type, DW_TAG_reference_type or
    263 	DW_TAG_rvalue_reference_type.
    264 
    265 2014-09-12  Petr Machata  <pmachata (a] redhat.com>
    266 
    267 	* memory-access.h (read_ubyte_unaligned_inc): Allow only 4- and
    268 	8-byte quantities.  Consequently, rename to...
    269 	(read_addr_unaligned_inc): ... this.
    270 	(read_sbyte_unaligned_inc, read_ubyte_unaligned): Drop.
    271 	(read_sbyte_unaligned): Drop.
    272 
    273 2014-09-10  Petr Machata  <pmachata (a] redhat.com>
    274 
    275 	* dwarf_getlocation.c (attr_ok): Also accept
    276 	DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value,
    277 	DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered.
    278 
    279 2014-08-15  Mark Wielaard  <mjw (a] redhat.com>
    280 
    281 	* dwarf_cu_die.c: New file.
    282 	* Makefile.am (libdw_a_SOURCES): Add dwarf_cu_die.c.
    283 	* libdw.h (dwarf_cu_die): New function declaration.
    284 	* libdw.map (ELFUTILS_0.160): Add dwarf_cu_die.
    285 
    286 2014-08-15  Mark Wielaard  <mjw (a] redhat.com>
    287 
    288 	* dwarf_cu_getdwarf.c: New file.
    289 	* Makefile.am (libdw_a_SOURCES): Add dwarf_cu_getdwarf.c.
    290 	* libdw.h (Dwarf_CU): New typedef.
    291 	(dwarf_cu_getdwarf): New function declaration.
    292 	* libdw.map (ELFUTILS_0.160): New. Add dwarf_cu_getdwarf.
    293 
    294 2014-06-18  Mark Wielaard  <mjw (a] redhat.com>
    295 
    296 	* dwarf.h: Remove DW_TAG_mutable_type.
    297 
    298 2014-05-02  Mark Wielaard  <mjw (a] redhat.com>
    299 
    300 	* libdwP.h (__check_build_id): Removed now unused.
    301 
    302 2014-05-01  Mark Wielaard  <mjw (a] redhat.com>
    303 
    304 	* libdwP.h (struct Dwarf): Remove free_alt.
    305 	* dwarf_end.c (dwarf_end): Don't check free_alt, don't end alt_dwarf.
    306 	* dwarf_setalt.c (dwarf_setalt): Don't check or set free_alt.
    307 
    308 2014-04-30  Mark Wielaard  <mjw (a] redhat.com>
    309 
    310 	* libdw.map (ELFUTILS_0.159): Add dwelf_elf_gnu_build_id.
    311 
    312 2014-04-15  Florian Weimer  <fweimer (a] redhat.com>
    313 
    314 	* dwarf_begin_elf.c (__check_build_id, try_debugaltlink)
    315 	(open_debugaltlink): Move to libdwfl.
    316 	(check_section): Do not locate alternate debuginfo.
    317 
    318 2014-04-24  Florian Weimer  <fweimer (a] redhat.com>
    319 
    320 	* libdw.map (ELFUTILS_0.159): Export dwelf_dwarf_gnu_debugaltlink.
    321 
    322 2014-04-22  Florian Weimer  <fweimer (a] redhat.com>
    323 
    324 	* dwarf_getalt.c, dwarf_setalt.c: New files.
    325 	* Makefile.am (libdw_a_SOURCES): Add them.
    326 	* libdw.h (dwarf_getalt, dwarf_setalt): Add function declarations.
    327 	* libdwP.h (dwarf_getalt, dwarf_setalt): Add internal function
    328 	declarations.
    329 	* libdw.map (ELFUTILS_0.159): Export the two new functions.
    330 
    331 2014-04-15  Florian Weimer  <fweimer (a] redhat.com>
    332 
    333 	* libdwP.h (enum IDX_gnu_debugaltlink): New.
    334 	* dwarf_begin_elf.c (dwarf_scnnames): Increase string size and add
    335 	.gnu_debugaltlink.
    336 	(check_section): Obtain .gnu_debugaltlink section from the
    337 	setiondata array.
    338 
    339 2014-04-11  Mark Wielaard  <mjw (a] redhat.com>
    340 
    341 	* libdw.map (ELFUTILS_0.159): New. Add dwelf_elf_gnu_debuglink.
    342 	* Makefile.am (libdw.so): Depend on libdwelf_pic.a.
    343 	(libdwelf_objects): New variable.
    344 	(libdw_a_LIBADD): Add libdwelf objects.
    345 
    346 2014-04-22  Mark Wielaard  <mjw (a] redhat.com>
    347 
    348 	* memory-access.h (get_sleb128_step): Remove undefined behavior
    349 	of left shifting a signed value. Replace it with a multiplication.
    350 
    351 2014-04-13  Mark Wielaard  <mjw (a] redhat.com>
    352 
    353 	* Makefile.am: Remove !MUDFLAP conditions.
    354 
    355 2014-04-09  Mark Wielaard  <mjw (a] redhat.com>
    356 
    357 	* dwarf_begin_elf.c (check_section): Check for unsigned overflow
    358 	before calling malloc to uncompress data.
    359 
    360 2014-03-03  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    361 
    362 	Fix abort() on missing section headers.
    363 	* dwarf_begin_elf.c (check_section): Replace abort call by goto err.
    364 	New label err to return NULL.
    365 
    366 2014-02-05  Josh Stone  <jistone (a] redhat.com>
    367 
    368 	* dwarf_decl_file.c (dwarf_decl_file): Read the idx as unsigned.
    369 	* dwarf_decl_line.c (__libdw_attr_intval): Read the line/column as
    370 	unsigned.  Change the range assert to DWARF_E_INVALID_DWARF.
    371 
    372 2013-12-30  Mark Wielaard  <mjw (a] redhat.com>
    373 
    374 	* libdw.map (ELFUTILS_0.158): Add dwfl_core_file_attach and
    375 	dwfl_linux_proc_attach.
    376 
    377 2013-12-20  Mark Wielaard  <mjw (a] redhat.com>
    378 
    379 	* libdw.map (ELFUTILS_0.158): Add dwfl_getthread_frames.
    380 
    381 2013-12-18  Mark Wielaard  <mjw (a] redhat.com>
    382 
    383 	* libdw.map (ELFUTILS_0.158): Remove dwfl_module_addrsym_elf and
    384 	dwfl_module_getsym_elf. Add dwfl_module_addrinfo and
    385 	dwfl_module_getsym_info.
    386 
    387 2013-12-16  Mark Wielaard  <mjw (a] redhat.com>
    388 
    389 	* libdw.map (ELFUTILS_0.158): Add dwfl_module_getsymtab_first_global.
    390 
    391 2013-12-10  Josh Stone  <jistone (a] redhat.com>
    392 
    393 	* memory-access.h (get_uleb128_rest_return): Removed.
    394 	(get_sleb128_rest_return): Removed.
    395 	(get_uleb128_step): Make this a self-contained block.
    396 	(get_sleb128_step): Ditto, and use a bitfield to extend signs.
    397 	(get_uleb128): Make this wholly implemented by __libdw_get_uleb128.
    398 	(get_sleb128): Make this wholly implemented by __libdw_get_sleb128.
    399 	(__libdw_get_uleb128): Simplify and inline for all callers.
    400 	(__libdw_get_sleb128): Ditto.
    401 	* dwarf_getlocation.c (store_implicit_value): Void the unused uleb128.
    402 	* memory-access.c: Delete file.
    403 	* Makefile.am (libdw_a_SOURCES): Remove it.
    404 	(DEFS): Remove the now unused -DIS_LIBDW.
    405 
    406 2013-12-09  Josh Stone  <jistone (a] redhat.com>
    407 
    408 	* libdw_form.c (__libdw_form_val_compute_len): Renamed function from
    409 	__libdw_form_val_len, now handling only non-constant form lengths.
    410 	* libdwP.h (__libdw_form_val_len): New inlined function.
    411 
    412 2013-12-09  Mark Wielaard  <mjw (a] redhat.com>
    413 
    414 	* dwarf_getlocation.c (__libdw_intern_expression): Handle empty
    415 	location expressions.
    416 	* dwarf_getlocation_attr.c (dwarf_getlocation_attr): When no
    417 	location found, return empty location expression.
    418 	* dwarf_getlocation_implicit_pointer.c
    419 	(dwarf_getlocation_implicit_pointer): Likewise.
    420 	(__libdw_empty_loc_attr): New internal function.
    421 	* libdwP.h (__libdw_empty_loc_attr): Define.
    422 
    423 2013-11-27  Mark Wielaard  <mjw (a] redhat.com>
    424 
    425 	* libdw.map (ELFUTILS_0.158): Add dwfl_module_addrsym_elf and
    426 	dwfl_module_getsym_elf.
    427 
    428 2013-11-26  Mark Wielaard  <mjw (a] redhat.com>
    429 
    430 	* libdw.map (ELFUTILS_0.156): Move dwfl_attach_state, dwfl_pid,
    431 	dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread,
    432 	dwfl_thread_state_registers, dwfl_thread_state_register_pc,
    433 	dwfl_getthreads, dwfl_thread_getframes and dwfl_frame_pc to ...
    434 	(ELFUTILS_0.158): ... here.
    435 
    436 2013-11-09  Mark Wielaard  <mjw (a] redhat.com>
    437 
    438 	* dwarf_getaranges.c (dwarf_getaranges): Read segment_size and
    439 	check that it is zero.
    440 
    441 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    442 
    443 	* cfi.h (struct Dwarf_Frame_s): Make the comment more specific.
    444 	* libdw.map (ELFUTILS_0.156): Add dwfl_attach_state, dwfl_pid,
    445 	dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread,
    446 	dwfl_thread_state_registers, dwfl_thread_state_register_pc,
    447 	dwfl_getthreads, dwfl_thread_getframes and dwfl_frame_pc.
    448 
    449 2013-11-01  Michael Forney  <mforney (a] mforney.org>
    450 
    451 	* Makefile.am (libdwfl_objects): New definition.
    452 	(libdw_a_LIBADD): Use libdwfl_objects.
    453 
    454 2013-11-01  Michael Forney  <mforney (a] mforney.org>
    455 
    456 	* Makefile.am: Use READELF.
    457 
    458 2013-10-30  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    459 
    460 	* libdw.map (ELFUTILS_0.158): New.
    461 
    462 2013-10-10  Mark Wielaard  <mjw (a] redhat.com>
    463 
    464 	* dwarf_getfuncs.c (struct visitor_info): Rename start_offset to
    465 	start_addr and rename last_offset to last_addr. Now both void *.
    466 	(tree_visitor): Use start_add and die_addr instead of start_offset
    467 	and die_offset.
    468 	(dwarf_getfuncs): Use last_addr instead of last_offset.
    469 
    470 2013-10-06  Mark Wielaard  <mjw (a] redhat.com>
    471 
    472 	* cfi.c (execute_cfi): Make sure DW_CFA_expression and
    473 	DW_CFA_val_expression are not used with abi_cfi.
    474 
    475 2013-10-03  Josh Stone  <jistone (a] redhat.com>
    476 
    477 	* dwarf_formref_die.c (dwarf_formref_die): Don't hash the sig8 here.
    478 	* libdw_findcu.c (__libdw_intern_next_unit): Since this never revisits
    479 	a unit, make sure to always hash the sig8 here, so none are missed.
    480 
    481 2013-09-29  Mark Wielaard  <mjw (a] redhat.com>
    482 
    483 	* dwarf_getlocation.c (store_implicit_value): Cast op->number2 to
    484 	uintptr_t before casting to char *.
    485 	(__libdw_intern_expression): Cast data to uintptr_t before casting
    486 	to Dwarf_Word.
    487 	* dwarf_getlocation_attr.c (dwarf_getlocation_attr): Cast
    488 	op->number2 to uintptr_t before casting to char *.
    489 
    490 2013-09-24  Josh Stone  <jistone (a] redhat.com>
    491 
    492 	* libdw_visit_scopes.c (classify_die): Removed.
    493 	(may_have_scopes): New function to replace classify_die.  There's no
    494 	need for full classification; just find tags that may contain scopes.
    495 	(__libdw_visit_scopes): Use a direct tag comparison for imported
    496 	units, and use may_have_scopes to test if recursion is needed.
    497 
    498 2013-09-20  Mark Wielaard  <mjw (a] redhat.com>
    499 
    500 	* dwarf_getfuncs.c (visitor_info): New struct.
    501 	(tree_visitor): New function.
    502 	(dwarf_getfuncs): Use __libdw_visit_scopes with tree_visitor.
    503 	* libdw.h (dwarf_getfuncs): Expand function documentation.
    504 
    505 2013-09-12  Mark Wielaard  <mjw (a] redhat.com>
    506 
    507 	* fde.c (intern_fde): Free fde and set libdw errno when start
    508 	or end could not be read.
    509 
    510 2013-08-24  Mark Wielaard  <mjw (a] redhat.com>
    511 
    512 	* dwarf_getlocation.c (store_implicit_value): Don't take data
    513 	as argument, get block data from op number2. Return false when
    514 	block data length and op number don't match up.
    515 	(__libdw_intern_expression): Store start of block for
    516 	DW_OP_implicit_value and DW_OP_GNU_entry_value instead of
    517 	relative data offset. Also store block start (including length)
    518 	for DW_OP_GNU_const_type. Don't pass data to store_implicit_value.
    519 	* dwarf_getlocation_attr.c: New file.
    520 	* dwarf_getlocation_die.c: Likewise.
    521 	* libdw.h (dwarf_getlocation_die): New function definition.
    522 	(dwarf_getlocation_attr): Likewise.
    523 	* libdwP.h: Declare internal dwarf_getlocation_die.
    524 	* libdw.map (ELFUTILS_0.157): Add dwarf_getlocation_die and
    525 	dwarf_getlocation_attr.
    526 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getlocation_die.c and
    527 	dwarf_getlocation_attr.c.
    528 
    529 2013-08-23  Mark Wielaard  <mjw (a] redhat.com>
    530 
    531 	* dwarf_getlocation.c (attr_ok): Also accept DW_AT_segment.
    532 	(attr_base_address): New function.
    533 	(initial_offset_base): New function.
    534 	(getlocations_addr): New function. Taken from...
    535 	(dwarf_getlocation_addr): here. Use new initial_offset_base and
    536 	getlocations_addr.
    537 	(dwarf_getlocations): New function.
    538 	* libdw.h (dwarf_getlocations): New function definition.
    539 	* libdw.map (ELFUTILS_0.157): New.
    540 
    541 2013-07-02  Mark Wielaard  <mjw (a] redhat.com>
    542 
    543 	* dwarf_getsrclines.c (dwarf_getsrclines): Add new stack allocation
    544 	limit MAX_STACK_ALLOC.  After MAX_STACK_ALLOC lines use malloc in
    545 	NEW_LINE macro.  Free malloced line records if any at the end.
    546 
    547 2013-07-02  Mark Wielaard  <mjw (a] redhat.com>
    548 
    549 	* dwarf_getcfi_elf.c (getcfi_shdr): Check sh_type == SHT_PROGBITS.
    550 
    551 2013-06-26  Mark Wielaard  <mjw (a] redhat.com>
    552 
    553 	* libdw_visit_scopes.c (__libdw_visit_scopes): Don't reject root
    554 	DIEs without children. Return an error whenever dwarf_child or
    555 	dwarf_siblingof return an error. Don't call recurse and increase
    556 	the depth for an imported unit. Walk the children of an imported
    557 	unit as if they are logical children of the parent root DIE.
    558 
    559 2013-05-03  Mark Wielaard  <mjw (a] redhat.com>
    560 
    561 	* dwarf_getsrclines.c (dwarf_getsrclines): Only set end_sequence
    562 	when nlinelist > 0.
    563 
    564 2013-04-28  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    565 
    566 	* libdw.map (ELFUTILS_0.156): New.
    567 
    568 2013-04-24  Mark Wielaard  <mjw (a] redhat.com>
    569 
    570 	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
    571 
    572 2013-04-10  Mark Wielaard  <mjw (a] redhat.com>
    573 
    574 	* dwarf_formref_die.c (dwarf_formref_die): Reference size is only
    575 	equal to address size when we have a DW_FORM_ref_addr for DWARF
    576 	version 2.
    577 
    578 2013-03-25  Mark Wielaard  <mjw (a] redhat.com>
    579 
    580 	* dwarf_getsrclines.c (dwarf_getsrclines): Mark highest address as
    581 	end_sequence.
    582 
    583 2013-03-12  Mark Wielaard  <mjw (a] redhat.com>
    584 
    585 	* dwarf_getsrcfiles.c (dwarf_getsrcfiles): Allow DW_TAG_partial_unit.
    586 	* dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
    587 
    588 2013-02-15  Mark Wielaard  <mjw (a] redhat.com>
    589 
    590 	* dwarf_formstring.c (dwarf_formstring): Check dbg_ret->sectiondata,
    591 	not dbg->sectiondata.
    592 
    593 2013-01-07  Roland McGrath  <roland (a] hack.frob.com>
    594 
    595 	* memory-access.h
    596 	[ALLOW_UNALIGNED] (read_8ubyte_unaligned_noncvt): New macro.
    597 	[!ALLOW_UNALIGNED] (read_8ubyte_unaligned_noncvt): New inline function.
    598 
    599 2012-12-18  Mark Wielaard  <mjw (a] redhat.com>
    600 
    601 	* dwarf_begin_elf.c (valid_p): Call Dwarf_Sig8_Hash_free if invalid.
    602 	(check_section): Likewise on error.
    603 	(scngrp_read): Likewise.
    604 	(dwarf_begin_elf): Likewise.
    605 
    606 2012-10-09  Petr Machata  <pmachata (a] redhat.com>
    607 
    608 	* dwarf_getlocation.c (__libdw_intern_expression): Handle
    609 	DW_OP_GNU_parameter_ref, DW_OP_GNU_convert, DW_OP_GNU_reinterpret,
    610 	DW_OP_GNU_regval_type, DW_OP_GNU_entry_value,
    611 	DW_OP_GNU_deref_type, DW_OP_GNU_const_type.
    612 
    613 2012-10-08  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    614 
    615 	* cfi.c: New include system.h.
    616 	(execute_cfi) (enough_registers): Clear new memory after realloc.
    617 
    618 2012-10-08  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    619 
    620 	* fde.c (__libdw_find_fde): Change <fde != NULL> to likely.  Return
    621 	DWARF_E_NO_MATCH if .eh_frame_hdr points to FDE which is too short for
    622 	searched PC.
    623 
    624 2012-10-08  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    625 
    626 	* dwarf_getlocation.c (__libdw_intern_expression) <cfap>: Make new
    627 	loclist element DW_OP_call_frame_cfa before decoding the opcodes.
    628 	Remove the later DW_OP_call_frame_cfa push to RESULT.
    629 
    630 2012-10-08  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    631 
    632 	Code cleanup.
    633 	* fde.c (binary_search_fde): Remove always true <address >= start>
    634 	conditional.  Move L initialization upwards.
    635 
    636 2012-08-24  Mark Wielaard  <mjw (a] redhat.com>
    637 
    638 	* dwarf_begin_elf.c (check_section): Only probe for dwz multi files
    639 	when ENABLE_DWZ is defined.
    640 	* libdwP.h (__check_build_id): Only declare when ENABLE_DWZ is
    641 	defined.
    642 
    643 2012-08-16  Mark Wielaard  <mjw (a] redhat.com>
    644 
    645 	* Makefile.am (EXTRA_DIST): Add known-dwarf.h.
    646 	* dwarf.h (DW_LANG_Go): Update comment.
    647 	(DW_LANG_Mips_Assembler): Likewise.
    648 
    649 2012-06-27  Mark Wielaard  <mjw (a] redhat.com>
    650 
    651 	* dwarf.h: Add DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt.
    652 	* dwarf_begin.c (dwarf_begin): Add INTDEF.
    653 	* dwarf_begin_elf.c (__check_build_id): New internal_function.
    654 	(try_debugaltlink): New function.
    655 	(open_debugaltlink): Likewise.
    656 	(check_section): Try open_debugaltlink for .gnu_debugaltlink.
    657 	* dwarf_end.c (dwarf_end): Free the alternative Dwarf descriptor if
    658 	necessary.
    659 	* dwarf_error.c (errmsgs): Add DWARF_E_NO_ALT_DEBUGLINK.
    660 	* dwarf_formref.c (__libdw_formref): Using DW_FORM_GNU_ref_alt
    661 	is an error here.
    662 	* dwarf_formref_die.c (dwarf_formref_die): Handle DW_FORM_GNU_ref_alt.
    663 	* dwarf_formstring.c (dwarf_formstring): Handle DW_FORM_GNU_strp_alt.
    664 	* dwarf_formudata.c (__libdw_formptr): Adjust __libdw_read_offset
    665 	calls.
    666 	* dwarf_getpubnames.c (get_offsets): Adjust __libdw_read_offset call.
    667 	* libdwP.h: Add DWARF_E_NO_ALT_DEBUGLINK.
    668 	(struct Dwarf): Add alt_dwarf and free_alt fields.
    669 	(__libdw_read_offset): Add dbg_ret argument, use to check with
    670 	__libdw_offset_in_section.
    671 	(__check_build_id): New function declaration.
    672 	(dwarf_begin): Define as INTDECL.
    673 	* libdw_form.c (__libdw_form_val_len): Handle DW_FORM_GNU_ref_alt
    674 	and DW_FORM_GNU_strp_alt.
    675 
    676 2012-07-19  Mark Wielaard  <mjw (a] redhat.com>
    677 
    678 	* dwarf.h: Add DW_OP_GNU_parameter_ref.
    679 
    680 2012-07-24  Mark Wielaard  <mjw (a] redhat.com>
    681 
    682 	* dwarf.h: Correct spelling of DW_LANG_ObjC.
    683 	* dwarf_aggregate_size.c (array_size): Use correct spelling of
    684 	DW_LANG_ObjC.
    685 
    686 2012-07-24  Mark Wielaard  <mjw (a] redhat.com>
    687 
    688 	* dwarf.h: Add DW_ATE_UTF.
    689 
    690 2012-06-27  Mark Wielaard  <mjw (a] redhat.com>
    691 
    692 	* dwarf.h: Add DW_MACRO_GNU .debug_macro type encodings.
    693 
    694 2012-06-26  Mark Wielaard  <mjw (a] redhat.com>
    695 
    696 	* libdwP.h: Add IDX_debug_macro.
    697 	* dwarf.h: Add DW_AT_GNU_macros.
    698 	* dwarf_begin_elf.c (dwarf_scnnames): Add .debug_macro.
    699 	* dwarf_formudata.c (dwarf_formudata): Recognize DW_AT_GNU_macros.
    700 
    701 2012-04-27  Mark Wielaard  <mjw (a] redhat.com>
    702 
    703 	* libdw/dwarf_highpc.c (dwarf_highpc): Handle DW_AT_high_pc being
    704 	a constant offset from DW_AT_low_pc.
    705 
    706 2012-03-19  Tom Tromey  <tromey (a] redhat.com>
    707 
    708 	* libdw_findcu.c (findcu_cb): Move earlier.
    709 	(__libdw_intern_next_unit): Add new CU to search tree here...
    710 	(__libdw_findcu): ... not here.
    711 
    712 2012-01-31  Mark Wielaard  <mjw (a] redhat.com>
    713 
    714 	* dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset.
    715 
    716 2011-11-31  Mark Wielaard  <mjw (a] redhat.com>
    717 
    718 	* Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
    719 
    720 2011-07-14  Mark Wielaard  <mjw (a] redhat.com>
    721 
    722 	* libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
    723 
    724 2011-05-16  Jakub Jelinek  <jakub (a] redhat.com>
    725 
    726 	* dwarf.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
    727 	DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret):
    728 	New.
    729 
    730 2011-04-26  Mark Wielaard  <mjw (a] redhat.com>
    731 
    732 	* dwarf_child (dwarf_child): Sanity check end of section against
    733 	cu_data () of die->cu.
    734 
    735 2011-03-22  Mark Wielaard  <mjw (a] redhat.com>
    736 
    737 	* dwarf.h: Add DW_TAG_GNU_call_site,
    738 	DW_TAG_GNU_call_site_parameter,
    739 	DW_AT_GNU_call_site_value,
    740 	DW_AT_GNU_call_site_data_value,
    741 	DW_AT_GNU_call_site_target,
    742 	DW_AT_GNU_call_site_target_clobbered,
    743 	DW_AT_GNU_tail_call,
    744 	DW_AT_GNU_all_tail_call_sites,
    745 	DW_AT_GNU_all_call_sites,
    746 	DW_AT_GNU_all_source_call_sites,
    747 	and DW_OP_GNU_entry_value.
    748 
    749 2011-03-10  Petr Machata  <pmachata (a] redhat.com>
    750 
    751 	* libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for
    752 	abbreviation with code 0.
    753 
    754 2011-03-09  Petr Machata  <pmachata (a] redhat.com>
    755 
    756 	* libdw/dwarf_child.c (dwarf_child): Check for section overrun.
    757 
    758 2011-02-23  Roland McGrath  <roland (a] redhat.com>
    759 
    760 	* libdwP.h (struct Dwarf) [USE_ZLIB]: New member sectiondata_gzip_mask.
    761 	Declare __libdw_free_zdata.
    762 	* dwarf_end.c [USE_ZLIB] (__libdw_free_zdata): New function.
    763 	(dwarf_end): Call it.
    764 
    765 	* dwarf_begin_elf.c (valid_p): Likewise.
    766 	(check_section, scngrp_read): Likewise.
    767 	(check_section) [USE_ZLIB]: Grok .z* flavors of sections.
    768 
    769 2010-10-13  Roland McGrath  <roland (a] redhat.com>
    770 
    771 	* dwarf.h: Add DW_LANG_Go.
    772 
    773 2010-10-05  Roland McGrath  <roland (a] redhat.com>
    774 
    775 	* dwarf_getaranges.c: Use malloc rather than alloca,
    776 	since the total number of elements can be quite huge.
    777 
    778 2010-07-26  Roland McGrath  <roland (a] redhat.com>
    779 
    780 	* dwarf_getlocation_implicit_pointer.c: New file.
    781 	* Makefile.am (libdw_a_SOURCES): Add it.
    782 	* libdw.map (ELFUTILS_0.149): New set.
    783 	Add dwarf_getlocation_implicit_pointer.
    784 	* libdw.h: Declare it.
    785 
    786 	* dwarf_offdie.c (do_offdie): Renamed to __libdw_offdie, made global.
    787 	(dwarf_offdie, dwarf_offdie_types): Update callers.
    788 	* libdwP.h: Declare it.
    789 
    790 	* dwarf.h: Add DW_OP_GNU_implicit_pointer.
    791 	* dwarf_getlocation.c (__libdw_intern_expression): Handle it.
    792 
    793 2010-08-24  Roland McGrath  <roland (a] redhat.com>
    794 
    795 	* libdw.map (ELFUTILS_0.149): New set.  Add dwfl_dwarf_line.
    796 
    797 2010-07-27  Roland McGrath  <roland (a] redhat.com>
    798 
    799 	* dwarf_formref_die.c: Fix sig8 hash insertion.
    800 
    801 2010-06-23  Roland McGrath  <roland (a] redhat.com>
    802 
    803 	* cfi.c (dwarf_cfi_validate_fde): Function removed.
    804 	* libdw.h: Remove it.
    805 	* libdw.map: Likewise.
    806 
    807 2010-06-22  Roland McGrath  <roland (a] redhat.com>
    808 
    809 	* dwarf_getlocation.c (check_constant_offset): data[48] are constant.
    810 
    811 	* dwarf_getsrclines.c: Fix signed comparison warning in extended
    812 	opcode parsing.
    813 
    814 2010-06-21  Roland McGrath  <roland (a] redhat.com>
    815 
    816 	* dwarf.h: Add DW_TAG_GNU_* constants.
    817 
    818 	* memory-access.h (get_sleb128_rest_return): Fix sign extension for
    819 	10-byte case.
    820 
    821 2010-06-20  Roland McGrath  <roland (a] redhat.com>
    822 
    823 	* libdw_findcu.c (__libdw_findcu): Take new flag argument,
    824 	to search TUs instead of CUs.
    825 	* libdwP.h: Update decl.
    826 	(struct Dwarf): New member tu_tree.
    827 	* dwarf_end.c (dwarf_end): Clean up tu_tree.
    828 	* dwarf_offdie.c (do_offdie): New function, broken out of ...
    829 	(dwarf_offdie): ... here.
    830 	(dwarf_offdie_types): New function.
    831 	* libdw.h: Declare it.
    832 	* libdw.map (ELFUTILS_0.148): Add it.
    833 
    834 	* libdwP.h (CUDIE): Use cu_data.
    835 	* dwarf_formblock.c: Likewise.
    836 	* dwarf_formref_die.c: Likewise.
    837 	* dwarf_diecu.c: Use CUDIE macro.
    838 	* dwarf_formaddr.c: Use cu_sec_idx.
    839 
    840 2010-06-16  Roland McGrath  <roland (a] redhat.com>
    841 
    842 	* dwarf_formref_die.c: Use dwarf_offdie only for DW_FORM_ref_addr, so
    843 	we don't repeat a CU lookup we've already done.  Handle
    844 	DW_FORM_ref_sig8 using sig8_hash table and __libdw_intern_next_unit.
    845 
    846 	* libdw_findcu.c (__libdw_intern_next_unit): New function,
    847 	broken out of ...
    848 	(__libdw_findcu): ... here.  Call it.
    849 	* libdwP.h: Declare it.
    850 	(struct Dwarf): New member next_tu_offset.
    851 
    852 	* dwarf_sig8_hash.c: New file.
    853 	* dwarf_sig8_hash.h: New file.
    854 	* Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them.
    855 	* dwarf_abbrev_hash.c: Include dwarf_sig8_hash.h before
    856 	defining NO_UNDEF.
    857 	* libdwP.h (struct Dwarf): New member sig8_hash.
    858 	* dwarf_begin_elf.c: Call Dwarf_Sig8_Hash_init on it.
    859 	* dwarf_end.c: Call Dwarf_Sig8_Hash_free on it.
    860 
    861 	* dwarf_nextcu.c (dwarf_next_unit): New function, broken out of ...
    862 	(dwarf_nextcu): ... here.  Call it.
    863 	* libdw.h: Declare it.
    864 	* libdwP.h: Add INTDECL.
    865 	* libdw_findcu.c (__libdw_findcu): Use it instead of dwarf_nextcu.
    866 	* libdw.map (ELFUTILS_0.148): New set, add dwarf_next_unit.
    867 
    868 	* libdwP.h (cu_sec_idx, cu_data): New functions.
    869 	Use .debug_types when CU is a TU.
    870 	* dwarf_cuoffset.c: Use that instead of assuming IDX_debug_info.
    871 	* dwarf_siblingof.c: Likewise.
    872 	* dwarf_formstring.c: Likewise.
    873 	* dwarf_formudata.c (__libdw_formptr, dwarf_formudata): Likewise.
    874 	* dwarf_getlocation.c (dwarf_getlocation): Likewise.
    875 	(dwarf_getlocation_addr): Likewise.
    876 
    877 	* libdwP.h (struct Dwarf_CU): Add new members type_offset, type_sig8.
    878 	(DIE_OFFSET_FROM_CU_OFFSET): Take flag argument; if true, compute
    879 	.debug_types header size instead of .debug_info header size.
    880 	(CUDIE): Use it.
    881 	* dwarf_diecu.c: Update caller.
    882 	* dwarf_getaranges.c: Likewise.
    883 	* dwarf_nextcu.c: Likewise.
    884 	* libdw_findcu.c (__libdw_findcu): Initialize new members.
    885 
    886 	* fde.c (fde_by_offset): Renamed to ...
    887 	(__libdw_fde_by_offset): ... this, made global and internal_function.
    888 	Don't take ADDRESS argument.
    889 	(__libdw_find_fde): Update caller.  Do address sanity check here.
    890 	* cfi.h: Declare __libdw_fde_by_offset.
    891 	* cfi.c (dwarf_cfi_validate_fde): New function.
    892 	* libdw.h: Declare it.
    893 	* libdw.map (ELFUTILS_0.148): Add it.
    894 
    895 	* cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to
    896 	either DW_EH_PE_udata8 or DW_EH_PE_udata4.
    897 
    898 	* encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect.
    899 	Don't assume DW_EH_PE_aligned refers to native address size.
    900 
    901 	* cfi.c (execute_cfi): Barf on CIE initial instructions changing the
    902 	address.
    903 
    904 2010-06-17  Roland McGrath  <roland (a] redhat.com>
    905 
    906 	* libdwP.h (struct Dwarf_Line_s): Add members isa, discriminator, and
    907 	op_index.
    908 	* dwarf_getsrclines.c (dwarf_getsrclines): Move NEW_FILE macro guts
    909 	into an inner inline function.  Set new fields.  Check all fields for
    910 	overflow when setting.
    911 	* dwarf_lineisa.c: New file.
    912 	* dwarf_linediscriminator.c: New file.
    913 	* dwarf_lineop_index.c: New file.
    914 	* Makefile.am (libdw_a_SOURCES): Add them.
    915 	* libdw.map (ELFUTILS_0.148): Add them.
    916 	* libdw.h: Declare them.
    917 
    918 2010-06-16  Roland McGrath  <roland (a] redhat.com>
    919 
    920 	* dwarf_next_cfi.c: Fix version 4 return_address_register decoding.
    921 
    922 	* fde.c (fde_by_offset): Renamed to ...
    923 	(__libdw_fde_by_offset): ... this, made global and internal_function.
    924 	Don't take ADDRESS argument.
    925 	(__libdw_find_fde): Update caller.  Do address sanity check here.
    926 	* cfi.h: Declare __libdw_fde_by_offset.
    927 	* cfi.c (dwarf_cfi_validate_fde): New function.
    928 	* libdw.h: Declare it.
    929 	* libdw.map (ELFUTILS_0.148): Add it.
    930 
    931 	* cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to
    932 	either DW_EH_PE_udata8 or DW_EH_PE_udata4.
    933 
    934 	* encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect.
    935 	Don't assume DW_EH_PE_aligned refers to native address size.
    936 
    937 	* cfi.c (execute_cfi): Barf on CIE initial instructions changing the
    938 	address.
    939 
    940 2010-06-15  Roland McGrath  <roland (a] redhat.com>
    941 
    942 	* dwarf_formref.c (__libdw_formref): Diagnose DW_FORM_ref_sig8 like
    943 	DW_FORM_ref_addr.
    944 	* dwarf_formref_die.c (dwarf_formref_die): Diagnose it the same way
    945 	here, since we don't support it yet.
    946 
    947 	* dwarf_next_cfi.c: Handle version 4 format.
    948 
    949 	* dwarf_getsrclines.c: Handle version 4 format.
    950 
    951 2010-06-01  Roland McGrath  <roland (a] redhat.com>
    952 
    953 	* libdwP.h: Remove unused IDX_debug_*names, add IDX_debug_types.
    954 	* dwarf_begin_elf.c (dwarf_scnnames): Likewise.
    955 
    956 	* libdwP.h (CIE_VERSION): Remove unused macro.
    957 
    958 	* dwarf_getsrclines.c: Fix version field test.
    959 	* libdwP.h (DWARF_VERSION): Remove useless macro.
    960 
    961 	* dwarf_formudata.c (__libdw_formptr): Fix DW_FORM_sec_offset handling.
    962 
    963 	* dwarf_formblock.c (dwarf_formblock): Handle DW_FORM_exprloc.
    964 
    965 	* libdw_findcu.c (__libdw_findcu): Accept version 4.
    966 
    967 2010-05-31  Mark Wielaard  <mjw (a] redhat.com>
    968 
    969 	* cfi.h (dwarf_cfi_cie_p): Move definition from here, to ..
    970 	* libdw.h (dwarf_cfi_cie_p): ... here.
    971 
    972 2010-05-31  Mark Wielaard  <mjw (a] redhat.com>
    973 
    974 	* dwarf.h: Fix DW_LANG_Python constant.
    975 
    976 2010-05-28  Eduardo Santiago  <santiago (a] redhat.com>
    977 
    978 	* dwarf_getlocation.c (dwarf_getlocation): Do attr_ok check first
    979 	thing.
    980 
    981 2010-05-27  Roland McGrath  <roland (a] redhat.com>
    982 
    983 	* dwarf.h: Add DW_AT_enum_class, DW_AT_linkage_name,
    984 	DW_TAG_template_alias, DW_LANG_Python, DW_LNE_set_discriminator.
    985 
    986 2010-05-08  Roland McGrath  <roland (a] redhat.com>
    987 
    988 	* dwarf_getlocation.c (__libdw_intern_expression): Take new argument
    989 	REF_SIZE.  Use that to handle DW_OP_call_ref correctly.
    990 	(getlocation): Update caller.
    991 	* dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise.
    992 	* dwarf_frame_register.c (dwarf_frame_register): Likewise.
    993 	* libdwP.h: Update decl.
    994 
    995 2010-04-26  Roland McGrath  <roland (a] redhat.com>
    996 
    997 	* cfi.h (struct Dwarf_Frame_s): Add cfa_invalid alternative in cfa_rule.
    998 	* cfi.c (execute_cfi): Set that instead of doing cfi_assert for
    999 	DW_CFA_def_cfa_{offset*,register} when a non-offset rule is in force.
   1000 	* dwarf_frame_cfa.c (dwarf_frame_cfa): Handle cfa_invalid.
   1001 
   1002 	* dwarf_getlocation.c (__libdw_intern_expression): Take new arg CFAP.
   1003 	Prepend DW_OP_call_frame_cfa if true.
   1004 	(getlocation): Update caller.
   1005 	* dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise.
   1006 	* dwarf_frame_register.c (dwarf_frame_register): Likewise.
   1007 	* libdwP.h: Update decl.
   1008 
   1009 2010-04-22  Roland McGrath  <roland (a] redhat.com>
   1010 
   1011 	* cfi.c (execute_cfi): Never return without cleanup.
   1012 	Free FS on failure.
   1013 	(cie_cache_initial_state): Adjust caller to expect that free.
   1014 	(__libdw_frame_at_address): Likewise.
   1015 
   1016 2010-03-10  Roland McGrath  <roland (a] redhat.com>
   1017 
   1018 	* libdw.map (ELFUTILS_0.146): New set.  Add dwfl_core_file_report.
   1019 
   1020 2010-02-15  Roland McGrath  <roland (a] redhat.com>
   1021 
   1022 	* Makefile.am: Use config/eu.am for common stuff.
   1023 
   1024 2010-02-02  Mark Wielaard  <mjw (a] redhat.com>
   1025 
   1026 	* fde.c (intern_fde): Fix length check for sized_augmentation_data.
   1027 
   1028 2010-01-07  Roland McGrath  <roland (a] redhat.com>
   1029 
   1030 	* dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum.
   1031 
   1032 2010-01-05  Roland McGrath  <roland (a] redhat.com>
   1033 
   1034 	* dwarf_aggregate_size.c: New file.
   1035 	* Makefile.am (libdw_a_SOURCES): Add it.
   1036 	* libdw.h: Declare it.
   1037 	* libdwP.h: Add INTDECL.
   1038 	* libdw.map (ELFUTILS_0.144): New set.  Add dwarf_aggregate_size.
   1039 
   1040 	* dwarf_srclang.c: Add INTDEF.
   1041 	* libdwP.h: Add INTDECL.
   1042 
   1043 	* dwarf.h: Add some more DW_AT_GNU_* types from gcc.
   1044 
   1045 	* dwarf.h: Add DW_AT_GNU_vector, DW_AT_GNU_template_name.
   1046 
   1047 2009-11-21  Roland McGrath  <roland (a] redhat.com>
   1048 
   1049 	* dwarf_getlocation.c (check_constant_offset): Return 1 for all
   1050 	non-constant forms.
   1051 
   1052 2009-10-15  Roland McGrath  <roland (a] redhat.com>
   1053 
   1054 	* libdw_form.c (__libdw_form_val_len): Grok DW_FORM_sec_offset,
   1055 	DW_FORM_exprloc, DW_FORM_flag_present, and DW_FORM_ref_sig8.
   1056 
   1057 2009-09-17  Roland McGrath  <roland (a] redhat.com>
   1058 
   1059 	* dwarf_getlocation.c (dwarf_getlocation_implicit_value): Make OP
   1060 	argument a pointer to const.
   1061 	* libdw.h: Update decl.
   1062 
   1063 2009-09-10  Roland McGrath  <roland (a] redhat.com>
   1064 
   1065 	* dwarf_getlocation.c (store_implicit_value): New function.
   1066 	(__libdw_intern_expression): Use it, handle DW_OP_implicit_value.
   1067 	(dwarf_getlocation_implicit_value): New function.
   1068 	* libdw.h: Declare it.
   1069 	* libdw.map (ELFUTILS_0.143): Add it.
   1070 
   1071 2009-09-09  Mark Wielaard  <mjw (a] redhat.com>
   1072 
   1073 	* dwarf_getcfi.c (dwarf_getcfi): Clear cfi->ebl.
   1074 
   1075 2009-08-21  Josh Stone  <jistone (a] redhat.com>
   1076 
   1077 	* dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
   1078 
   1079 2009-08-10  Roland McGrath  <roland (a] redhat.com>
   1080 
   1081 	* dwarf_getscopevar.c: Use dwarf_diename.
   1082 
   1083 2009-08-09  Roland McGrath  <roland (a] redhat.com>
   1084 
   1085 	* libdw.map (ELFUTILS_0.143): New version set,
   1086 	inherits from ELFUTILS_0.142.
   1087 	* dwarf_arrayorder.c: Use OLD_VERSION and NEW_VERSION to define an
   1088 	alias in the ELFUTILS_0.122 version set and the default in the new set.
   1089 	* dwarf_srclang.c: Likewise.
   1090 	* dwarf_decl_file.c: Likewise.
   1091 	* dwarf_decl_line.c: Likewise.
   1092 	* dwarf_decl_column.c: Likewise.
   1093 	* dwarf_bytesize.c: Likewise.
   1094 	* dwarf_bitsize.c: Likewise.
   1095 	* dwarf_bitoffset.c: Likewise.
   1096 
   1097 2009-08-07  Roland McGrath  <roland (a] redhat.com>
   1098 
   1099 	* dwarf_arrayorder.c: Use dwarf_attr_integrate.
   1100 	* dwarf_srclang.c: Likewise.
   1101 	* dwarf_decl_file.c: Likewise.
   1102 	* dwarf_decl_line.c (__libdw_attr_intval): Likewise.
   1103 	* dwarf_bytesize.c: Likewise.
   1104 	* dwarf_bitsize.c: Likewise.
   1105 	* dwarf_bitoffset.c: Likewise.
   1106 
   1107 2009-07-22  Roland McGrath  <roland (a] redhat.com>
   1108 
   1109 	* dwarf_frame_cfa.c: Change calling convention.
   1110 	* libdw.h: Update decl.
   1111 
   1112 	* dwarf_frame_register.c: Change calling/return-value convention for
   1113 	value-only results and undefined/same_value.
   1114 	* libdw.h: Update decl.
   1115 
   1116 	* dwarf_getlocation.c (__libdw_intern_expression): Take new bool
   1117 	argument, append DW_OP_stack_value if set.  Don't take NOPS argument,
   1118 	return that value instead.
   1119 	(getlocation): Update caller.
   1120 	* dwarf_frame_cfa.c: Likewise.
   1121 	* libdwP.h: Update decl.
   1122 
   1123 2009-07-21  Roland McGrath  <roland (a] redhat.com>
   1124 
   1125 	* dwarf_getsrc_file.c: Ignore a CU that just has no DW_AT_stmt_list.
   1126 	Fix loop iteration after skipping a bogus or useless CU.
   1127 
   1128 	* dwarf_entry_breakpoints.c: Handle 0 dwarf_errno () as harmless
   1129 	absence, not DWARF_E_NO_DEBUG_LINE.
   1130 
   1131 2009-07-20  Roland McGrath  <roland (a] redhat.com>
   1132 
   1133 	* dwarf_getlocation.c (__libdw_intern_expression):
   1134 	Handle DW_OP_stack_value.
   1135 
   1136 2009-07-16  Roland McGrath  <roland (a] redhat.com>
   1137 
   1138 	* dwarf_formudata.c (__libdw_formptr): Handle DW_FORM_sec_offset,
   1139 	reject others when CU's version > 3.
   1140 
   1141 	* dwarf_formflag.c: Handle DW_FORM_flag_present.
   1142 
   1143 	* dwarf.h: Add DW_OP_{implicit,stack}_value from DWARF 4 draft.
   1144 	Also DW_TAG_type_unit and DW_TAG_rvalue_reference_type.
   1145 	Also DW_AT_signature, DW_AT_main_subprogram, DW_AT_data_bit_offset,
   1146 	and DW_AT_const_expr.
   1147 	Also DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present,
   1148 	and DW_FORM_ref_sig8.
   1149 
   1150 2009-07-15  Roland McGrath  <roland (a] redhat.com>
   1151 
   1152 	* dwarf_getlocation.c: Grok DW_OP_form_tls_address,
   1153 	DW_OP_GNU_push_tls_address, and DW_OP_bit_piece.
   1154 
   1155 2009-07-13  Roland McGrath  <roland (a] redhat.com>
   1156 
   1157 	* dwarf_getlocation.c: Grok DW_OP_call_frame_cfa.
   1158 
   1159 2009-07-08  Roland McGrath  <roland (a] redhat.com>
   1160 
   1161 	* libdw.map (ELFUTILS_0.142): Add dwfl_module_dwarf_cfi,
   1162 	dwfl_module_eh_cfi.
   1163 
   1164 	* libdwP.h (struct Dwarf): Add member `cfi'.
   1165 	* dwarf_end.c (dwarf_end): Call __libdw_destroy_frame_cache on it.
   1166 	* dwarf_getcfi.c: New file.
   1167 	* dwarf_getcfi_elf.c: New file.
   1168 	* dwarf_cfi_end.c: New file.
   1169 	* dwarf_cfi_addrframe.c: New file.
   1170 	* dwarf_frame_cfa.c: New file.
   1171 	* dwarf_frame_register.c: New file.
   1172 	* dwarf_frame_return_address_register.c: New file.
   1173 	* Makefile.am (libdw_a_SOURCES): Add them.
   1174 	* unwind.h: Declare those functions.
   1175 	* libdw.map (ELFUTILS_0.142): Export them.
   1176 
   1177 	* dwarf_getlocation.c (__libdw_intern_expression): New function,
   1178 	broken out of ...
   1179 	(getlocation): ... here, call it.
   1180 	* libdwP.h: Declare it.
   1181 
   1182 	* cie.c: New file.
   1183 	* fde.c: New file.
   1184 	* frame-cache.c: New file.
   1185 	* cfi.c: New file.
   1186 	* cfi.h: New file.
   1187 	* encoded-value.h: New file.
   1188 	* Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them.
   1189 	* libdwP.h: Add DWARF_E_INVALID_CFI to errors enum.
   1190 	* dwarf_error.c (errmsgs): Add element for it.
   1191 
   1192 	* dwarf_next_cfi.c: New file.
   1193 	* Makefile.am (libdw_a_SOURCES): Add it.
   1194 	* libdw.h (Dwarf_CIE, Dwarf_FDE, Dwarf_CIE_Entry): New types.
   1195 	Declare dwarf_next_cfi.
   1196 	* libdw.map (ELFUTILS_0.142): New set, inherits from ELFUTILS_0.136.
   1197 	Add dwarf_next_cfi.
   1198 
   1199 	* memory-access.h [! ALLOW_UNALIGNED]
   1200 	(read_2ubyte_unaligned): Renamed to ...
   1201 	(read_2ubyte_unaligned_1): ... this.  Take bool rather than Dwarf *.
   1202 	(read_2ubyte_unaligned): Define as macro passing dbg->other_byte_order.
   1203 	(read_2sbyte_unaligned): Likewise.
   1204 	(read_4ubyte_unaligned): Likewise.
   1205 	(read_4sbyte_unaligned): Likewise.
   1206 	(read_8ubyte_unaligned): Likewise.
   1207 	(read_8sbyte_unaligned): Likewise.
   1208 
   1209 	* libdwP.h (IDX_eh_frame): Remove it.
   1210 	* dwarf_begin_elf.c (dwarf_scnnames): Remove its element.
   1211 
   1212 2009-07-08  Roland McGrath  <roland (a] redhat.com>
   1213 
   1214 	* libdwP.h (struct Dwarf_Line_s): Reorder members to pack better.
   1215 
   1216 	* dwarf_getlocation.c (check_constant_offset): New function.
   1217 	(dwarf_getlocation, dwarf_getlocation_addr): Call it to
   1218 	handle DW_AT_data_member_location of data[48] as constant offset.
   1219 
   1220 2009-06-18  Roland McGrath  <roland (a] redhat.com>
   1221 
   1222 	* libdwP.h (__libdw_read_address_inc): Constify.
   1223 	(__libdw_read_offset_inc): Likewise.
   1224 	* dwarf_getaranges.c: Likewise.
   1225 	* dwarf_getlocation.c: Likewise.
   1226 	* dwarf_getsrclines.c: Likewise.
   1227 	* dwarf_nextcu.c: Likewise.
   1228 
   1229 2009-05-05  Petr Machata  <pmachata (a] redhat.com>
   1230 
   1231 	* libdwP.h (__libdw_formptr): Declare new function.
   1232 	* dwarf_formudata.c: Implement it here.
   1233 	* dwarf_getlocation.c (dwarf_getlocation_addr):
   1234 	Call it instead of hand-rolled offset handling code.
   1235 	* dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
   1236 	* dwarf_ranges.c (dwarf_ranges): Likewise.
   1237 
   1238 2009-05-04  Petr Machata  <pmachata (a] redhat.com>
   1239 
   1240 	* libdwP.h (__libdw_read_begin_end_pair_inc): Declare new function.
   1241 	* dwarf_ranges.c: Implement it here.
   1242 	(dwarf_ranges): Call it.
   1243 	* dwarf_getlocation.c (dwarf_getlocation_addr): Call it also here.
   1244 
   1245 2009-04-23  Petr Machata  <pmachata (a] redhat.com>
   1246 
   1247 	* dwarf_formaddr.c (dwarf_formaddr): Call __libdw_read_* instead
   1248 	of read_*ubyte_unaligned.
   1249 	* dwarf_formref_die.c (dwarf_formref_die): Likewise.
   1250 	* dwarf_formstring.c (dwarf_formstring): Likewise.
   1251 	* dwarf_formudate.c (dwarf_formudata): Likewise.
   1252 	* dwarf_getaranges.c (dwarf_getaranges): Likewise.
   1253 	* dwarf_getlocation.c (dwarf_getlocation_addr): Likewise.
   1254 	* dwarf_getpubnames.c (get_offsets): Likewise.
   1255 	* dwarf_nextcu.c (dwarf_nextcu): Likewise.
   1256 
   1257 2009-04-23  Petr Machata  <pmachata (a] redhat.com>
   1258 
   1259 	* libdwP.h (__libdw_read_addr_inc, __libdw_read_off_inc,
   1260 	__libdw_read_addr, __libdw_read_off): Add four new internal
   1261 	functions.
   1262 
   1263 2009-05-07  Roland McGrath  <roland (a] redhat.com>
   1264 
   1265 	* dwarf_getmacros.c (dwarf_getmacros): Use absolute section offset in
   1266 	return value and OFFSET argument, not CU-relative.  Only fetch the
   1267 	attribute data when called with OFFSET of 0.
   1268 
   1269 2009-05-07  Petr Machata  <pmachata (a] redhat.com>
   1270 
   1271 	* dwarf_getmacros.c (dwarf_getmacros): Take into account offset in
   1272 	DW_AT_macro_info attribute of CU DIE.
   1273 
   1274 2009-04-15  Roland McGrath  <roland (a] redhat.com>
   1275 
   1276 	* dwarf.h (DW_CIE_ID): Removed.
   1277 	(DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it.
   1278 
   1279 2009-04-01  Roland McGrath  <roland (a] redhat.com>
   1280 
   1281 	* dwarf.h: Add DW_CFA_GNU_negative_offset_extended.
   1282 
   1283 2009-01-28  Roland McGrath  <roland (a] redhat.com>
   1284 
   1285 	* libdwP.h (struct Dwarf_Line_s): Move out of struct Dwarf_Lines_s
   1286 	defn so C++ doesn't scope the name to not match the Dwarf_Line typedef.
   1287 
   1288 	* libdwP.h (struct Dwarf_Files_s): Replace dbg field with cu field.
   1289 
   1290 2009-01-26  Roland McGrath  <roland (a] redhat.com>
   1291 
   1292 	* dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all.
   1293 
   1294 2009-01-25  Roland McGrath  <roland (a] redhat.com>
   1295 
   1296 	* dwarf_getattrs.c: Correctly skip attribute values when restarting.
   1297 
   1298 2009-01-23  Roland McGrath  <roland (a] redhat.com>
   1299 
   1300 	* Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back.
   1301 	Put these rules under if MAINTAINER_MODE.
   1302 
   1303 2009-01-22  Roland McGrath  <roland (a] redhat.com>
   1304 
   1305 	* dwarf.h: Add DW_OP_GNU_encoded_addr.
   1306 
   1307 2009-01-21  Roland McGrath  <roland (a] redhat.com>
   1308 
   1309 	* Makefile.am (CLEANFILES): Renamed to ...
   1310 	(MOSTLYCLEANFILES): ... here.
   1311 	(CLEANFILES): New variable, add known-dwarf.h.
   1312 
   1313 2009-01-17  Roland McGrath  <roland (a] redhat.com>
   1314 
   1315 	* Makefile.am (known-dwarf.h): Target renamed, not in $(srcdir).
   1316 	Make it unconditional.
   1317 	(BUILT_SOURCES): Updated.
   1318 
   1319 	* dwarf.h: Add description comments for DW_LANG_* values.
   1320 
   1321 	* Makefile.am [MAINTAINER_MODE]
   1322 	($(srcdir)/known-dwarf.h): New target.
   1323 	(BUILT_SOURCES): Add it.
   1324 
   1325 	* dwarf.h: Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit.
   1326 
   1327 2009-01-10  Ulrich Drepper  <drepper (a] redhat.com>
   1328 
   1329 	* dwarf_error.c: Always use __thread.  Remove all !USE_TLS code.
   1330 
   1331 2009-01-08  Roland McGrath  <roland (a] redhat.com>
   1332 
   1333 	* Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in.
   1334 
   1335 2008-01-06  Roland McGrath  <roland (a] redhat.com>
   1336 
   1337 	* libdwP.h (struct Dwarf_Abbrev): Change type of 'has_children' to bool.
   1338 	Reorder members.
   1339 	* dwarf_haschildren.c: Return -1 for error case, not 0.
   1340 
   1341 	* Makefile.am (libdw.so): Link in $(zip_LIBS).
   1342 
   1343 2009-01-06  Ulrich Drepper  <drepper (a] redhat.com>
   1344 
   1345 	* dwarf.h: Add definition for unwind and call frame information.
   1346 
   1347 	* memory-access.h: Define read_ubyte_unaligned, read_sbyte_unaligned,
   1348 	read_ubyte_unaligned_inc, and read_sbyte_unaligned_inc.
   1349 
   1350 2008-08-15  Roland McGrath  <roland (a] redhat.com>
   1351 
   1352 	* libdw.map (ELFUTILS_0.136): New version set, inherits from
   1353 	ELFUTILS_0.130.  Add dwfl_addrsegment, dwfl_report_segment.
   1354 
   1355 2008-01-21  Ulrich Drepper  <drepper (a] redhat.com>
   1356 
   1357 	* dwarf_child.c: Minor optimizations.
   1358 	* dwarf_getattrs.c: Likewise.
   1359 	* dwarf_getpubnames.c: Likewise.
   1360 	* dwarf_siblingof.c: Likewise.
   1361 	* dwarf_tag.c: Likewise.
   1362 
   1363 2008-01-18  Ulrich Drepper  <drepper (a] redhat.com>
   1364 
   1365 	* dwarf_getsrclines.c (dwarf_getsrclines): Don't require exact match
   1366 	of DWARF_VERSION comparison, just fail if the file's version is newer.
   1367 
   1368 2008-01-17  Nick Clifton  <nickc (a] redhat.com>
   1369 
   1370 	* dwarf.h (DWARF3_LENGTH_MIN_ESCAPE_CODE): New define.
   1371 	(DWARF3_LENGTH_MAX_ESCAPE_CODE): New define.
   1372 	(DWARF3_LENGTH_64_BIT): New define.
   1373 	* dwarf_getaranges (dwarf_getaranges): Use the new definitions.
   1374 	* dwarf_getpubnames: Include dwarf.h.
   1375 	(get_offsets): Use the new definitions.
   1376 	* dwarf_getsrclines.c (dwarf_getsrclines): Use the new defintions.
   1377 	* dwarf_nextcu.c: Include dwarf.h.  Correct comment.
   1378 	(dwarf_nextcu): Use the new definitions.
   1379 
   1380 	* libdwP.h (DIE_OFFSET_FROM_CU_OFFSET): New macro.
   1381 	* dwarf_diecu.c (dwarf_diecu): Use the new macro.
   1382 	* dwarf_getaranges (dwarf_getaranges): Use the new macro.
   1383 	* dwarf_nextcu.c (dwarf_nextcu): Use the new macro.
   1384 
   1385 	* dwarf_getpubnames (get_offsets): Replace assertion with test and
   1386 	error return.
   1387 
   1388 	* dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Use CUDIE.
   1389 
   1390 	* dwarf_siblingof (dwarf_siblingof): Detect a NULL return pointer.
   1391 	Set the address in the return structure to the address of the next
   1392 	non-sibling die, if there is no sibling and the return pointer is
   1393 	not the same as the die pointer.
   1394 	* libdw.h: Expand the description of the dwarf_siblingof prototype.
   1395 
   1396 	* dwarf_child.c: Fix typo in comment.
   1397 
   1398 	* libdwP.h (DWARF_VERSION): Change to 3.
   1399 
   1400 	* dwarf_formref.c (__libdw_formref.c): Handle attributes which do
   1401 	not have a initialised valp pointer.
   1402 
   1403 	* dwarf_getattrs.c (dwarf_getattrs): Return 1 rather than 0 when
   1404 	the end of the attributes is reached.  When the callback fails,
   1405 	return the address of the failing attribute, not the address of
   1406 	its successor.
   1407 	* libdw.h: Expand the description of the dwarf_getattrs prototype.
   1408 
   1409 	* dwarf_child.c (__libdw_find_attr): Use the new definition.
   1410 	(dwarf_child): Likewise.
   1411 	* dwarf_tag.c (__libdw_findabbrev): Likewise.
   1412 	(dwarf_tag): Likewise.
   1413 
   1414 2008-01-08  Roland McGrath  <roland (a] redhat.com>
   1415 
   1416 	* Makefile.am (euinclude): Variable removed.
   1417 	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
   1418 	(libdw.so): Pass -Wl,--enable-new-dtags,-rpath,$(pkglibdir).
   1419 
   1420 2007-10-17  Roland McGrath  <roland (a] redhat.com>
   1421 
   1422 	* libdw.h (__deprecated_attribute__): New macro.
   1423 	(dwarf_formref): Mark it deprecated.
   1424 	* dwarf_formref.c (__libdw_formref): New function, broken out of ...
   1425 	(dwarf_formref): ... here.  Call it.  Remove INTDEF.
   1426 	* libdwP.h: Remove INTDECL.
   1427 	Declare __libdw_formref.
   1428 	* dwarf_siblingof.c (dwarf_siblingof): Call __libdw_formref instead.
   1429 	* dwarf_formref_die.c: Likewise.  Handle DW_FORM_ref_addr here.
   1430 
   1431 	* libdw_form.c (__libdw_form_val_len): Fix DW_FORM_ref_addr result,
   1432 	needs to check CU->version.
   1433 
   1434 	* libdwP.h (struct Dwarf_CU): New member `version'.
   1435 	* libdw_findcu.c (__libdw_findcu): Initialize it.
   1436 
   1437 	* dwarf_child.c: Return 1 for null entry as first child.
   1438 
   1439 2007-10-05  Roland McGrath  <roland (a] redhat.com>
   1440 
   1441 	* dwarf_begin_elf.c (check_section): Punt on SHT_NOBITS sections.
   1442 
   1443 	* libdw.h (__extern_inline): Rename to __libdw_extern_inline.
   1444 	[__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Update uses.
   1445 
   1446 2007-10-03  Roland McGrath  <roland (a] redhat.com>
   1447 
   1448 	* libdw.map (ELFUTILS_0.130: Add dwfl_build_id_find_elf
   1449 	and dwfl_build_id_find_debuginfo.
   1450 
   1451 	* libdw.map (ELFUTILS_0.130): New version set, inherits from
   1452 	ELFUTILS_0.127.  Add dwfl_module_build_id, dwfl_module_report_build_id.
   1453 
   1454 2007-10-02  Roland McGrath  <roland (a] redhat.com>
   1455 
   1456 	* libdw_visit_scopes.c (classify_die): Return walk for class_type and
   1457 	structure_type.
   1458 
   1459 2007-08-07  Roland McGrath  <roland (a] redhat.com>
   1460 
   1461 	* dwarf_getscopes.c (pc_match): Swallow dwarf_haspc error return when
   1462 	error code is DWARF_E_NOERROR (0).
   1463 
   1464 	* dwarf_getscopes.c (pc_record): Always bail early if DIE->prune.
   1465 	Fix typo in __libdw_visit_scopes argument.
   1466 
   1467 	* dwarf_getscopes.c (pc_match): Check dwarf_haspc error return,
   1468 	swallow DWARF_E_NO_DEBUG_RANGES but not other errors.
   1469 
   1470 2007-07-03  Roland McGrath  <roland (a] redhat.com>
   1471 
   1472 	* libdw.h (__extern_inline): New macro.
   1473 	[__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it.
   1474 
   1475 2007-04-16  Roland McGrath  <roland (a] redhat.com>
   1476 
   1477 	* libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.
   1478 
   1479 2007-04-05  Roland McGrath  <roland (a] redhat.com>
   1480 
   1481 	* dwarf_getsrcdirs.c: New file.
   1482 	* Makefile.am (libdw_a_SOURCES): Add it.
   1483 	* libdw.h: Declare dwarf_getsrcdirs.
   1484 	* libdw.map (ELFUTILS_0.127): Add it.
   1485 
   1486 	* libdwP.h (struct Dwarf_Files_s): New member ndirs.
   1487 	* dwarf_getsrclines.c (dwarf_getsrclines): Don't clobber NDIRLIST to
   1488 	zero before we use it to check for DWARF_E_INVALID_DIR_IDX.
   1489 	Save DIRARRAY in the Dwarf_Files.
   1490 
   1491 	* dwarf_ranges.c (dwarf_ranges): Don't sign-extend 32-bit BEGIN
   1492 	address to check for all-ones base address entry.  Check directly.
   1493 	Reported by Sbastien Dugu <sebastien.dugue (a] bull.net>.
   1494 
   1495 2007-03-25  Roland McGrath  <roland (a] redhat.com>
   1496 
   1497 	* dwarf_begin_elf.c (check_section): Return Dwarf * instead of void.
   1498 	Return NULL when freeing RESULT on error.
   1499 	(global_read, scngrp_read): Check return value from check_section,
   1500 	break out of loop after it has freed RESULT.
   1501 	(valid_p): Handle null argument.
   1502 
   1503 2007-03-12  Roland McGrath  <roland (a] redhat.com>
   1504 
   1505 	* libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add.
   1506 
   1507 2007-03-04  Roland McGrath  <roland (a] redhat.com>
   1508 
   1509 	* libdw.map (ELFUTILS_0.127): New version set, inherits from
   1510 	ELFUTILS_0.126.  Add dwfl_module_addrsym.
   1511 
   1512 2007-02-10  Roland McGrath  <roland (a] redhat.com>
   1513 
   1514 	* dwarf.h (DW_OP_fbreg): Comment fix.
   1515 
   1516 2007-02-03  Roland McGrath  <roland (a] redhat.com>
   1517 
   1518 	* dwarf_getelf.c (dwarf_getelf): Renamed from dwarf_get_elf.
   1519 	* libdw.map (ELFUTILS_0.126): New version set, inherits from
   1520 	ELFUTILS_0.122.  Move dwarf_getelf there; it was never truly
   1521 	exported in the past.
   1522 
   1523 2006-12-17  Roland McGrath  <roland (a] redhat.com>
   1524 
   1525 	* dwarf_getlocation.c (dwarf_getlocation_addr): Use zero as base
   1526 	address when the CU is missing attributes due to buggy GCC.
   1527 
   1528 2006-08-29  Roland McGrath  <roland (a] redhat.com>
   1529 
   1530 	* Makefile.am (CLEANFILES): Add libdw.so.$(VERSION).
   1531 
   1532 	* libdw.h (dwarf_diecu): Add __nonnull_attribute__.
   1533 	(dwarf_child): Don't list arg 1 in __nonnull_attribute__.
   1534 
   1535 	* libdw_alloc.c (__libdw_allocate): Take new ALIGN argument, make sure
   1536 	result is aligned.  Adjust NEWP->remaining here for this allocation.
   1537 	* libdwP.h: Update decl.
   1538 	(libdw_alloc): Update caller.
   1539 
   1540 2006-07-12  Ulrich Drepper  <drepper (a] redhat.com>
   1541 
   1542 	* dwarf_child.c: Adjust for internal_function_def removal.
   1543 	* dwarf_getabbrev.c: Likewise.
   1544 	* dwarf_tag.c: Likewise.
   1545 	* libdw_form.c: Likewise.
   1546 	* memory-access.c: Likewise.
   1547 
   1548 2006-06-28  Roland McGrath  <roland (a] redhat.com>
   1549 
   1550 	* libdw.map: Export dwfl_linecu, dwfl_line_comp_dir.
   1551 
   1552 	* libdw.map: Bump to 0.122; export dwfl_module_getsymtab and
   1553 	dwfl_module_getsym.
   1554 
   1555 2006-05-27  Ulrich Drepper  <drepper (a] redhat.com>
   1556 
   1557 	* libdw.h: Add extern "C".
   1558 
   1559 2006-05-22  Ulrich Drepper  <drepper (a] redhat.com>
   1560 
   1561 	* dwarf_getaranges.c (dwarf_getaranges): Handle files without
   1562 	aranges information.
   1563 
   1564 2006-05-21  Ulrich Drepper  <drepper (a] redhat.com>
   1565 
   1566 	* libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs,
   1567 	dwarf_haschildren.
   1568 
   1569 2006-02-28  Roland McGrath  <roland (a] redhat.com>
   1570 
   1571 	* dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*,
   1572 	DW_OP_* values, to match DWARF 3.0.  Add new DW_DS_*, DW_END_*
   1573 	values from DWARF 3.0.
   1574 
   1575 2006-02-22  Roland McGrath  <roland (a] redhat.com>
   1576 
   1577 	* libdw.map: Bump to 0.120; export dwfl_version.
   1578 
   1579 2005-12-22  Roland McGrath  <roland (a] redhat.com>
   1580 
   1581 	* libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report.
   1582 
   1583 2005-12-12  Roland McGrath  <roland (a] redhat.com>
   1584 
   1585 	* dwarf_ranges.c: Copy CU base address-finding code from
   1586 	dwarf_getlocation.
   1587 
   1588 2005-12-09  Roland McGrath  <roland (a] redhat.com>
   1589 
   1590 	* dwarf_getlocation.c (dwarf_getlocation_addr): Add some unlikelys.
   1591 	Delay CU base lookup until it's needed.
   1592 	If CU base lookup fails with no error, flag invalid DWARF.
   1593 
   1594 2005-11-25  Roland McGrath  <roland (a] redhat.com>
   1595 
   1596 	* libdw.map: Bump to 0.118; export dwfl_module_register_names.
   1597 
   1598 2005-11-15  Roland McGrath  <roland (a] redhat.com>
   1599 
   1600 	* Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic.
   1601 
   1602 2005-11-13  Roland McGrath  <roland (a] redhat.com>
   1603 
   1604 	* libdw.map: Bump to 0.117; export dwfl_module_return_value_location.
   1605 
   1606 2005-10-27  Roland McGrath  <roland (a] redhat.com>
   1607 
   1608 	* dwarf_entry_breakpoints.c (search_range): Fix binary search code;
   1609 	don't match end_sequence markers.
   1610 
   1611 	* dwarf_getsrclines.c (compare_lines): Sort end_sequence markers
   1612 	before normal records at the same address.
   1613 	* dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence
   1614 	marker.
   1615 
   1616 2005-10-26  Roland McGrath  <roland (a] redhat.com>
   1617 
   1618 	* dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func.
   1619 	* dwarf_func_file.c: Renamed to ...
   1620 	* dwarf_decl_file.c: ... here.
   1621 	* dwarf_func_col.c: Renamed to ...
   1622 	* dwarf_decl_column.c: ... here.
   1623 	* dwarf_func_line.c: Renamed to ...
   1624 	* dwarf_decl_line.c: ... here.
   1625 	(dwarf_func_line): Renamed to ...
   1626 	(dwarf_decl_line): ... this.  Take a Dwarf_Die * argument.
   1627 	(__libdw_func_intval): Renamed __libdw_attr_intval.
   1628 	* dwarf_func_name.c: File removed.
   1629 	* dwarf_func_lowpc.c: File removed.
   1630 	* dwarf_func_highpc.c: File removed.
   1631 	* dwarf_func_entrypc.c: File removed.
   1632 	* dwarf_func_die.c: File removed.
   1633 	* Makefile.am (libdw_a_SOURCES): Updated.
   1634 	* libdw.h: Update decls.
   1635 	(Dwarf_Func): Type removed.
   1636 	* libdwP.h: Update decls.
   1637 	(struct Dwarf_Func_s): Type removed.
   1638 	* libdw.map: Updated.
   1639 
   1640 	* libdwP.h (CUDIE): New macro.
   1641 	* dwarf_getlocation.c (dwarf_getlocation_addr): Use it.
   1642 	* dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise.
   1643 	* dwarf_ranges.c (dwarf_ranges): Likewise.
   1644 
   1645 	* dwarf_getloclist.c: Renamed to ...
   1646 	* dwarf_getlocation.c: ... here.
   1647 	(getloclist): Renamed to getlocation.
   1648 	(dwarf_getloclist): Renamed to dwarf_getlocation.
   1649 	(dwarf_addrloclists): Renamed to dwarf_getlocation_addr.
   1650 	* Makefile.am (libdw_a_SOURCES): Updated.
   1651 	* libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation.
   1652 	(dwarf_addrloclists): Renamed dwarf_getlocation_addr.
   1653 	(Dwarf_Loc): Renamed Dwarf_Op.
   1654 	* libdwP.h (struct loc_s): Update use.
   1655 	* libdw.map: Update map.
   1656 
   1657 	* dwarf_entry_breakpoints.c: Use the second line record within the
   1658 	function, regardless of its source location data.
   1659 
   1660 2005-10-25  Roland McGrath  <roland (a] redhat.com>
   1661 
   1662 	* dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too.
   1663 
   1664 	* libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints.
   1665 
   1666 2005-10-14  Roland McGrath  <roland (a] redhat.com>
   1667 
   1668 	* dwarf_diecu.c (dwarf_diecu): New file.
   1669 	* Makefile.am (libdw_a_SOURCES): Add it.
   1670 	* libdw.h: Declare dwarf_diecu.
   1671 	* libdw.map: Export it.
   1672 
   1673 	* libdw.map: Bump to 0.116; export dwarf_ranges.
   1674 
   1675 2005-09-20  Roland McGrath  <roland (a] redhat.com>
   1676 
   1677 	* dwarf_haspc.c: Use dwarf_ranges.
   1678 	* dwarf_entry_breakpoints.c: Likewise.
   1679 
   1680 	* dwarf_ranges.c: New file.
   1681 	* Makefile.am (libdw_a_SOURCES): Add it.
   1682 	* libdw.h: Declare dwarf_ranges.
   1683 	* libdwP.h: Add INTDECL.
   1684 
   1685 2005-09-14  Roland McGrath  <roland (a] redhat.com>
   1686 
   1687 	* dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in
   1688 	prologue_end marker scanning loop.
   1689 
   1690 2005-09-11  Roland McGrath  <roland (a] redhat.com>
   1691 
   1692 	* dwarf.h: Comment typo fix.
   1693 
   1694 2005-09-07  Roland McGrath  <roland (a] redhat.com>
   1695 
   1696 	* dwarf_entry_breakpoints.c: New file.
   1697 	* Makefile.am (libdw_a_SOURCES): Add it.
   1698 	* libdw.h: Declare dwarf_entry_breakpoints.
   1699 
   1700 	* dwarf_entrypc.c: New file.
   1701 	* Makefile.am (libdw_a_SOURCES): Add it.
   1702 	* libdw.h: Declare dwarf_entrypc.
   1703 	* libdwP.h: Add INTDECL.
   1704 
   1705 2005-08-28  Ulrich Drepper  <drepper (a] redhat.com>
   1706 
   1707 	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
   1708 	(%.os): Use COMPILE.os.
   1709 	(COMPILE.os): Filter out gconv options.
   1710 
   1711 2005-08-27  Roland McGrath  <roland (a] redhat.com>
   1712 
   1713 	* dwarf_getscopes.c (dwarf_getscopes): Rewritten using
   1714 	__libdw_visit_scopes.
   1715 
   1716 	* dwarf_getscopes_die.c: New file.
   1717 	* Makefile.am (libdw_a_SOURCES): Add it.
   1718 	* libdw.h: Declare dwarf_getscopes_die.
   1719 	* libdw.map: Bump to 0.115 and add it.
   1720 
   1721 	* libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct
   1722 	containing a DIE and its parent pointer, instead of just Dwarf_Die.
   1723 	Take two functions for both preorder and postorder visitors.
   1724 	* libdwP.h: Update decl.
   1725 	(struct Dwarf_Die_Chain): New type.
   1726 	* dwarf_func_inline.c: Update uses.
   1727 
   1728 	* dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate.
   1729 	Add INTDEF.
   1730 	* libdwP.h: Add INTDECL.
   1731 	* dwarf_func_name.c (dwarf_func_name): Use dwarf_diename.
   1732 
   1733 2005-08-23  Roland McGrath  <roland (a] redhat.com>
   1734 
   1735 	* dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
   1736 	DW_AT_specification the same as DW_AT_abstract_origin.
   1737 
   1738 2005-08-20  Roland McGrath  <roland (a] redhat.com>
   1739 
   1740 	* libdw.map: Add dwfl_cumodule, remove dwfl_linecu.
   1741 	Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address,
   1742 	and dwfl_report_offline.
   1743 
   1744 2005-08-19  Roland McGrath  <roland (a] redhat.com>
   1745 
   1746 	* libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes.
   1747 	Add dwfl_module_relocate_address, dwfl_module_relocations,
   1748 	dwfl_module_relocation_info.
   1749 
   1750 2005-08-18  Roland McGrath  <roland (a] redhat.com>
   1751 
   1752 	* dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as
   1753 	outermost scope in the results.
   1754 
   1755 2005-08-15  Roland McGrath  <roland (a] redhat.com>
   1756 
   1757 	* dwarf_func_inline.c: New file.
   1758 	* Makefile.am (libdw_a_SOURCES): Add it.
   1759 	* libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances.
   1760 	* libdw.map: Add them.
   1761 
   1762 	* dwarf_func_die.c: New file.
   1763 	* Makefile.am (libdw_a_SOURCES): Add it.
   1764 	* libdw.h: Declare dwarf_func_die.
   1765 	* libdw.map: Add it.  Bump version to ELFUTILS_0.114.
   1766 
   1767 2005-08-10  Ulrich Drepper  <drepper (a] redhat.com>
   1768 
   1769 	* dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming
   1770 	of DW_LNS_set_epilog_begin.
   1771 
   1772 2005-08-09  Roland McGrath  <roland (a] redhat.com>
   1773 
   1774 	* dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin.
   1775 
   1776 	* dwarf_end.c: Add INTDEF.
   1777 	* dwarf_error.c (dwarf_errmsg): Likewise.
   1778 	* libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs.
   1779 
   1780 2005-08-01  Roland McGrath  <roland (a] redhat.com>
   1781 
   1782 	* dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset.
   1783 	* dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
   1784 
   1785 2005-07-28  Ulrich Drepper  <drepper (a] redhat.com>
   1786 
   1787 	* Makefile.am (libdw.so): No need to link with libeu.a anymore.
   1788 	(libdw_a_LIBADD): Add all files from libdwfl.a.
   1789 
   1790 2005-07-27  Roland McGrath  <roland (a] redhat.com>
   1791 
   1792 	* Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in,
   1793 	along with ../libebl/libebl.a and ../lib/libeu.a;
   1794 	depend on ../libelf/libelf.so.
   1795 	(libdw_so_LDADD): New variable.
   1796 	* libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map.
   1797 
   1798 	* libdw.map: Define an empty base version and move all symbols to
   1799 	version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet.
   1800 
   1801 2005-07-23  Ulrich Drepper  <drepper (a] redhat.com>
   1802 
   1803 	* dwarf_error.c: Add internal alias for dwarf_errno.
   1804 	* libdwP.h: Declare __dwarf_errno_internal.
   1805 	* dwarf_getloclist.c: Use INTDEF for dwarf_errno.
   1806 
   1807 	* dwarf_error.c [USE_TLS]: Actually use __thread in definition of
   1808 	global_error.
   1809 
   1810 2005-06-01  Roland McGrath  <roland (a] redhat.com>
   1811 
   1812 	* dwarf_getaranges.c (dwarf_getaranges): Sort result array.
   1813 	* dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search.
   1814 
   1815 2005-06-08  Roland McGrath  <roland (a] redhat.com>
   1816 
   1817 	* memory-access.h (get_uleb128_step, get_uleb128): Remove casts.
   1818 	(get_sleb128_step, get_sleb128): Likewise.
   1819 	* dwarf_getattrs.c (dwarf_getattrs): Add consts.
   1820 	* dwarf_getloclist.c (getloclist): Likewise.
   1821 	* dwarf_formblock.c (dwarf_formblock): Likewise.
   1822 	* dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
   1823 	* dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise.
   1824 	* dwarf_formref.c (dwarf_formref): Likewise.
   1825 	* dwarf_formsdata.c (dwarf_formsdata): Likewise.
   1826 	* dwarf_formudata.c (dwarf_formudata): Likewise.
   1827 	* dwarf_haschildren.c (dwarf_haschildren): Likewise.
   1828 	* dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise.
   1829 	* dwarf_tag.c (dwarf_tag): Likewise.
   1830 	* dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
   1831 	* memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise.
   1832 	* libdw_form.c (__libdw_form_val_len): Likewise.
   1833 	* libdwP.h: Update decl.
   1834 
   1835 2005-06-04  Roland McGrath  <roland (a] redhat.com>
   1836 
   1837 	* memory-access.h (get_uleb128_rest_return): New macro.
   1838 	[! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it.
   1839 	(get_sleb128_rest_return): New macro.
   1840 	[! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it.
   1841 	* memory-access.c: New file.
   1842 	* Makefile.am (libdw_a_SOURCES): Add it.
   1843 	(DEFS): Add -DIS_LIBDW.
   1844 
   1845 2005-05-31  Roland McGrath  <roland (a] redhat.com>
   1846 
   1847 	* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
   1848 	formref offset.
   1849 
   1850 2005-05-30  Roland McGrath  <roland (a] redhat.com>
   1851 
   1852 	* dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base
   1853 	address if DW_AT_low_pc is missing.  Not to spec, but GCC generates it.
   1854 
   1855 	* dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte
   1856 	BEGIN value.  Instead, match base address entries separately for
   1857 	32/64 size cases.
   1858 
   1859 2005-05-28  Roland McGrath  <roland (a] redhat.com>
   1860 
   1861 	* dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance
   1862 	past location expression contents.
   1863 
   1864 2005-05-23  Roland McGrath  <roland (a] redhat.com>
   1865 
   1866 	* dwarf_getsrclines.c: Comment typo fix.
   1867 
   1868 	* dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation.
   1869 	* dwarf_getloclist.c (dwarf_addrloclists): Likewise.
   1870 
   1871 2005-05-22  Ulrich Drepper  <drepper (a] redhat.com>
   1872 
   1873 	* libdwP.h: Only use INTDECL for alias prototypes.
   1874 
   1875 2005-05-19  Roland McGrath  <roland (a] redhat.com>
   1876 
   1877 	* dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too.
   1878 
   1879 	* dwarf_getscopevar.c: New file.
   1880 	* Makefile.am (libdw_a_SOURCES): Add it.
   1881 	* libdw.h: Declare dwarf_getscopevar.
   1882 
   1883 	* dwarf_getsrcfiles.c: Add INTDEF.
   1884 	* dwarf_haschildren.c: Likewise.
   1885 	* libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL.
   1886 
   1887 	* dwarf_getscopes.c: New file.
   1888 	* Makefile.am (libdw_a_SOURCES): Add it.
   1889 	* libdw.h: Declare dwarf_getscopes.
   1890 	* libdw.map: Add it.
   1891 
   1892 2005-05-18  Roland McGrath  <roland (a] redhat.com>
   1893 
   1894 	* libdwP.h (IDX_debug_ranges): New enum constant.
   1895 	* dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges".
   1896 	* libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant.
   1897 	* dwarf_error.c (errmsgs): Add it.
   1898 	* dwarf_haspc.c: New file.
   1899 	* libdw.h: Declare dwarf_haspc.
   1900 	* libdw.map: Add it.
   1901 	* libdwP.h: Add INTDECL.
   1902 
   1903 	* dwarf_attr_integrate.c: New file.
   1904 	* dwarf_hasattr_integrate.c: New file.
   1905 	* Makefile.am (libdw_a_SOURCES): Add them.
   1906 	* libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate.
   1907 	* libdw.map: Add them.
   1908 
   1909 	* dwarf_hasattr.c: Add INTDEF.
   1910 	* libdwP.h: Add INTDECL for it.
   1911 
   1912 	* dwarf_formref_die.c: New file.
   1913 	* Makefile.am (libdw_a_SOURCES): Add it.
   1914 	* libdw.h (dwarf_formref_die): Declare it.
   1915 	* libdwP.h (dwarf_formref_die): Add INTDECL.
   1916 	* libdw.map: Add it.
   1917 
   1918 	* dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out
   1919 	of ...
   1920 	(dwarf_getloclist): ... here.  Call them.
   1921 	(dwarf_addrloclists): New function.
   1922 	* libdw.h: Declare it.
   1923 	* libdw.map: Add it.
   1924 
   1925 	* dwarf_getmacros.c (dwarf_getmacros): Don't bail at
   1926 	DW_MACINFO_end_file.  Recognize type 0 as terminator.
   1927 
   1928 2005-05-05  Roland McGrath  <roland (a] redhat.com>
   1929 
   1930 	* dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search.
   1931 
   1932 	* dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since
   1933 	the line program does not produce all entries in ascending order.
   1934 
   1935 2005-04-25  Ulrich Drepper  <drepper (a] redhat.com>
   1936 
   1937 	* dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple
   1938 	occurences (e.g., inlines) better.
   1939 
   1940 2005-04-24  Ulrich Drepper  <drepper (a] redhat.com>
   1941 
   1942 	* libdw.h (DWARF_END_ABBREV): Define.
   1943 	* dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if
   1944 	end is reached.
   1945 	* dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end
   1946 	of records reached.
   1947 	* dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV
   1948 	as error of __libdw_getabbrev.
   1949 
   1950 2005-04-04  Ulrich Drepper  <drepper (a] redhat.com>
   1951 
   1952 	* dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization.
   1953 
   1954 	* dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of
   1955 	results back to caller.
   1956 
   1957 2005-04-04  Roland McGrath  <roland (a] redhat.com>
   1958 
   1959 	* dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL.
   1960 
   1961 	* dwarf_func_line.c (__libdw_func_intval): Use internal_function in
   1962 	defn.
   1963 
   1964 2005-04-04  Ulrich Drepper  <drepper (a] redhat.com>
   1965 
   1966 	* dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE.
   1967 
   1968 	* dwarf_getsrc_file.c: New file.
   1969 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c.
   1970 	* libdw.h: Declare dwarf_getsrc_file.
   1971 	* libdw.map: Add dwarf_getsrc_file.
   1972 
   1973 2005-04-02  Ulrich Drepper  <drepper (a] redhat.com>
   1974 
   1975 	* dwarf_func_entrypc.c: New file.
   1976 	* dwarf_func_col.c: New file.
   1977 	* dwarf_func_line.c: New file.
   1978 	* dwarf_func_file.c: New file.
   1979 	* libdw.h: Add prototypes for new functions.
   1980 	* libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line,
   1981 	dwarf_func_file.
   1982 	* Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c,
   1983 	dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c.
   1984 	* libdwP.h (struct Dwarf_Func_s): Add cudie element.
   1985 	Declare __libdw_func_intval and __dwarf_formsdata_internal.
   1986 	* dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object.
   1987 	* dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs.
   1988 
   1989 	* dwarf.h: Add some DWARF3 definitions.
   1990 
   1991 2005-04-01  Ulrich Drepper  <drepper (a] redhat.com>
   1992 
   1993 	* dwarf_getfuncs.c: New file.
   1994 	* dwarf_func_highpc.c: New file.
   1995 	* dwarf_func_lowpc.c: New file.
   1996 	* dwarf_func_name.c: New file.
   1997 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c,
   1998 	dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c.
   1999 	* libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc,
   2000 	and dwarf_func_name.
   2001 	* libdw.h: Add prototypes for new functions.
   2002 	* dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs.
   2003 	* dwarf_siblingof.c: Likewise.
   2004 	* dwarf_dieoffset.c: Likewise.
   2005 	* dwarf_highpc.c: Likewise.
   2006 	* dwarf_lowpc.c: Likewise.
   2007 	* libdwP.h: Add prototypes for internal functions.
   2008 	Define Dwarf_Func_s structure.
   2009 
   2010 2005-03-29  Ulrich Drepper  <drepper (a] redhat.com>
   2011 
   2012 	* libdw.h: Add padding in Dwarf_die.
   2013 
   2014 	* dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs.
   2015 	* dwarf_attr.c: Likewise.
   2016 	* dwarf_begin.c: Likewise.
   2017 	* dwarf_begin_elf.c: Likewise.
   2018 	* dwarf_bitoffset.c: Likewise.
   2019 	* dwarf_bitsize.c: Likewise.
   2020 	* dwarf_bytesize.c: Likewise.
   2021 	* dwarf_diename.c: Likewise.
   2022 	* dwarf_formaddr.c: Likewise.
   2023 	* dwarf_formblock.c: Likewise.
   2024 	* dwarf_formref.c: Likewise.
   2025 	* dwarf_formstring.c: Likewise.
   2026 	* dwarf_formudata.c: Likewise.
   2027 	* dwarf_getarange_addr.c: Likewise.
   2028 	* dwarf_getarangeinfo.c: Likewise.
   2029 	* dwarf_getaranges.c: Likewise.
   2030 	* dwarf_getloclist.c: Likewise.
   2031 	* dwarf_getmacros.c: Likewise.
   2032 	* dwarf_getsrc_die.c: Likewise.
   2033 	* dwarf_getsrcfiles.c: Likewise.
   2034 	* dwarf_getsrclines.c: Likewise.
   2035 	* dwarf_highpc.c: Likewise.
   2036 	* dwarf_lowpc.c: Likewise.
   2037 	* dwarf_nextcu.c: Likewise.
   2038 	* dwarf_offdie.c: Likewise.
   2039 	* dwarf_siblingof.c: Likewise.
   2040 	* dwarf_srclang.c: Likewise.
   2041 	* dwarf_tag.c: Likewise.
   2042 	* libdw_findcu.c: Likewise.
   2043 	* libdwP.h: Add prototypes for internal functions.
   2044 
   2045 	* dwarf_addrdie.c: New file.
   2046 	* dwarf_macro_opcode.c: New file.
   2047 	* dwarf_macro_param1.c: New file.
   2048 	* dwarf_macro_param2.c: New file.
   2049 	* libdw.h: Add declarations.  Move Dwarf_Macro definition to libdwP.h.
   2050 	* libdwP.h: Remove Dwarf_Macro definition.
   2051 	* Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c,
   2052 	dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c.
   2053 	* libdw.map: Add entries for new functions.
   2054 
   2055 2005-03-21  Ulrich Drepper  <drepper (a] redhat.com>
   2056 
   2057 	* libdw.h: Handle broken gcc < 4.
   2058 
   2059 2005-02-15  Ulrich Drepper  <drepper (a] redhat.com>
   2060 
   2061 	* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
   2062 
   2063 	* dwarf_begin_elf.c: Fix warnings.
   2064 	* dwarf_dieoffset.c: Likewise.
   2065 	* dwarf_end.c: Likewise.
   2066 	* dwarf_error.c: Likewise.
   2067 	* dwarf_getpubnames.c: Likewise.
   2068 
   2069 	* libdwP.h: Add new error values.
   2070 	* dwarf_error.c: Support new error values.
   2071 	* dwarf_getpubnames.c: Check parameter value.
   2072 
   2073 2005-02-05  Ulrich Drepper  <drepper (a] redhat.com>
   2074 
   2075 	* Makefile.am: Check for text relocations in constructed DSO.
   2076 
   2077 	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.
   2078 
   2079 2005-02-04  Ulrich Drepper  <drepper (a] redhat.com>
   2080 
   2081 	* dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary
   2082 	checks to not read over buffer boundaries for ill-formed DWARF data.
   2083 
   2084 2004-09-25  Ulrich Drepper  <drepper (a] redhat.com>
   2085 
   2086 	* dwarf_child.c: Make compile with gcc 4.0.
   2087 	* dwarf_error.c: Likewise.
   2088 	* dwarf_formblock.c: Likewise.
   2089 	* dwarf_getabbrev.c: Likewise.
   2090 	* dwarf_getattrs.c: Likewise.
   2091 	* dwarf_getsrclines.c: Likewise.
   2092 	* dwarf_tag.c: Likewise.
   2093 	* libdw_form.c: Likewise.
   2094 
   2095 2004-01-20  Ulrich Drepper  <drepper (a] redhat.com>
   2096 
   2097 	* Makefile.am: Support building with mudflap.
   2098 
   2099 	* dwarf_getloclist.c: Fix warnings gcc 3.4 spits out.
   2100 	* dwarf_getsrclines.c: Likewise.
   2101 	* dwarf_memory-access.h: Likewise.
   2102 
   2103 2004-01-19  Ulrich Drepper  <drepper (a] redhat.com>
   2104 
   2105 	* dwarf_getsrcfiles.c: Third parameter can be NULL.
   2106 
   2107 	* libdw.h: Define Dwarf_macro.  Declare dwarf_getmacros.
   2108 	Third parameter of dwarf_getsrcfiles can be NULL.
   2109 
   2110 	* libdw.map: Add dwarf_getmacros.
   2111 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros.
   2112 	* dwarf_getmacros.c: New file.
   2113 
   2114 2004-01-18  Ulrich Drepper  <drepper (a] redhat.com>
   2115 
   2116 	* libdw.h: Second parameter of dwarf_getaranges can be NULL.
   2117 
   2118 	* dwarf_nextcu.c: Return -1 if dwarf parameter is NULL.
   2119 
   2120 	* dwarf_getsrclines.c:
   2121 	Use read_2ubyte_unaligned_inc instead of _inc-less variant.
   2122 
   2123 	* dwarf_getaranges.c: Allow naranges parameter to be NULL.
   2124 
   2125 	* libdwP.h (_): Use elfutils domain.
   2126 
   2127 	* dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction.
   2128 
   2129 	* dwarf_getsrclines.c: Fix typo in comment.
   2130 
   2131 2004-01-17  Ulrich Drepper  <drepper (a] redhat.com>
   2132 
   2133 	* Makefile.am: Support building with mudflap.
   2134 
   2135 2004-01-16  Ulrich Drepper  <drepper (a] redhat.com>
   2136 
   2137 	* memory-access.h: Add lots of const in case a pointer passed is const.
   2138 
   2139 	* dwarf_formflag.c: New file.
   2140 	* dwarf_getattrs.c: New file.
   2141 	* dwarf_error.c: Add new error value.
   2142 	* libdw.h: Add prototypes for new functions.  Adjust prototype for
   2143 	dwarf_getpubnames.
   2144 	* libdw.map: Add new functions.
   2145 	* dwarf_getpubnames.c: Change type of return value and fourth parameter
   2146 	to ptrdiff_t.
   2147 	* libdwP.h: Add new error value.
   2148 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and
   2149 	dwarf_formflag.c.
   2150 
   2151 	* dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL.
   2152 
   2153 2004-01-12  Ulrich Drepper  <drepper (a] redhat.com>
   2154 
   2155 	* dwarf_getarange_addr.c: New file
   2156 	* dwarf_getarangeinfo.c: New file.
   2157 	* dwarf_getaranges.c: New file.
   2158 	* dwarf_onerange.c: New file.
   2159 	* libdw.h: Declare new functions.  Define Dwarf_Arange and
   2160 	Dwarf_Aranges.
   2161 	* libdw.map: Add new functions.
   2162 	* libdwP.h: Add new errors.  Add aranges member to struct Dwarf.
   2163 	Define Dwarf_Aranges_s and Dwarf_Arange_s.
   2164 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c,
   2165 	dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c.
   2166 	* dwarf_error.c: Add new message.
   2167 
   2168 2004-01-11  Ulrich Drepper  <drepper (a] redhat.com>
   2169 
   2170 	* Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c,
   2171 	dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c,
   2172 	dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c.
   2173 	* dwarf_error.c: Add another message.
   2174 	* dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines
   2175 	introduction.
   2176 	* dwarf_filesrc.c: Likewise.
   2177 	* dwarf_getsrcfiles.c: Likewise.
   2178 	* dwarf_getsrclines.c: Likewise.
   2179 	* dwarf_lineaddr.c: New file.
   2180 	* dwarf_linebeginstatement.c: New file.
   2181 	* dwarf_lineblock.c: New file.
   2182 	* dwarf_linecol.c: New file.
   2183 	* dwarf_lineendsequence.c: New file.
   2184 	* dwarf_lineepiloguebegin.c: New file.
   2185 	* dwarf_lineno.c: New file.
   2186 	* dwarf_lineprologueend.c: New file.
   2187 	* dwarf_onesrcline.c: New file.
   2188 	* dwarf_lineno.c: Change interface to store result in object pointed
   2189 	to by second parameter.
   2190 	* libdw.h: Add prototypes for new functions.  Change dwarf_lineno
   2191 	prototype.  Define Dwarf_Files and Dwarf_Lines.
   2192 	* libdw.map: Add new functions.
   2193 	* libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s.
   2194 	* libdw_findcu.c: Don't initialize nlines field.
   2195 
   2196 	* dwarf_siblingof: Little optimization.
   2197 
   2198 	* dwarf_begin.c: Remember that the ELF descriptor must be closed.
   2199 	* dwarf_end.c: Close ELF descriptor if free_elf is set.
   2200 	* libdwP.h (struct Dwarf): Add free_elf field.
   2201 
   2202 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and
   2203 	dwarf_offabbrev.c.
   2204 	* dwarf_getstring.c: New file.
   2205 	* dwarf_offabbrev.c: New file.
   2206 	* libdw.map: Add dwarf_getstring and dwarf_offabbrev.
   2207 	* dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result
   2208 	parameters.  Don't allocate memory if not necessary and don't lookup
   2209 	previous results if no CU given.
   2210 	(dwarf_getabbrev): Adjust call to __libdw_getabbrev.
   2211 	* dwarf_tag.c: Adjust call to __libdw_getabbrev.
   2212 	* libdw.h: Declare dwarf_offabbrev and dwarf_getstring.
   2213 	* libdwP.h: Change prototype for __libdw_getabbrev.
   2214 
   2215 	* dwarf_getabbrevattr.c: Add offsetp parameter.  Fill in before
   2216 	returning if this is wanted.
   2217 
   2218 2004-01-09  Ulrich Drepper  <drepper (a] redhat.com>
   2219 
   2220 	* dwarf_nextcu.c: Add new parameter offset_sizep.  Initialize it
   2221 	with offset_size value.
   2222 	* libdw.h: Adjust dwarf_nextcu prototype.
   2223 	* libdwP.h (struct Dwarf_CU): Add offset_size member.
   2224 	* libdw_findcu.c: Adjust dwarf_nextcu call.  Initialize offset_size
   2225 	member of new CU struct.
   2226 	* dwarf_formstring.c: Depend on offset_size not address_size for
   2227 	DW_FORM_strp handling.
   2228 	* dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr.
   2229 
   2230 	* dwarf_tag.c (__libdw_findabbrev): Return correct value for
   2231 	failing lookup.
   2232 	(dwarf_tag): Correctly recognize failed lookup.
   2233 
   2234 	* dwarf_end.c (cu_free):  Call tdestroy for locs member.  Use new
   2235 	function noop_free.
   2236 	* dwarf_error.c: Add message for DWARF_E_NO_BLOCK.
   2237 	* dwarf_formblock.c: New file.
   2238 	* dwarf_getloclist.c: Rewrite to handle a single block.
   2239 	* libdw.h: Define Dwarf_Block.  Rename Dwarf_Loc members.  Remove
   2240 	Dwarf_Locdesc definition.  Declare dwarf_formblock.  Remove
   2241 	dwarf_getloclistent declaration.
   2242 	* libdw.map: Add dwarf_formblock, remove dwarf_getloclistent.
   2243 	* libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK.
   2244 	Add locs member to struct Dwarf_CU.
   2245 	* libdw_fundcu.c: Initialize locs member of new CU.
   2246 	* Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c.
   2247 	Remove dwarf_getloclistent.c.
   2248 
   2249 2004-01-07  Ulrich Drepper  <drepper (a] redhat.com>
   2250 
   2251 	* libdw.h: Use __nonnull__ attribute only for gcc >= 3.3.
   2252 	* libdwP.h: Likewise.
   2253 
   2254 	* dwarf_getloclist.c: New file.
   2255 	* dwarf_getloclistent.c: New file.
   2256 	* libdw.h: Define Dwarf_Loc and Dwarf_Locdesc.
   2257 	Declare dwarf_getloclistent and dwarf_getloclist.
   2258 	* libdw.map: Add dwarf_getloclistent and dwarf_getloclist.
   2259 	* libdwP.h: Define DWARF_E_NO_LOCLIST.
   2260 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and
   2261 	dwarf_getloclist.c.
   2262 
   2263 	* dwarf_error.c: More error messages.
   2264 
   2265 2004-01-06  Ulrich Drepper  <drepper (a] redhat.com>
   2266 
   2267 	* dwarf_getsrclines.c: Remove debugging support.
   2268 
   2269 	* dwarf_getsrcfiles.c: New file.
   2270 	* dwarf_filesrc.c: New file.
   2271 	* libdw.h: Declare these functions.  Define Dwarf_File.
   2272 	* libdwP.c: Adjust Dwarf_File_s definition.
   2273 	* libdw.map: Add these functions.
   2274 	* Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and
   2275 	dwarf_filesrc.c.
   2276 	* dwarf_getsrclines.c: Initialize cu->files.
   2277 
   2278 2004-01-05  Ulrich Drepper  <drepper (a] redhat.com>
   2279 
   2280 	* libdw.h: Add more nonnull function attributes.
   2281 
   2282 	* dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next.
   2283 	* dwarf_end.c (cu_free): New function.
   2284 	(dwarf_end): Also free CU tree.  Correct freeing of memory blocks.
   2285 	* dwarf_error.c (errmsgs): Add new messages.
   2286 	* dwarf_getsrc_die.c: New file.
   2287 	* dwarf_getsrclines.c: New file.
   2288 	* dwarf_lineno.c: New file.
   2289 	* dwarf_linesrc.c: New file.
   2290 	* dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc
   2291 	instead of the *_inc-less variants.
   2292 	* libdw.h: Define Dwarf_Line.  Add some function attributes.  Declare
   2293 	dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc.
   2294 	* libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno,
   2295 	and dwarf_linesrc.
   2296 	* libdwP.h: Add more error codes.
   2297 	(struct Dwarf): Remove mem_tail.next member.
   2298 	(Dwarf_File): Define type.
   2299 	(struct Dwarf_Line_s): Define type.
   2300 	(struct Dwarf_CU): Add lines and nlines members.
   2301 	(libdw_alloc): Define local variable _tail and use it.
   2302 	Add some function attributes.
   2303 	* libdw_alloc.c (__libdw_allocate): Don't initialize next member.
   2304 	* libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members.
   2305 	* memory-access.h: Add unlikely for the endian conversion paths.
   2306 	* Makefile.am (AM_CFLAGS): Add -std parameter.
   2307 	(libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die,
   2308 	dwarf_lineno, and dwarf_linesrc.
   2309 
   2310 2003-08-11  Ulrich Drepper  <drepper (a] redhat.com>
   2311 
   2312 	* Moved to CVS archive.
   2313