Home | History | Annotate | Download | only in libdwfl
      1 2014-12-19  Mark Wielaard  <mjw (a] redhat.com>
      2 
      3 	* dwfl_module_getdwarf.c (find_symtab): Always try find_dynsym last.
      4 
      5 2014-12-19  Mark Wielaard  <mjw (a] redhat.com>
      6 
      7 	* elf-from-memory.c (handle_segment): Remove palign sanity check.
      8 
      9 2014-12-18  Mark Wielaard  <mjw (a] redhat.com>
     10 
     11 	* relocate.c (resolve_symbol): Make sure symstrdata->d_buf != NULL.
     12 
     13 2014-12-13  Mark Wielaard  <mjw (a] redhat.com>
     14 
     15 	* dwfl_module_getdwarf.c (find_dynsym): elf_getdata_rawchunk takes
     16 	a size_t, make sure it doesn't overflow.
     17 
     18 2014-12-13  Mark Wielaard  <mjw (a] redhat.com>
     19 
     20 	* cu.c (cudie_offset): Make sure Dwarf_Off difference doesn't
     21 	wrap around before returning as int.
     22 
     23 2014-12-11  Josh Stone  <jistone (a] redhat.com>
     24 
     25 	* dwfl_module_getsrc.c (dwfl_module_getsrc): Return the *last* line
     26 	record <= addr, rather than returning immediately on matches.
     27 
     28 2014-12-09  Mark Wielaard  <mjw (a] redhat.com>
     29 
     30 	* dwfl_segment_report_module.c (handle_file_note): Check count doesn't
     31 	overflow.
     32 
     33 2014-12-07  Mark Wielaard  <mjw (a] redhat.com>
     34 
     35 	* relocate.c (relocate_section): Sanity check section overlap against
     36 	actually used ehsize, shentsize and phentsize.
     37 
     38 2014-12-07  Mark Wielaard  <mjw (a] redhat.com>
     39 
     40 	* offline.c (dwfl_offline_section_address): Assert shndx is not zero.
     41 	* relocate.c (__libdwfl_relocate_value): Don't relocate against
     42 	section zero.
     43 
     44 2014-11-29  Mark Wielaard  <mjw (a] redhat.com>
     45 
     46 	* relocate.c (relocate_section): Check relocation section and target
     47 	section data don't overlap any of the ELF headers.
     48 	(relocate): Check for offset + size overflow.
     49 
     50 2014-11-22  Mark Wielaard  <mjw (a] redhat.com>
     51 
     52 	* link_map.c (consider_executable): Use elf_getphdrnum.
     53 	(dwfl_link_map_report): Likewise.
     54 
     55 2014-11-18  Mark Wielaard  <mjw (a] redhat.com>
     56 
     57 	* dwfl_module_getdwarf.c (find_symtab): Sanity check the data buffer,
     58 	number of symbols and first_global before use.
     59 
     60 2014-11-14  Mark Wielaard  <mjw (a] redhat.com>
     61 
     62 	* dwfl_module_getdwarf.c (load_symtab): Don't use tables which have
     63 	a zero sh_entsize.
     64 
     65 2014-11-10  Mark Wielaard  <mjw (a] redhat.com>
     66 
     67 	* dwfl_module_getdwarf.c (find_dynsym): New inner function
     68 	translate_offs that takes an adjust argument. Try finding
     69 	the symbol table with and without adjusting to main_bias.
     70 
     71 2014-09-26  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
     72 
     73 	Support NT_FILE for locating files.
     74 	* core-file.c (dwfl_core_file_report): New variables note_file and
     75 	note_file_size, set them and pass them to dwfl_segment_report_module.
     76 	* dwfl_segment_report_module.c: Include common.h and fcntl.h.
     77 	(buf_has_data, buf_read_ulong, handle_file_note): New functions.
     78 	(invalid_elf): New function from code of dwfl_segment_report_module.
     79 	(dwfl_segment_report_module): Add parameters note_file and
     80 	note_file_size.  New variables elf and fd, clean them up in finish.
     81 	Move some code to invalid_elf.  Call handle_file_note, if it found
     82 	a name verify the file by invalid_elf.  Protect elf and fd against
     83 	cleanup by finish if we found the file for new Dwfl_Module.
     84 	* libdwflP.h (dwfl_segment_report_module): Add parameters note_file and
     85 	note_file_size.
     86 
     87 2014-09-23  Mark Wielaard  <mjw (a] redhat.com>
     88 
     89 	* dwfl_segment_report_module.c (dwfl_segment_report_module):
     90 	Extract ei_class, ei_data and e_type early and use the result.
     91 
     92 2014-09-18  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
     93 
     94 	* dwfl_build_id_find_elf.c (dwfl_build_id_find_elf): Use IS_EXECUTABLE.
     95 	* dwfl_segment_report_module.c (dwfl_segment_report_module): Set
     96 	IS_EXECUTABLE.
     97 	* libdwflP.h (struct Dwfl_Module): New field is_executable.
     98 
     99 2014-08-28  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    100 
    101 	* dwfl_module_getdwarf.c (find_offsets): Add parameter main_bias, use
    102 	it.
    103 	(find_dynsym): Pass the new parameter main_bias.
    104 
    105 2014-08-14  Mark Wielaard  <mjw (a] redhat.com>
    106 
    107 	* linux-kernel-modules.c (check-suffix): Also TRY .ko.xz.
    108 
    109 2014-07-24  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    110 
    111 	Fix report_r_debug for prelinked libraries.
    112 	* link_map.c (report_r_debug): Comment out variable l_addr.
    113 	Use instead new variable base recalculated from l_ld.
    114 
    115 2014-06-24  Kurt Roeckx  <kurt (a] roeckx.be>
    116 
    117 	* linux-pid-attach.c: Make it build on non linux hosts.
    118 
    119 2014-06-17  Mark Wielaard  <mjw (a] redhat.com>
    120 
    121 	* frame_unwind.c (handle_cfi): Use ebl_func_addr_mask.
    122 	* dwfl_module_getsym.c (__libdwfl_getsym): Likewise.
    123 
    124 2014-06-15  Mark Wielaard  <mjw (a] redhat.com>
    125 
    126 	* linux-core-attach.c (core_memory_read): Use libdw/memory-access.h
    127 	macros read_4ubyte_unaligned_noncvt and read_8ubyte_unaligned_noncvt
    128 	to read possibly unaligned data.
    129 	(core_next_thread): Likewise.
    130 	(core_set_initial_registers): Likewise.
    131 	(dwfl_core_file_attach): Likewise.
    132 
    133 2014-06-11  Mark Wielaard  <mjw (a] redhat.com>
    134 
    135 	* dwfl_frame.c (__libdwfl_process_free): Reset dwfl->attacherr.
    136 	(dwfl_attach_state): Set dwfl->attacherr.
    137 	(dwfl_pid): Check and return dwfl->attacherr if set.
    138 	(dwfl_getthreads): Likewise.
    139 	(getthread): Likewise.
    140 	* libdwflP.h: Add DWFL_E_NO_CORE_FILE.
    141 	(struct Dwfl): Add attacherr field.
    142 	* linux-core-attach.c (dwfl_core_file_attach): Set dwfl->attacherr.
    143 	Don't assert if ELF file is not ET_CORE, just return error.
    144 	* linux-pid-attach.c (dwfl_linux_proc_attach): Set dwfl->attacherr.
    145 
    146 2014-06-10  Mark Wielaard  <mjw (a] redhat.com>
    147 
    148 	* argp-std.c (parse_opt): Ignore errors from dwfl_core_file_attach
    149 	or dwfl_linux_proc_attach.
    150 
    151 2014-05-15  Mark Wielaard  <mjw (a] redhat.com>
    152 
    153 	* linux-proc-maps.c (grovel_auxv): Close fd on error.
    154 
    155 2014-05-02  Mark Wielaard  <mjw (a] redhat.com>
    156 
    157 	* dwfl_module_getdwarf: Remove ENABLE_DWZ ifdefs so find_debug_altlink
    158 	is always called.
    159 
    160 2014-05-01  Mark Wielaard  <mjw (a] redhat.com>
    161 
    162 	* libdwflP.h (struct Dwfl_Module): Add alt, alt_fd and alt_elf fields.
    163 	(__libdwfl_open_mod_by_build_id): Renamed __libdwfl_open_by_build_id.
    164 	(__libdwfl_open_by_build_id): New declaration that takes an explicit
    165 	build-id.
    166 	* dwfl_build_id_find_debuginfo.c (dwfl_build_id_find_debuginfo): If
    167 	we already have the Dwarf then look for the alt dwz multi file by
    168 	build-id.
    169 	* dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Add the
    170 	build-id we are looking for as argument.
    171 	(__libdwfl_open_mod_by_build_id): New function, calls
    172 	__libdwfl_open_by_build_id.
    173 	(dwfl_build_id_find_elf): Call __libdwfl_open_mod_by_build_id.
    174 	* dwfl_module.c (__libdwfl_module_free): Release alt, alt_elf and
    175 	close alt_fd if necessary.
    176 	* dwfl_module_getdwarf.c (__check_build_id): Removed.
    177 	(try_debugaltlink): Removed.
    178 	(open_debugaltlink): Removed.
    179 	(open_elf_file): First half of open_elf that just opens the elf
    180 	file but doesn't setup the load address.
    181 	(open_elf): Call open_elf_file.
    182 	(find_debug_altlink): New function.
    183 	(load_dw): Remove loading of dwz multifile.
    184 	(find_dw): Call find_debug_altlink.
    185 	* find-debuginfo.c (validate): Handle alt debug case using
    186 	dwelf_dwarf_gnu_debugaltlink and mod->alt_elf.
    187 	(find_debuginfo_in_path): Handle alt debug files possibly in .dwz
    188 	subdirs.
    189 	* linux-kernel-modules.c (try_kernel_name): Use fakemod.debug.name
    190 	to store name to find by dwfl_standard_find_debuginfo instead of
    191 	allocating an extra variable on stack.
    192 
    193 2014-04-30  Mark Wielaard  <mjw (a] redhat.com>
    194 
    195 	* dwfl_module_build_id.c (__libdwfl_find_elf_build_id): Moved to
    196 	dwelf_elf_gnu_build_id.c.
    197 	(__libdwfl_find_build_id): Add assert to make sure mod is never NULL.
    198 	* dwfl_segment_report_module.c (dwfl_segment_report_module): Call
    199 	dwelf_elf_gnu_build_id directly instead of __libdwfl_find_build_id.
    200 	* dwfl_module_getdwarf.c (__check_build_id): Implement using
    201 	dwelf_elf_gnu_build_id.
    202 
    203 2014-04-15  Florian Weimer  <fweimer (a] redhat.com>
    204 
    205 	* dwfl_module_getdwarf.c (__check_build_id): Moved from libdw.
    206 	(try_debugaltlink): Likewise.
    207 	(open_debugaltlink): Likewise.
    208 	(load_dw): Locate alternate debug information using
    209 	dwelf_dwarf_gnu_debugaltlink and call open_debugaltlink.
    210 
    211 2014-04-11  Mark Wielaard  <mjw (a] redhat.com>
    212 
    213 	* Makefile.am (AM_CPPFLAGS): Add libdwelf.
    214 	* libdwflP.h: Include libdwelfP.h.
    215 	* dwfl_module_getdwarf.c (find_debuglink): Moved to libdwelf.
    216 	(find_debuginfo): Use dwelf_elf_gnu_debuglink.
    217 
    218 2014-04-22  Mark Wielaard  <mjw (a] redhat.com>
    219 
    220 	* frame_unwind.c (__libdwfl_frame_reg_get): Use uint64_t when
    221 	checking bits.
    222 	(__libdwfl_frame_reg_set): Likewise.
    223 
    224 2014-04-22  Kurt Roeckx  <kurt (a] roeckx.be>
    225 
    226 	* linux-pid-attach.c: Make linux only.
    227 
    228 2014-03-14  Mark Wielaard  <mjw (a] redhat.com>
    229 
    230 	* Makefile.am: Remove !MUDFLAP and MUDFLAP conditions.
    231 	Remove libelf and libdw definitions when MUDFLAP is defined.
    232 	* argp-std.c (__libdwfl_argp_mudflap_options): Removed.
    233 
    234 2014-03-03  Mark Wielaard  <mjw (a] redhat.com>
    235 
    236 	* elf-from-memory.c (elf_from_remote_memory): Keep track of
    237 	segments_end_mem. Pass memsz to first handle_segment pass. Only
    238 	extend contents_size and use shdrs if only file bits are in
    239 	segment.
    240 
    241 2014-03-11  Josh Stone  <jistone (a] redhat.com>
    242 
    243 	* dwfl_module_getdwarf.c (open_elf): Only explicitly set
    244 	mod->e_type when processing the main ELF file.
    245 
    246 2014-03-04  Mark Wielaard  <mjw (a] redhat.com>
    247 
    248 	* libdwflP.h (struct __libdwfl_pid_arg): Moved here and renamed from
    249 	linux-pid-attach.c (struct pid_arg).
    250 	(__libdwfl_get_pid_arg): New internal function declaration.
    251 	(__libdwfl_ptrace_attach): Likewise.
    252 	(__libdwfl_ptrace_detach): Likewise.
    253 	* dwfl_frame.c (dwfl_attach_state): Add "(deleted)" files to the
    254 	special exception modules that cannot be checked at this point.
    255 	* linux-pid-attach.c (struct pid_arg): Moved to libdwflP.h
    256 	(ptrace_attach): Renamed to...
    257 	(__libdwfl_ptrace_attach): New internal function.
    258 	(__libdwfl_ptrace_detach): Likewise. Extracted from ...
    259 	(pid_thread_detach): Call __libdwfl_ptrace_detach now.
    260 	(__libdwfl_get_pid_arg): New internal function.
    261 	* linux-proc-maps.c (dwfl_linux_proc_find_elf): Check if special
    262 	module name contains "(deleted)" and dwfl_pid gives an attached
    263 	pid. If pid is set and try to (re)use ptrace attach state of
    264 	process before reading memory.
    265 
    266 2014-03-03  Mark Wielaard  <mjw (a] redhat.com>
    267 
    268 	* elf-from-memory.c (elf_from_remote_memory): Take pagesize as
    269 	argument. Free buffer when detecting bad elf. Check PT_LOAD
    270 	alignment requirements on first handle_segment pass. Calculate
    271 	loadbase, start and end of segment using pagesize, not p_align.
    272 	* linux-proc-maps.c (dwfl_linux_proc_find_elf): Provide pagesize
    273 	to elf_from_remote_memory.
    274 
    275 2014-02-26  Mark Wielaard  <mjw (a] redhat.com>
    276 
    277 	* linux-proc-maps.c (proc_maps_report): Don't assert on bad input.
    278 
    279 2014-02-26  Mark Wielaard  <mjw (a] redhat.com>
    280 
    281 	* elf-from-memory.c (elf_from_remote_memory): Check against p64
    282 	p_type in case ELFCLASS64, not against p32 p_type.
    283 
    284 2014-01-17  Petr Machata  <pmachata (a] redhat.com>
    285 
    286 	* relocate.c (relocate_section): Use gelf_fsize instead of relying
    287 	on shdr->sh_entsize.
    288 
    289 2014-01-05  Mark Wielaard  <mjw (a] redhat.com>
    290 
    291 	* frame_unwind.c (handle_cfi): Only skip resetting return register
    292 	if the regno is not the actual CIE return address register.
    293 
    294 2014-01-02  Mark Wielaard  <mjw (a] redhat.com>
    295 
    296 	* linux-pid-attach.c (dwfl_linux_proc_attach): Use strtol, not atoi.
    297 
    298 2013-12-30  Mark Wielaard  <mjw (a] redhat.com>
    299 
    300 	* argp-std.c (parse_opt): Call dwfl_linux_proc_attach and
    301 	dwfl_core_file_attach explicitly.
    302 	* core-file.c (dwfl_core_file_report): Don't call
    303 	__libdwfl_attach_state_for_core implicitly.
    304 	* dwfl_begin.c (dwfl_begin): Remove setting of process_attach_error.
    305 	* dwfl_frame.c (dwfl_pid): Set errno to DWFL_E_NO_ATTACH_STATE, not
    306 	process_attach_error.
    307 	(dwfl_getthreads): Likewise.
    308 	(getthread): Likewise.
    309 	* libdwfl.h (dwfl_core_file_report): Update documentation.
    310 	(dwfl_linux_proc_report): Likewise.
    311 	(dwfl_core_file_attach): New function declaration.
    312 	(dwfl_linux_proc_attach): Likewise.
    313 	* libdwflP.h (struct Dwfl): Remove process_attach_error.
    314 	(__libdwfl_attach_state_for_pid): Removed declaration.
    315 	(__libdwfl_attach_state_for_core): Likewise.
    316 	(dwfl_core_file_attach): New internal declaration.
    317 	(dwfl_linux_proc_attach): Likewise.
    318 	(attach_state_for_core): Renamed to...
    319 	(dwfl_core_file_attach): ...this. Change return type.
    320 	(__libdwfl_attach_state_for_core): Removed.
    321 	* linux-pid-attach.c (struct pid_arg): Add assume_ptrace_stopped.
    322 	(pid_set_initial_registers): Check assume_ptrace_stopped before
    323 	calling ptrace.
    324 	(pid_thread_detach): Likewise.
    325 	(__libdwfl_attach_state_for_pid): Renamed to...
    326 	(dwfl_linux_proc_attach): ...this. Adjust return type.
    327 	* linux-proc-maps.c (dwfl_linux_proc_report): Don't call
    328 	__libdwfl_attach_state_for_pid implicitly.
    329 
    330 2013-12-28  Mark Wielaard  <mjw (a] redhat.com>
    331 
    332 	* linux-proc-maps.c (dwfl_linux_proc_find_elf): Don't return special
    333 	character device files, only regular files.
    334 
    335 2013-12-24  Mark Wielaard  <mjw (a] redhat.com>
    336 
    337 	* linux-core-attach.c (core_next_thread): Check whether thread_argp
    338 	is NULL. Reset core_arg->thread_note_offset and malloc a thread_arg
    339 	in that case. Free thread_arg if there are no more threads.
    340 
    341 2013-12-23  Mark Wielaard  <mjw (a] redhat.com>
    342 
    343 	* dwfl_segment_report_module.c (dwfl_segment_report_module): Free
    344 	build_id before returning early.
    345 
    346 2013-12-23  Mark Wielaard  <mjw (a] redhat.com>
    347 
    348 	* linux-pid-attach.c (__libdwfl_attach_state_for_pid): Report actual
    349 	pid (thread group leader) to dwfl_attach_state.
    350 
    351 2013-12-21  Mark Wielaard  <mjw (a] redhat.com>
    352 
    353 	* frame_unwind.c (handle_cfi): Track whether the return register
    354 	has been set and only allow it to be set once.
    355 
    356 2013-12-20  Mark Wielaard  <mjw (a] redhat.com>
    357 
    358 	* dwfl_frame.c (one_arg): New struct.
    359 	(get_one_thread_cb): New function.
    360 	(dwfl_getthread): Likewise.
    361 	(one_thread): New struct.
    362 	(get_one_thread_frames_cb): New function.
    363 	(dwfl_getthread_frames): Likewise.
    364 	* libdwfl.h (Dwfl_Thread_Callbacks): Add get_thread function.
    365 	(dwfl_getthread_frames): Likewise.
    366 	* libdwflP.h (dwfl_getthread_frames): New internal function declaration.
    367 	* linux-core-attach.c (core_thread_callbacks): Initialize get_thread
    368 	to NULL.
    369 	* linux-pid-attach.c (pid_getthread): New function.
    370 	(pid_thread_callbacks): Initialize get_thread to pid_getthread.
    371 
    372 2013-12-20  Mark Wielaard  <mjw (a] redhat.com>
    373 
    374 	* linux-kernel-modules.c (report_kernel_archive): Correct nested
    375 	asprintf result check for debug.a.
    376 
    377 2013-12-18  Mark Wielaard  <mjw (a] redhat.com>
    378 
    379 	* derelocate.c (__libdwfl_find_section_ndx): New internal function.
    380 	* dwfl_module_addrname.c (dwfl_module_addrname): Use
    381 	dwfl_module_addrinfo.
    382 	* dwfl_module_addrsym.c (dwfl_module_addrsym_elf): Replace with...
    383 	(__libdwfl_addrsym): ...this. Use __libdwfl_getsym, use value
    384 	for comparisons, not st_value. Fill in off. Search for both value
    385 	and the (adjusted) sym.st_value when different.
    386 	(dwfl_module_addrsym): Implement using __libdwfl_addrsym.
    387 	(dwfl_module_addrinfo): New function.
    388 	* dwfl_module_getsym.c (dwfl_module_getsym_elf): Replace with...
    389 	(__libdwfl_getsym): ...this. Use ebl_resolve_sym_value if requested
    390 	and possible. Adjust sym->st_value only when requested. Fill in addr
    391 	if available.
    392 	(dwfl_module_getsym_info): New function.
    393 	(dwfl_module_getsym): Use __libdwfl_getsym.
    394 	* libdwfl.h (dwfl_module_getsym_elf): Removed.
    395 	(dwfl_module_getsym_info): New function declaration.
    396 	(dwfl_module_addrinfo): Likewise.
    397 	(dwfl_module_addrsym): Add documentation describing differences
    398 	with addrinfo variants.
    399 	(dwfl_module_addrsym_elf): Removed.
    400 	* libdwflP.h (__libdwfl_getsym): New internal function declaration.
    401 	(__libdwfl_addrsym): Likewise.
    402 	(__libdwfl_find_section_ndx): Likewise.
    403 	(dwfl_module_addrinfo): New internal declaration.
    404 	(dwfl_module_getsym_info): Likewise.
    405 	(dwfl_module_addrsym_elf): Removed.
    406 	(dwfl_module_getsym_elf): Likewise.
    407 
    408 2013-12-18  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    409 
    410 	* argp-std.c (offline_find_elf): Remove.
    411 	(offline_callbacks): Use dwfl_build_id_find_elf instead.
    412 	* dwfl_build_id_find_elf.c (dwfl_build_id_find_elf): Move here the code
    413 	removed above.
    414 
    415 2013-12-18  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    416 
    417 	unwinder: s390 and s390x
    418 	* dwfl_frame_pc.c (dwfl_frame_pc): Call ebl_normalize_pc.
    419 	* frame_unwind.c (new_unwound): New function from ...
    420 	(handle_cfi): ... here.  Call it.
    421 	(setfunc, getfunc, readfunc): New functions.
    422 	(__libdwfl_frame_unwind): Call ebl_unwind with those functions.
    423 	* linux-core-attach.c (core_set_initial_registers): Always iterate
    424 	through the Ebl_Register_Location loop.  Call
    425 	dwfl_thread_state_register_pc there.
    426 
    427 2013-12-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    428 
    429 	* frame_unwind.c (handle_cfi): Call ebl_dwarf_to_regno for RA.
    430 
    431 2013-12-17  Mark Wielaard  <mjw (a] redhat.com>
    432 
    433 	* linux-pid-attach.c (pid_next_thread): Call rewinddir on first
    434 	traversal.
    435 
    436 2013-12-16  Mark Wielaard  <mjw (a] redhat.com>
    437 
    438 	* libdwfl.h (dwfl_module_getsymtab_first_global): New function
    439 	definition.
    440 	* dwfl_module_getdwarf.c (dwfl_module_getsymtab_first_global): New
    441 	function.
    442 	* libdwflP.h (dwfl_module_getsymtab_first_global): New internal
    443 	function definition.
    444 	* dwfl_module_addrsym.c (dwfl_module_addrsym_elf): Use new function.
    445 
    446 2013-12-14  Mark Wielaard  <mjw (a] redhat.com>
    447 
    448 	* dwfl_module.c (__libdwfl_module_free): Free mod->reloc_info if
    449 	allocated. Call dwarf_cfi_end on mod->eh_cfi if necessary.
    450 	* frame_unwind.c (handle_cfi): Free frame result from
    451 	dwarf_cfi_addrframe when done.
    452 
    453 2013-12-15  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    454 
    455 	unwinder: ppc and ppc64
    456 	* frame_unwind.c (__libdwfl_frame_reg_get, __libdwfl_frame_reg_set):
    457 	Call ebl_dwarf_to_regno.
    458 	* linux-core-attach.c (core_set_initial_registers): Implement
    459 	pc_register support.
    460 	* linux-pid-attach.c (pid_thread_state_registers_cb): Implement
    461 	FIRSTREG -1.
    462 
    463 2013-11-30  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    464 
    465 	Introduce process_attach_error.
    466 	* dwfl_begin.c (dwfl_begin): Initialize process_attach_error.
    467 	* dwfl_frame.c (dwfl_pid, dwfl_getthreads): Use PROCESS_ATTACH_ERROR if
    468 	PROCESS is NULL.
    469 	* libdwflP.h (struct Dwfl): New field process_attach_error.
    470 	* linux-core-attach.c (__libdwfl_attach_state_for_core): Rename to ...
    471 	(attach_state_for_core): ... here, make it static, change return type,
    472 	no longer use __libdwfl_seterrno.
    473 	(__libdwfl_attach_state_for_core): New wrapper for it.
    474 
    475 2013-11-27  Mark Wielaard  <mjw (a] redhat.com>
    476 
    477 	* dwfl_module_addrsym.c (dwfl_module_addrsym): Rename to and call...
    478 	(dwfl_module_addrsym_elf): this. Add elfp and biasp arguments,
    479 	keep track of symelf, addr_symelf, closest_elf and sizeless_elf
    480 	instead of tracking dwfl_files.
    481 	* dwfl_module_getsym.c (__libdwfl_module_getsym): Renamed to...
    482 	(dwfl_module_getsym_elf): ...this. Remove dwfl_file argument, add
    483 	new elfp and biasp arguments. Track elf instead of file.
    484 	(dwfl_module_getsym): Call dwfl_module_getsym_elf.
    485 	dwfl_module_info.c (dwfl_module_info): Pass elf to
    486 	dwfl_adjusted_st_value.
    487 	* libdwfl.h (dwfl_module_getsym): Document limitations of shndx.
    488 	(dwfl_module_getsym_elf): New function declaration.
    489 	(dwfl_module_addrsym_elf): Likewise.
    490 	* libdwflP.h (dwfl_module_addrsym_elf): INTDECL.
    491 	(dwfl_module_getsym_elf): Likewise.
    492 	(dwfl_adjusted_st_value): Take and check elf not dwfl_file.
    493 	(dwfl_deadjust_st_value): Likewise.
    494 	(__libdwfl_module_getsym): Removed.
    495 	* relocate.c (resolve_symbol): Pass elf to dwfl_adjusted_st_value.
    496 
    497 2013-11-21  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    498 
    499 	Fix non-build-id core files on build-id system.
    500 	* link_map.c (report_r_debug): Remove valid clearing if build-id cannot
    501 	be read from memory.
    502 
    503 2013-11-21  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    504 
    505 	* dwfl_segment_report_module.c (dwfl_segment_report_module): New
    506 	variable close_elf.  Call __libdwfl_find_elf_build_id and compare the
    507 	content, if possible.
    508 
    509 2013-11-21  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    510 
    511 	link_map: Use proper bias, not l_addr.
    512 	* core-file.c (dynamic_vaddr_get): Rename to ...
    513 	(__libdwfl_dynamic_vaddr_get): ... here, make it global,
    514 	internal_function.
    515 	(dwfl_core_file_report): Update name in the caller.
    516 	* libdwflP.h (__libdwfl_dynamic_vaddr_get): New declaration.
    517 	* link_map.c (report_r_debug): New variable elf_dynamic_vaddr.  Call
    518 	__libdwfl_dynamic_vaddr_get for it.  Remove L_ADDR FIXME comment.
    519 	Use ELF_DYNAMIC_VADDR instead of L_ADDR.
    520 
    521 2013-11-19  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    522 
    523 	Compatibility with older kernels such as RHEL-6.
    524 	* linux-pid-attach.c (struct pid_arg): New field tid_was_stopped.
    525 	(ptrace_attach): New parameter tid_was_stoppedp.  Set it.
    526 	(pid_set_initial_registers): Pass tid_was_stopped.
    527 	(pid_thread_detach): Use tid_was_stopped.
    528 
    529 2013-11-18  Josh Stone  <jistone (a] redhat.com>
    530 
    531 	* dwfl_module_getdwarf.c (find_aux_address_sync): New function.
    532 	(find_aux_sym): Use it.
    533 
    534 2013-11-14  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    535 
    536 	Code cleanup: Remove const in prototype
    537 	* dwfl_frame_regs.c (dwfl_thread_state_registers): Remove const from
    538 	firstreg.
    539 	* libdwfl.h (dwfl_thread_state_registers): Likewise.
    540 	* linux-pid-attach.c (pid_thread_state_registers_cb): Likewise.
    541 
    542 2013-11-14  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    543 
    544 	Fix dwfl_attach_state machine->elf.
    545 	* dwfl_frame.c (dwfl_attach_state): Change parameter machine to elf.
    546 	Call ebl_openbackend instead of ebl_openbackend_machine.
    547 	* libdwfl.h (dwfl_attach_state): Change parameter machine to elf.
    548 	Update the function description.
    549 	* linux-core-attach.c (__libdwfl_attach_state_for_core): Pass CORE to
    550 	dwfl_attach_state.
    551 	* linux-pid-attach.c (__libdwfl_attach_state_for_pid): Pass NULL to
    552 	dwfl_attach_state.
    553 
    554 2013-11-06  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    555 
    556 	Provide __libdwfl_module_getsym to get dwfl_file *.
    557 	* dwfl_module_addrsym.c (dwfl_module_addrsym) (i_to_symfile): Remove.
    558 	(dwfl_module_addrsym) (search_table): New variable file.  Use
    559 	__libdwfl_module_getsym.  Use file.
    560 	* dwfl_module_getsym.c (dwfl_module_getsym): Rename to ...
    561 	(__libdwfl_module_getsym): ... here.  Add parameter filep.  Set it.
    562 	(dwfl_module_getsym): New wrapper.
    563 	* libdwflP.h (__libdwfl_module_getsym): New declaration.
    564 
    565 2013-11-13  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    566 
    567 	Fix dwfl_module_addrsym for minidebuginfo.
    568 	* dwfl_module_addrsym.c (dwfl_module_addrsym): New variable
    569 	addr_symfile.
    570 	(dwfl_module_addrsym) (same_section): Use it.
    571 	(dwfl_module_addrsym) (i_to_symfile): New function.
    572 	(dwfl_module_addrsym) (search_table): Use it.
    573 
    574 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    575 	    Mark Wielaard  <mjw (a] redhat.com>
    576 
    577 	* Makefile.am (libdwfl_a_SOURCES): Add dwfl_frame.c, frame_unwind.c,
    578 	dwfl_frame_pc.c, linux-pid-attach.c, linux-core-attach.c and
    579 	dwfl_frame_regs.c.
    580 	* core-file.c (dwfl_core_file_report): Call
    581 	__libdwfl_attach_state_for_core.
    582 	* dwfl_end.c (dwfl_end): Call __libdwfl_process_free.
    583 	* dwfl_frame.c: New file.
    584 	* frame_unwind.c: New file.
    585 	* dwfl_frame_pc.c: New file.
    586 	* linux-pid-attach.c: New file.
    587 	* linux-core-attach.c: New file.
    588 	* dwfl_frame_regs.c: New file.
    589 	* libdwfl.h (Dwfl_Thread, Dwfl_Frame): New typedefs.
    590 	(dwfl_core_file_report, dwfl_linux_proc_report): Extend comments.
    591 	(Dwfl_Thread_Callbacks): New definition.
    592 	(struct ebl, dwfl_attach_state, dwfl_pid, dwfl_thread_dwfl)
    593 	(dwfl_thread_tid, dwfl_frame_thread, dwfl_thread_state_registers)
    594 	(dwfl_thread_state_register_pc, dwfl_getthreads, dwfl_thread_getframes)
    595 	(dwfl_frame_pc): New declarations.
    596 	* libdwflP.h (Dwfl_Process): New typedef.
    597 	(LIBEBL_BAD, CORE_MISSING, INVALID_REGISTER, PROCESS_MEMORY_READ)
    598 	(PROCESS_NO_ARCH, PARSE_PROC, INVALID_DWARF, UNSUPPORTED_DWARF)
    599 	(NEXT_THREAD_FAIL, ATTACH_STATE_CONFLICT, NO_ATTACH_STATE, NO_UNWIND)
    600 	(INVALID_ARGUMENT): New DWFL_ERROR entries.
    601 	(struct Dwfl): New entry process.
    602 	(struct Dwfl_Process, struct Dwfl_Thread, struct Dwfl_Frame)
    603 	(__libdwfl_frame_reg_get, __libdwfl_frame_reg_set)
    604 	(__libdwfl_process_free, __libdwfl_frame_unwind)
    605 	(__libdwfl_attach_state_for_pid, __libdwfl_attach_state_for_core)
    606 	(__libdwfl_segment_start, __libdwfl_segment_end): New declarations.
    607 	(dwfl_attach_state, dwfl_pid, dwfl_thread_dwfl, dwfl_thread_tid)
    608 	(dwfl_frame_thread, dwfl_thread_state_registers)
    609 	(dwfl_thread_state_register_pc, dwfl_getthreads, dwfl_thread_getframes)
    610 	(dwfl_frame_pc): New INTDECL entries.
    611 	* linux-proc-maps.c (dwfl_linux_proc_report): Call
    612 	__libdwfl_attach_state_for_pid.
    613 	* segment.c (segment_start): Rename to ...
    614 	(__libdwfl_segment_start): ... here and make it internal_function.
    615 	(segment_end): Rename to ...
    616 	(__libdwfl_segment_end): ... here and make it internal_function.
    617 	(reify_segments, dwfl_report_segment): Rename them at the callers.
    618 
    619 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    620 
    621 	* core-file.c (dwfl_core_file_report): Remove the use of MAX.
    622 
    623 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    624 
    625 	* core-file.c (dwfl_core_file_report): Replaced variable sniffed by
    626 	retval.  Fix one forgotten LISTED increase.
    627 
    628 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    629 
    630 	Fix core files for re-prelink-ed files.
    631 	* core-file.c (dynamic_vaddr_get): New function.
    632 	(dwfl_core_file_report): New variable file_dynamic_vaddr.  Call
    633 	dynamic_vaddr_get instead of using L_ADDR.
    634 	* libdwflP.h (struct r_debug_info_module): Remove field l_addr.
    635 	* link_map.c (report_r_debug): Do not initialize l_addr.
    636 
    637 2013-11-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    638 
    639 	Code cleanup.
    640 	* core-file.c (dwfl_core_file_report): Reindent block of code by
    641 	continue keyword.
    642 
    643 2013-10-30  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    644 
    645 	* argp-std.c (parse_opt): Use executable parameter of
    646 	dwfl_core_file_report.
    647 	* core-file.c (dwfl_core_file_report): Add parameter executable.  Set
    648 	it to DWFL.  Add NEW_VERSION for it.
    649 	(_compat_without_executable_dwfl_core_file_report): New.  Twice.
    650 	* libdwfl.h (dwfl_core_file_report): Add parameter executable, update
    651 	the function comment.
    652 
    653 2013-10-15  Mark Wielaard  <mjw (a] redhat.com>
    654 
    655 	* linux-proc-maps.c (proc_maps_report): Ignore non-absolute file
    656 	mappings.
    657 	(dwfl_linux_proc_find_elf): Don't abort, just return failure.
    658 
    659 2013-09-12  Mark Wielaard  <mjw (a] redhat.com>
    660 
    661 	* cu.c (intern_cu): If dwarf_offdie fails free cu.
    662 
    663 2013-09-12  Mark Wielaard  <mjw (a] redhat.com>
    664 
    665 	* linux-proc-maps.c (proc_maps_report): Don't fclose FILE in
    666 	bad_report.
    667 
    668 2013-09-12  Mark Wielaard  <mjw (a] redhat.com>
    669 
    670 	* dwfl_module_getdwarf.c (find_symtab): Call elf_getdata with
    671 	aux_xndxscn, not xndxscn, for aux_symxndxdata.
    672 
    673 2013-08-25  Mark Wielaard  <mjw (a] redhat.com>
    674 
    675 	* linux-kernel-modules.c (report_kernel): Pass add_p_vaddr as true
    676 	to dwfl_report_elf.
    677 
    678 2013-07-25  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    679 
    680 	* dwfl_segment_report_module.c (dwfl_segment_report_module): Check for
    681 	conflicts all the modules, not just the first one.  Compare L_LD if it
    682 	is equal, not if it is in a module address range.
    683 
    684 2013-07-23  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    685 
    686 	* libdwflP.h (__libdwfl_elf_address_range): Add internal_function.
    687 
    688 2013-07-23  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    689 
    690 	* core-file.c (clear_r_debug_info): Close also ELF and FD.
    691 	(dwfl_core_file_report): Call __libdwfl_report_elf for
    692 	R_DEBUG_INFO.MODULE.
    693 	* dwfl_report_elf.c (__libdwfl_elf_address_range): New function from
    694 	code of ...
    695 	(__libdwfl_report_elf): ... this function.  Call it.
    696 	* dwfl_segment_report_module.c: Include unistd.h.
    697 	(dwfl_segment_report_module): Use basename for MODULE->NAME.
    698 	Clear MODULE if it has no build-id and we have segment with build-id.
    699 	Ignore this segment only if MODULE still contains valid ELF.
    700 	* libdwflP.h (__libdwfl_elf_address_range): New declaration.
    701 	(struct r_debug_info_module): New fields fd, elf, l_addr, start, end
    702 	and disk_file_has_build_id.
    703 	(dwfl_link_map_report): Extend the comment.
    704 	* link_map.c (report_r_debug): Extend the comment.  Always fill in new
    705 	r_debug_info_module.  Initialize also the new r_debug_info_module
    706 	fields.  Remove one FIXME comment.  Call __libdwfl_elf_address_range
    707 	instead of __libdwfl_report_elf when R_DEBUG_INFO is not NULL.
    708 
    709 2013-07-19  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    710 
    711 	* libdwflP.h (__libdwfl_find_elf_build_id): Add internal_function.
    712 
    713 2013-07-02  Mark Wielaard  <mjw (a] redhat.com>
    714 
    715 	* relocate.c (__libdwfl_relocate_value): Remove mod->e_type assert.
    716 
    717 2013-06-05  Mark Wielaard  <mjw (a] redhat.com>
    718 
    719 	* link_map.c (report_r_debug): Always call release_buffer after
    720 	memory_callback succeeded reading build_id.
    721 
    722 2013-05-30  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    723 
    724 	* argp-std.c (parse_opt) <ARGP_KEY_SUCCESS> <opt->core> <opt->e>: Set
    725 	executable_for_core before calling dwfl_core_file_report.
    726 	* core-file.c (clear_r_debug_info): New function.
    727 	(dwfl_core_file_report): Move raw segments reporting lower.  New
    728 	variable r_debug_info, pass it to dwfl_segment_report_module.  Call
    729 	clear_r_debug_info in the end.  Return sum of LISTED and SNIFFED.
    730 	* dwfl_module_build_id.c (check_notes): Move into
    731 	__libdwfl_find_elf_build_id.
    732 	(__libdwfl_find_build_id): Rename to ...
    733 	(__libdwfl_find_elf_build_id): ... here.  Add parameters build_id_bits,
    734 	build_id_elfaddr and build_id_len.  Verify MOD vs. ELF.
    735 	(__libdwfl_find_elf_build_id) (check_notes): Remove parameters mod and
    736 	set, rename data_vaddr to data_elfaddr.  Do not call found_build_id.
    737 	(__libdwfl_find_elf_build_id): Update the check_notes caller, do not
    738 	adjust its data_elfaddr parameter.
    739 	(__libdwfl_find_build_id): New wrapper of __libdwfl_find_elf_build_id.
    740 	* dwfl_segment_report_module.c (dwfl_segment_report_module): New
    741 	parameter r_debug_info.  New variable name_is_final.  Adjust addresses
    742 	according to R_DEBUG_INFO->MODULE.  Check conflicts against DWFL.
    743 	Do not overwrite NAME by SONAME if NAME_IS_FINAL.
    744 	* libdwflP.h (__libdwfl_find_elf_build_id): New declaration.
    745 	(struct r_debug_info_module, struct r_debug_info): New definitions.
    746 	(dwfl_segment_report_module, dwfl_link_map_report): Add parameter
    747 	r_debug_info.
    748 	* link_map.c: Include fcntl.h.
    749 	(report_r_debug): Add parameter r_debug_info, describe it in the
    750 	function comment.  Delete dwfl_addrmodule call and its dependent code.
    751 	Verify build-id before calling dwfl_report_elf, also supply
    752 	executable_for_core to it.  Store r_debug_info->module info when
    753 	appropriate.
    754 	(dwfl_link_map_report): Add parameter r_debug_info.  New variable
    755 	in_ok.  Try to read IN from EXECUTABLE_FOR_CORE.  Update report_r_debug
    756 	caller parameters.
    757 
    758 2013-04-30  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    759 
    760 	* dwfl_report_elf.c (__libdwfl_report_elf): Add parameter add_p_vaddr.
    761 	Set it to true for ET_EXEC and ET_CORE.  Provide alternative
    762 	setup of START and BIAS if !ADD_P_VADDR.  Set END from BIAS, not BASE.
    763 	(dwfl_report_elf): Add parameter add_p_vaddr.  Pass it down.  Add
    764 	NEW_VERSION.
    765 	(_compat_without_add_p_vaddr_dwfl_report_elf) <SHARED>: New, with
    766 	COMPAT_VERSION.
    767 	* libdwfl.h (dwfl_report_elf): Add parameter add_p_vaddr.  Describe it.
    768 	* libdwflP.h (__libdwfl_report_elf): Add parameter add_p_vaddr.
    769 	* link_map.c (report_r_debug): Use true add_p_vaddr for dwfl_report_elf.
    770 	* linux-kernel-modules.c (report_kernel): Use false add_p_vaddr for
    771 	dwfl_report_elf.
    772 	* offline.c (process_elf): Use true add_p_vaddr for dwfl_report_elf.
    773 
    774 2013-04-27  Mark Wielaard  <mjw (a] redhat.com>
    775 
    776 	* link_map.c: #include system.h.
    777 
    778 2013-04-26  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    779 
    780 	* link_map.c (BE32, BE64, LE32, LE64): Delete the definitions, move
    781 	them to lib/system.h.
    782 
    783 2013-04-24  Mark Wielaard  <mjw (a] redhat.com>
    784 
    785 	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
    786 
    787 2013-03-20  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    788 
    789 	* dwfl_report_elf.c (__libdwfl_report_elf): Remove BASE aligning.
    790 
    791 2013-03-12  Mark Wielaard  <mjw (a] redhat.com>
    792 
    793 	* dwfl_getsrclines.c (dwfl_getsrclines): Return 0 on success.
    794 
    795 2013-02-22  Mark Wielaard  <mjw (a] redhat.com>
    796 
    797 	* open.c (__libdw_gunzip,__libdw_bunzip2,__libdw_unlzma): Define
    798 	as DWFL_E_BADELF when not used.
    799 
    800 2013-02-10  Mark Wielaard  <mjw (a] redhat.com>
    801 
    802 	* argp-std.c (parse_opt): Use opt->core and opt->e explicitly in
    803 	failure messages When handling ARGP_KEY_SUCCESS because arg will
    804 	not have been set.
    805 
    806 2013-01-30  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    807 
    808 	* linux-proc-maps.c: Include system.h.
    809 	(PROCEXEFMT, get_pid_class): New.
    810 	(grovel_auxv): Detect 32-bit vs. 64-bit auxv, possibly call
    811 	get_pid_class.
    812 
    813 2013-01-23  Mark Wielaard  <mjw (a] redhat.com>
    814 
    815 	* dwfl_module_getdwarf.c (find_aux_sym): Don't substract one
    816 	from aux_syments by default.
    817 	(find_symtab): Also succeed when only aux_symdata is found.
    818 	When no symtab is found always try to load auxiliary table.
    819 	(dwfl_module_getsymtab): Substract one from result when both
    820 	tables have symbols.
    821 	* dwfl_module_getsym.c (dwfl_module_getsym): Only skip auxiliary
    822 	zero entry when both tables have symbols.
    823 	* dwfl_module_addrsym.c (dwfl_module_addrsym): Only substract
    824 	one from first_global when both tables have symbols.
    825 
    826 2013-01-16  Mark Wielaard  <mjw (a] redhat.com>
    827 
    828 	* libdwflP.h (struct Dwfl_Module): Add aux_sym, aux_symdata,
    829 	aux_syments, aux_symstrdata, aux_symxndxdata and aux_first_global.
    830 	(dwfl_adjusted_aux_sym_addr): New function.
    831 	(dwfl_deadjust_aux_sym_addr): Likewise.
    832 	(dwfl_adjusted_st_value): Take and check symfile argument.
    833 	(dwfl_deadjust_st_value): Likewise.
    834 	* dwfl_module_getdwarf.c (find_prelink_address_sync): Take and
    835 	use dwfl_file as argument to set address_sync.
    836 	(find_debuginfo): Call find_prelink_address_sync with debug file.
    837 	(find_aux_sym): New function.
    838 	(find_symtab): Use find_aux_sym if all we have is the dynsym table
    839 	and fill in aux DwflModule fields.
    840 	(dwfl_module_getsymtab): Return syments plus aux_syments.
    841 	(load_symtab): Always set first_global.
    842 	* dwfl_module_addrsym.c (dwfl_module_addrsym): Check symfile
    843 	when using same_section. Calculate first_global based on both
    844 	mod->first_global and mod->aux_first_global.
    845 	* dwfl_module.c (__libdwfl_module_free): Free aux_sym.
    846 	* dwfl_module_getsym.c (dwfl_module_getsym): Use auxsym table
    847 	to retrieve symbol and name if necessary, making sure all locals
    848 	from any table come before any globals.
    849 	* dwfl_module_info.c (dwfl_module_info): Call dwfl_adjusted_st_value
    850 	with symfile.
    851 	* relocate.c (resolve_symbol): Likewise.
    852 
    853 2013-01-07  Roland McGrath  <roland (a] hack.frob.com>
    854 
    855 	* link_map.c (auxv_format_probe): Handle unaligned 64-bit data, but
    856 	still assume the data is at least 32-bit aligned anyway.
    857 	(dwfl_link_map_report): Handle unaligned auxv data.
    858 
    859 2012-12-11  Mark Wielaard  <mjw (a] redhat.com>
    860 
    861 	* linux-kernel-modules.c (report_kernel): Only free fname if
    862 	find_kernel_elf succeeds and allocates it.
    863 	(report_kernel_archive): Fix brackets around unlikely expression.
    864 
    865 2012-11-29  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    866 
    867 	* argp-std.c: Update Copyright year.
    868 	(offline_find_elf): New function.
    869 	(offline_callbacks): Use it for find_elf.
    870 	(struct parse_opt): New.
    871 	(parse_opt): New key ARGP_KEY_INIT.  In other make hook struct
    872 	parse_opt pointer from former Dwfl pointer.  Delay 'e and OPT_COREFILE
    873 	processing till ARGP_KEY_SUCCESS.  Initialize state->input already from
    874 	ARGP_KEY_SUCCESS.  Modify the cleanup in ARGP_KEY_ERROR.  Make the
    875 	final state->input initialization optional.
    876 	* dwfl_end.c: Update Copyright year.
    877 	(dwfl_end): Free executable_for_core.
    878 	* libdwflP.h: Update Copyright year.
    879 	(struct Dwfl): New field executable_for_core.
    880 
    881 2012-11-20  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    882 
    883 	* dwfl_report_elf.c (__libdwfl_report_elf): Simplify START and BIAS
    884 	calculation.
    885 
    886 2012-10-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    887 
    888 	* dwfl_module_getdwarf.c (mod_verify_build_id): New function with code
    889 	from ...
    890 	(__libdwfl_getelf): ... here.  Call it.
    891 
    892 2012-10-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    893 
    894 	* libdwfl.h (dwfl_module_getelf): Add __nonnull_attribute__.
    895 
    896 2012-10-10  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    897 
    898 	* dwfl_segment_report_module.c (dwfl_segment_report_module):
    899 	Initialize mod->MAIN_BIAS.
    900 
    901 2012-10-10  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    902 
    903 	* dwfl_module_addrsym.c (dwfl_module_addrsym): New function
    904 	binding_value.  Use it for both zero and non-zero size symbols
    905 	comparisons.
    906 
    907 2012-10-01  Mark Wielaard  <mjw (a] redhat.com>
    908 
    909 	* cu.c (cudie_offset): Don't use type_sig8, it might not be
    910 	initialized and these are always real CUs, never TUs.
    911 
    912 2012-10-01  Mark Wielaard  <mjw (a] redhat.com>
    913 
    914 	* derelocate.c (find_section): Check next section exists before
    915 	accessing it.
    916 
    917 2012-08-01  Petr Machata  <pmachata (a] redhat.com>
    918 
    919 	* offline.c (process_archive_member): Ignore entry "/SYM64/".
    920 
    921 2012-03-28  Roland McGrath  <roland (a] hack.frob.com>
    922 
    923 	* dwfl_segment_report_module.c
    924 	(dwfl_segment_report_module: read_portion): Don't use existing buffer
    925 	when FILESZ is zero (string mode) and available portion doesn't hold
    926 	a terminated string.
    927 
    928 2011-12-02  Roland McGrath  <roland (a] hack.frob.com>
    929 
    930 	* elf-from-memory.c (elf_from_remote_memory): Fix ELFCLASS64 case
    931 	to use elf64_xlatetom and PHDRS.p64.
    932 	Reported by Serge Pavlov <serge.pavlov.at.gnu (a] gmail.com>.
    933 
    934 2011-11-31  Mark Wielaard  <mjw (a] redhat.com>
    935 
    936 	* dwfl_module_addrsym.c (dwfl_module_addrsym): First search all
    937 	global symbols. Then only when that doesn't provide a match search
    938 	all local symbols too.
    939 	* dwfl_module_getdwarf.c (load_symtab): Take first_global int arg
    940 	and fill it in.
    941 	(find_symtab): Initialize mod->first_global and pass it to load_symtab.
    942 	* libdwfl/libdwflP.h (Dwfl_Module): Add first_global field.
    943 
    944 2011-11-31  Mark Wielaard  <mjw (a] redhat.com>
    945 
    946 	* dwfl_module_addrsym.c (dwfl_module_addrsym): Only update
    947 	sizeless_sym if needed and closer to desired addr.
    948 
    949 2011-10-20  Mark Wielaard  <mjw (a] redhat.com>
    950 
    951 	* derelocate.c (cache_sections): Intern mod->reloc_info check.
    952 	(dwfl_module_relocations): Don't check mod->reloc_info.
    953 	(dwfl_module_relocation_info): Likewise.
    954 	(find_section): Likewise.
    955 
    956 2011-07-09  Roland McGrath  <roland (a] hack.frob.com>
    957 
    958 	* image-header.c (LE32): Macro removed (now in lib/system.h).
    959 
    960 2011-04-11  Mark Wielaard  <mjw (a] redhat.com>
    961 
    962 	* linux-kernel-modules.c (vmlinux_suffixes): Guard definition
    963 	by check for zlib, bzlib or lzma defines to check it isn't empty.
    964 	(try_kernel_name): Use same guard for use of vmlinux_suffixes.
    965 
    966 2011-03-08  Roland McGrath  <roland (a] redhat.com>
    967 
    968 	* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
    969 	Reported by Kurt Roeckx <kurt (a] roeckx.be>.
    970 
    971 2011-02-11  Roland McGrath  <roland (a] redhat.com>
    972 
    973 	* linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
    974 	suffixes if corresponding decompression support is enabled.
    975 
    976 2011-02-01  Roland McGrath  <roland (a] redhat.com>
    977 
    978 	* dwfl_module_getdwarf.c (find_prelink_address_sync): Use the
    979 	section-end address as the synchronization point, rather than sh_addr.
    980 
    981 	* dwfl_module_getdwarf.c (find_prelink_address_sync): Discover
    982 	PT_INTERP p_vaddr separately from main phdrs and undo phdrs.
    983 
    984 	* dwfl_module_getdwarf.c (find_prelink_address_sync): Fix pasto in
    985 	last change, so we recognize PT_INTERP in ELFCLASS64 correctly.
    986 
    987 2011-01-11  Roland McGrath  <roland (a] redhat.com>
    988 
    989 	* dwfl_module_getdwarf.c (open_elf): Remove section-based
    990 	address_sync fixup from here.
    991 	(find_prelink_address_sync): New function.
    992 	(find_debuginfo): Call it.
    993 	* libdwflP.h (DWFL_ERRORS): Add BAD_PRELINK error.
    994 
    995 2011-01-04  Roland McGrath  <roland (a] redhat.com>
    996 
    997 	* dwfl_module_getdwarf.c (open_elf): Enhance address_sync calculation
    998 	logic to consider section addresses, the better to survive all the
    999 	possible prelink machinations.
   1000 	* libdwflP.h (struct dwfl_file): Comment change.
   1001 
   1002 2010-11-30  Roland McGrath  <roland (a] redhat.com>
   1003 
   1004 	* derelocate.c (dwfl_module_relocations): Remove over-eager assert.
   1005 
   1006 2010-11-12  Roland McGrath  <roland (a] redhat.com>
   1007 
   1008 	* libdwflP.h (struct Dwfl_Module): New member main_bias.
   1009 	(dwfl_adjusted_address, dwfl_deadjust_address): Use it.
   1010 	* dwfl_module_getdwarf.c (__libdwfl_getelf): Initialize it.
   1011 
   1012 	* libdwflP.h (dwfl_deadjust_address): New function.
   1013 	(dwfl_deadjust_dwarf_addr, dwfl_deadjust_st_value): New functions.
   1014 	* cu.c (addrarange): Use dwfl_deadjust_dwarf_addr.
   1015 	* dwfl_module_addrsym.c: Use dwfl_deadjust_st_value.
   1016 
   1017 2010-11-11  Roland McGrath  <roland (a] redhat.com>
   1018 
   1019 	* libdwflP.h (struct dwfl_file): Remove bias member.
   1020 	Add vaddr and address_sync members instead.
   1021 	(dwfl_adjusted_address): Calculate using vaddr.
   1022 	(dwfl_adjusted_dwarf_addr): Calculate using address_sync and call that.
   1023 	(dwfl_adjusted_st_value): Use one of those calls.
   1024 	* dwfl_module_getdwarf.c (open_elf): Initialize vaddr and address_sync.
   1025 	* dwfl_segment_report_module.c (dwfl_segment_report_module): Likewise.
   1026 	* derelocate.c (dwfl_module_relocations): Update ET_EXEC assertions.
   1027 	* link_map.c (consider_executable): Adjust only MOD->low_addr for
   1028 	detected PIE bias change.
   1029 
   1030 	* libdwflP.h (dwfl_adjusted_dwarf_addr): New function.
   1031 	* dwfl_module_info.c: Use it.
   1032 	* cu.c (addrarange): Likewise.
   1033 	* dwfl_dwarf_line.c: Likewise.
   1034 	* dwfl_module_dwarf_cfi.c: Likewise.
   1035 	* dwfl_lineinfo.c: Likewise.
   1036 	* dwfl_nextcu.c: Likewise.
   1037 	* dwfl_module_getdwarf.c (dwfl_module_getdwarf): Likewise.
   1038 
   1039 	* libdwflP.h (dwfl_adjusted_st_value): New function.
   1040 	* relocate.c (resolve_symbol): Use it.
   1041 	* dwfl_module_getsym.c: Likewise.
   1042 	* dwfl_module_addrsym.c: Likewise.
   1043 	* dwfl_module_info.c: Likewise.
   1044 
   1045 	* libdwflP.h (dwfl_adjusted_address): New function.
   1046 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Use it.
   1047 	* relocate.c (__libdwfl_relocate_value): Likewise.
   1048 	* derelocate.c (cache_sections): Likewise.
   1049 	(dwfl_module_address_section): Likewise.
   1050 	* dwfl_module_getelf.c: Likewise.
   1051 	* dwfl_module_eh_cfi.c: Likewise.
   1052 	* link_map.c (consider_executable): Likewise.
   1053 
   1054 2010-08-24  Roland McGrath  <roland (a] redhat.com>
   1055 
   1056 	* dwfl_dwarf_line.c: New file.
   1057 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1058 
   1059 2010-08-18  Roland McGrath  <roland (a] redhat.com>
   1060 
   1061 	* link_map.c (report_r_debug): Use found name if we have no name,
   1062 	even if we already have an Elf handle.
   1063 
   1064 2010-06-30  Roland McGrath  <roland (a] redhat.com>
   1065 
   1066 	* linux-kernel-modules.c (dwfl_linux_kernel_find_elf): Don't be
   1067 	confused by -1 return from dwfl_build_id_find_elf after it opened
   1068 	the Elf handle.
   1069 	* find-debuginfo.c (dwfl_standard_find_debuginfo): Likewise for
   1070 	dwfl_build_id_find_debuginfo.
   1071 
   1072 2010-06-16  Roland McGrath  <roland (a] redhat.com>
   1073 
   1074 	* cu.c (cudie_offset): Use DIE_OFFSET_FROM_CU_OFFSET macro.
   1075 
   1076 2010-06-14  Roland McGrath  <roland (a] redhat.com>
   1077 
   1078 	* find-debuginfo.c (try_open): Take new arg MAIN_STAT.  Compare
   1079 	candidate file to that st_dev/st_ino and pretend it didn't exist
   1080 	if they match.
   1081 	(find_debuginfo_in_path): Update caller, pass main file's info.
   1082 
   1083 2010-05-20  Roland McGrath  <roland (a] redhat.com>
   1084 
   1085 	* linux-proc-maps.c (find_sysinfo_ehdr): Renamed to ...
   1086 	(grovel_auxv): ... this.  Take DWFL argument.
   1087 	(dwfl_linux_proc_report): Update caller.
   1088 
   1089 	* dwfl_module_getdwarf.c (open_elf): Calculate alignment for bias
   1090 	based on dwfl->segment_align or manifest alignment of MOD->low_addr.
   1091 
   1092 2010-05-19  Roland McGrath  <roland (a] redhat.com>
   1093 
   1094 	* linux-kernel-modules.c (intuit_kernel_bounds): Rewritten.
   1095 
   1096 2010-05-06  Roland McGrath  <roland (a] redhat.com>
   1097 
   1098 	* segment.c (insert): Clear inserted elements of DWFL->lookup_module.
   1099 
   1100 	* libdwflP.h (DWFL_ERRORS): Add WRONG_ID_ELF.
   1101 	* dwfl_build_id_find_elf.c: Set MOD->main.valid when there is a build
   1102 	ID but we didn't find a file.
   1103 	* dwfl_module_getdwarf.c (__libdwfl_getelf): When that's set, check
   1104 	and refuse any fallback file-by-name if it lacks the matching ID.
   1105 
   1106 	* dwfl_error.c (dwfl_errno): Add INTDEF.
   1107 	* libdwflP.h: Add INTDECL.
   1108 
   1109 	* dwfl_module_getdwarf.c (open_elf): Do elf_end and clear FILE->elf in
   1110 	failure cases.
   1111 
   1112 2010-05-04  Roland McGrath  <roland (a] redhat.com>
   1113 
   1114 	* dwfl_segment_report_module.c: Use "[pie]" rather than "[dso]" for an
   1115 	ET_DYN that has a DT_DEBUG.
   1116 
   1117 	* dwfl_segment_report_module.c: Fix jump-start of NDX-finding loop.
   1118 
   1119 	* segment.c (insert): Fix moving of values following insertion.
   1120 	(reify_segments): Fix up MOD->segment backpointer indices after
   1121 	later insertions in the main loop invalidate them.
   1122 
   1123 	* link_map.c (dwfl_link_map_report): Detect bias of embedded phdrs and
   1124 	apply it to PT_DYNAMIC p_vaddr so we handle a PIE correctly.
   1125 
   1126 	* core-file.c (dwfl_core_file_report): Return any nonzero count of
   1127 	modules reported, even if link_map grovelling failed and only sniffing
   1128 	found anything.
   1129 
   1130 2010-04-26  Roland McGrath  <roland (a] redhat.com>
   1131 
   1132 	* relocate.c (relocate_section): Treat R_*_NONE reloc as no reloc.
   1133 	Works around probably-wrong ld -r behavior for case of a DWARF address
   1134 	constant that refers to a discarded SHF_ALLOC section.
   1135 
   1136 2010-04-14  Roland McGrath  <roland (a] redhat.com>
   1137 
   1138 	* link_map.c (report_r_debug): Limit iterations on the l_next chain to
   1139 	an upper bound on sane possible number of elements.
   1140 
   1141 2010-03-11  Roland McGrath  <roland (a] redhat.com>
   1142 
   1143 	* link_map.c (auxv_format_probe): Fix scanning loop, so we really scan
   1144 	the second half for 32-bit matches.
   1145 
   1146 2010-03-10  Roland McGrath  <roland (a] redhat.com>
   1147 
   1148 	* core-file.c (dwfl_core_file_report): Punt EHDR argument.
   1149 	* argp-std.c (parse_opt): Update caller.
   1150 	* libdwfl.h: Declare dwfl_core_file_report.
   1151 	* libdwflP.h: Don't.
   1152 
   1153 2010-02-17  Roland McGrath  <roland (a] redhat.com>
   1154 
   1155 	* dwfl_segment_report_module.c (addr_segndx): Take new flag argument.
   1156 	If set, find the first index not below ADDR.
   1157 	(dwfl_segment_report_module): Update callers.
   1158 	Pass true when calculating return value.
   1159 
   1160 2010-02-15  Roland McGrath  <roland (a] redhat.com>
   1161 
   1162 	* Makefile.am: Use config/eu.am for common stuff.
   1163 
   1164 	* find-debuginfo.c (find_debuginfo_in_path): Fix uninitialized
   1165 	variable in failure path.
   1166 
   1167 2010-02-02  Mark Wielaard  <mjw (a] redhat.com>
   1168 
   1169 	* dwfl_module_dwarf_cfi.c (dwfl_module_dwarf_cfi): Always set bias.
   1170 	* dwfl_module_eh_cfi.c (dwfl_module_eh_cfi): Likewise
   1171 
   1172 2010-01-07  Roland McGrath  <roland (a] redhat.com>
   1173 
   1174 	* core-file.c (dwfl_core_file_report): Use elf_getphdrnum.
   1175 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Likewise.
   1176 	* dwfl_module_getdwarf.c (open_elf, find_dynsym): Likewise.
   1177 	* dwfl_report_elf.c (__libdwfl_report_elf): Likewise.
   1178 
   1179 2010-01-06  Roland McGrath  <roland (a] redhat.com>
   1180 
   1181 	* relocate.c (relocate_getsym): For SHN_COMMON, zero st_value.
   1182 	(relocate_section): Let unresolved SHN_COMMON symbol stay 0.
   1183 
   1184 2009-11-16  Roland McGrath  <roland (a] redhat.com>
   1185 
   1186 	* relocate.c (relocate_section): Skip SHT_NOBITS or empty target scn.
   1187 
   1188 2009-11-12  Petr Machata  <pmachata (a] redhat.com>
   1189 
   1190 	* core-file.c (dwfl_elf_phdr_memory_callback): Only load ahead if
   1191 	the chunk is both offset-contiguous and vaddr-contiguous.
   1192 
   1193 2009-11-05  Roland McGrath  <roland (a] redhat.com>
   1194 
   1195 	* link_map.c (report_r_debug): Skip entries with l_ld==0.
   1196 	Use dwfl_addrmodule for l_ld lookup, don't bail on lookup failure.
   1197 
   1198 2009-09-04  Roland McGrath  <roland (a] redhat.com>
   1199 
   1200 	* image-header.c (__libdw_image_header): Fix tranposed comparison.
   1201 
   1202 2009-08-27  Roland McGrath  <roland (a] redhat.com>
   1203 
   1204 	* image-header.c: New file.
   1205 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1206 	* libdwflP.h: Declare __libdw_image_header.
   1207 	* open.c (decompress): Don't consume ELF on failure.
   1208 	(what_kind): New function, broken out of ...
   1209 	(__libdw_open_file): ... here.  Call it.
   1210 	If it fails, try __libdw_image_header and then try what_kind again.
   1211 
   1212 	* gzip.c (unzip): Reuse *WHOLE as first INPUT_BUFFER,
   1213 	leave it behind for next decompressor.
   1214 	* open.c (decompress): Free BUFFER on failure.
   1215 
   1216 2009-08-26  Roland McGrath  <roland (a] redhat.com>
   1217 
   1218 	* gzip.c (find_zImage_payload): New function, broken out of ...
   1219 	(mapped_zImage): ... here.  Call it.
   1220 	(find_zImage_payload) [LZMA]: Match LZMA-compressed kernels with
   1221 	stupid method of just trying the decoder.
   1222 
   1223 	* open.c [USE_LZMA]: Try __libdw_unlzma.
   1224 	* libdwflP.h: Declare it.
   1225 	(DWFL_ERRORS): Add DWFL_E_LZMA.
   1226 	* gzip.c [LZMA]: Implement liblzma version for XZ file format.
   1227 	* lzma.c: New file.
   1228 	* Makefile.am [LZMA] (libdwfl_a_SOURCES): Add it.
   1229 
   1230 	* gzip.c (mapped_zImage): Limit scan to 32kb.
   1231 	Make this unconditional, support bzip2 kernel images too.
   1232 	(unzip): Use direct inflate method for non-mmap case too.
   1233 	Only zlib uses the stream method.
   1234 
   1235 2009-08-09  Roland McGrath  <roland (a] redhat.com>
   1236 
   1237 	* dwfl_module_build_id.c: Use new macros for versioned definitions.
   1238 
   1239 2009-07-08  Roland McGrath  <roland (a] redhat.com>
   1240 
   1241 	* dwfl_module_dwarf_cfi.c: New file.
   1242 	* dwfl_module_eh_cfi.c: New file.
   1243 	* Makefile.am (libdwfl_a_SOURCES): Add them.
   1244 	* libdwflP.h (struct Dwfl_Module): New members `dwarf_cfi', `eh_cfi.
   1245 	Add INTDECL for dwfl_module_eh_cfi, dwfl_module_dwarf_cfi.
   1246 
   1247 2009-07-08  Roland McGrath  <roland (a] redhat.com>
   1248 
   1249 	* libdwflP.h (struct Dwfl_Module): Reorder members to pack better.
   1250 
   1251 2009-06-18  Mark Wielaard  <mjw (a] redhat.com>
   1252 
   1253 	* dwfl_report_elf.c (__libdwfl_report_elf): Return NULL on overlap.
   1254 
   1255 2009-06-13  Ulrich Drepper  <drepper (a] redhat.com>
   1256 
   1257 	* derelocate.c: Don't use deprecated libelf functions.
   1258 	* dwfl_module_getdwarf.c: Likewise.
   1259 	* relocate.c: Likewise.
   1260 
   1261 2009-04-23  Ulrich Drepper  <drepper (a] redhat.com>
   1262 
   1263 	* dwfl_module_build_id.c: Define versioned symbols only if SHARED is
   1264 	defined.  Otherwise just define the latest version.
   1265 
   1266 2009-04-22  Roland McGrath  <roland (a] redhat.com>
   1267 
   1268 	* relocate.c (resolve_symbol): Apply correct bias to st_value found in
   1269 	a non-ET_REL module.
   1270 
   1271 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Fix last change to
   1272 	adjust properly for non-ET_REL.
   1273 
   1274 2009-04-21  Roland McGrath  <roland (a] redhat.com>
   1275 
   1276 	* dwfl_module_getsym.c: Apply non-ET_REL bias only if SHF_ALLOC.
   1277 
   1278 	* relocate.c (__libdwfl_relocate_value): Assert that MOD is ET_REL.
   1279 	* derelocate.c (cache_sections): Call __libdwfl_relocate_value only
   1280 	for ET_REL.
   1281 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Likewise.
   1282 
   1283 2009-04-20  Roland McGrath  <roland (a] redhat.com>
   1284 
   1285 	* dwfl_module_getdwarf.c (__libdwfl_getelf): Add internal_function.
   1286 
   1287 2009-04-19  Roland McGrath  <roland (a] redhat.com>
   1288 
   1289 	* dwfl_module_getdwarf.c (find_file): Renamed to ...
   1290 	(__libdwfl_getelf): ... this.  Make it global.
   1291 	(find_symtab, find_dw): Update callers.
   1292 	(dwfl_module_getelf): Functions moved ...
   1293 	* dwfl_module_getelf.c: ... here, new file.
   1294 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1295 	* libdwflP.h: Declare __libdwfl_getelf.
   1296 
   1297 2009-04-14  Roland McGrath  <roland (a] redhat.com>
   1298 
   1299 	* dwfl_segment_report_module.c: Handle DT_STRTAB value being either
   1300 	absolute (already adjusted in place) or needing load bias adjustment.
   1301 
   1302 	* core-file.c (dwfl_elf_phdr_memory_callback): Fix return value for
   1303 	gelf_getphdr failure.  Fix file size limit checks.
   1304 
   1305 	* dwfl_segment_report_module.c: Fix underflow in DYNSTRSZ check.
   1306 
   1307 2009-04-08  Roland McGrath  <roland (a] redhat.com>
   1308 
   1309 	* dwfl_module_getsym.c: Don't adjust for bias again after
   1310 	__libdwfl_relocate_value.
   1311 
   1312 	* relocate.c (__libdwfl_relocate_value): Don't adjust a value from
   1313 	a non-SHF_ALLOC section.
   1314 	(relocate_getsym): Test st_shndx for SHN_* values, not *SHNDX.
   1315 	* dwfl_module_getsym.c (dwfl_module_getsym): Likewise.
   1316 
   1317 2009-03-09  Roland McGrath  <roland (a] redhat.com>
   1318 
   1319 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Move SHSTRNDX
   1320 	variable to outer scope, so we cache it for the loop.
   1321 
   1322 	* relocate.c (__libdwfl_relocate_value): Add MOD->main.bias to sh_addr.
   1323 
   1324 2009-02-12  Roland McGrath  <roland (a] redhat.com>
   1325 
   1326 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Use
   1327 	__libdwfl_relocate_value to find correct sh_addr value.
   1328 
   1329 2009-02-10  Roland McGrath  <roland (a] redhat.com>
   1330 
   1331 	* dwfl_report_elf.c (__libdwfl_report_elf): Take new arg SANITY.
   1332 	If false, don't fail for NO_PHDR.
   1333 	(dwfl_report_elf): Update caller.
   1334 	* libdwflP.h: Update decl.
   1335 	* offline.c (process_elf): Call it with false, so we don't refuse
   1336 	dubiously-formed objects here.
   1337 
   1338 	* link_map.c (consider_executable): Don't assert dwfl_addrsegment
   1339 	finds our module.  We shouldn't crash when we confuse some guesses.
   1340 
   1341 2009-02-10  Ulrich Drepper  <drepper (a] redhat.com>
   1342 
   1343 	* open.c (decompress): Avoid crash with empty input file.
   1344 
   1345 2009-01-27  Roland McGrath  <roland (a] redhat.com>
   1346 
   1347 	* dwfl_report_elf.c (__libdwfl_report_elf): Ignore trailing PT_LOAD
   1348 	with zero vaddr and memsz.
   1349 
   1350 2009-01-22  Roland McGrath  <roland (a] redhat.com>
   1351 
   1352 	* open.c (decompress): Move BUFFER, SIZE decls outside #if.
   1353 
   1354 	* dwfl_segment_report_module.c (addr_segndx): Remove bogus adjustments
   1355 	after address-matching loop.
   1356 
   1357 	* segment.c (lookup): Fix fencepost in checking for HINT match.
   1358 
   1359 2009-01-14  Roland McGrath  <roland (a] redhat.com>
   1360 
   1361 	* gzip.c [!BZLIB] (mapped_zImage): New function.
   1362 	(unzip) [!BZLIB]: Grok Linux kernel zImage format.
   1363 
   1364 2009-01-10  Ulrich Drepper  <drepper (a] redhat.com>
   1365 
   1366 	* dwfl_error.c: Always use __thread.  Remove all !USE_TLS code.
   1367 
   1368 2009-01-08  Roland McGrath  <roland (a] redhat.com>
   1369 
   1370 	* linux-kernel-modules.c (dwfl_linux_kernel_report_offline):
   1371 	Skip subdirectory named "source".
   1372 	(dwfl_linux_kernel_find_elf): Likewise.
   1373 
   1374 2009-01-06  Roland McGrath  <roland (a] redhat.com>
   1375 
   1376 	* linux-kernel-modules.c (check_suffix): New function.
   1377 	Match ".ko", ".ko.gz", and ".ko.bz2" suffixes.
   1378 	(dwfl_linux_kernel_report_offline): Use it.
   1379 	(dwfl_linux_kernel_find_elf): Likewise.
   1380 
   1381 2009-01-05  Roland McGrath  <roland (a] redhat.com>
   1382 
   1383 	* argp-std.c (parse_opt): Use __libdw_open_file for core file.
   1384 	* dwfl_build_id_find_debuginfo.c: Use it to open the file.
   1385 	* dwfl_build_id_find_elf.c: Likewise.
   1386 	* dwfl_module_getdwarf.c (open_elf): Likewise.
   1387 	* dwfl_report_elf.c: Likewise.
   1388 	* find-debuginfo.c (validate): Likewise.
   1389 	* offline.c (__libdwfl_report_offline): Likewise.
   1390 
   1391 	* libdwflP.h: Declare __libdw_open_file.
   1392 	* open.c: New file.
   1393 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1394 
   1395 	* gzip.c: New file.
   1396 	* Makefile.am [ZLIB] (libdwfl_a_SOURCES): Add it.
   1397 	* bzip2.c: New file.
   1398 	* Makefile.am [BZLIB] (libdwfl_a_SOURCES): Add it.
   1399 	* libdwflP.h: Declare __libdw_gunzip, __libdw_bunzip2.
   1400 
   1401 2008-12-16  Roland McGrath  <roland (a] redhat.com>
   1402 
   1403 	* dwfl_module_build_id.c (dwfl_module_build_id): Define with alias and
   1404 	symver magic to bind to ELFUTILS_0.138.
   1405 	(_BUG_COMPAT_dwfl_module_build_id): New function, bug compatible
   1406 	wrapper for ELFUTILS_0.130 version set.
   1407 
   1408 2008-12-18  Roland McGrath  <roland (a] redhat.com>
   1409 
   1410 	* derelocate.c (dwfl_module_relocate_address): Fix last fix: ET_DYN
   1411 	addresses are taken as relative to MOD->low_addr.
   1412 
   1413 2008-12-15  Roland McGrath  <roland (a] redhat.com>
   1414 
   1415 	* derelocate.c (dwfl_module_relocate_address): Apply main.bias, not
   1416 	debug.bias.
   1417 
   1418 2008-12-11  Roland McGrath  <roland (a] redhat.com>
   1419 
   1420 	* offline.c (process_archive): Don't call elf_end and close if
   1421 	returning NULL.  Check first elf_begin call and set error code
   1422 	specially for empty archive.
   1423 	Fixes RHBZ#465878.
   1424 
   1425 2008-12-02  Roland McGrath  <roland (a] redhat.com>
   1426 
   1427 	* dwfl_getmodules.c (dwfl_getmodules): Typo fix in last change.
   1428 
   1429 2008-11-26  Roland McGrath  <roland (a] redhat.com>
   1430 
   1431 	* dwfl_getmodules.c (dwfl_getmodules): Encode iteration style in
   1432 	return value, and interpret encoded OFFSET argument.
   1433 
   1434 2008-10-07  Roland McGrath  <roland (a] redhat.com>
   1435 
   1436 	* dwfl_module_build_id.c (check_notes): Fix typo in vaddr calculation.
   1437 
   1438 2008-09-29  Roland McGrath  <roland (a] redhat.com>
   1439 
   1440 	* segment.c (insert): Must realloc DWFL->lookup_module here too.
   1441 	(dwfl_report_segment): Clear DWFL->lookup_module before insert calls.
   1442 
   1443 2008-08-28  Roland McGrath  <roland (a] redhat.com>
   1444 
   1445 	* segment.c (reify_segments): Fix last change.
   1446 
   1447 2008-08-27  Roland McGrath  <roland (a] redhat.com>
   1448 
   1449 	* linux-proc-maps.c (read_proc_memory): Return 0 for EINVAL or EPERM
   1450 	failure from pread64.
   1451 
   1452 2008-08-26  Roland McGrath  <roland (a] redhat.com>
   1453 
   1454 	* segment.c (reify_segments): Insert a trailing segment for a module
   1455 	end that is above the highest current segment.
   1456 
   1457 2008-08-25  Roland McGrath  <roland (a] redhat.com>
   1458 
   1459 	* dwfl_module_getdwarf.c (open_elf): Extract elf_errno () for
   1460 	coded return value, not plain DWFL_E_LIBELF.  Return DWFL_E_BADELF
   1461 	if FILE->elf is not ELF_K_ELF.
   1462 
   1463 	* dwfl_segment_report_module.c: Add a cast.
   1464 
   1465 2008-08-21  Denys Vlasenko  <dvlasenk (a] redhat.com>
   1466 
   1467 	* dwfl_module_addrsym.c (dwfl_module_addrsym): Improve logic
   1468 	which decides which symbol is "closest" to a given address.
   1469 
   1470 2008-08-15  Roland McGrath  <roland (a] redhat.com>
   1471 
   1472 	* argp-std.c (offline_callbacks): Use dwfl_build_id_find_elf.
   1473 	(options, parse_opt): Handle --core.
   1474 
   1475 	* core-file.c: New file.
   1476 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1477 	* libdwflP.h (dwfl_core_file_report): Declare it.
   1478 
   1479 	* link_map.c: New file.
   1480 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1481 	* libdwflP.h (dwfl_link_map_report): Declare it.
   1482 
   1483 	* libdwflP.h (MIN, MAX): New macros.
   1484 	(Dwfl_Memory_Callback): New typedef.
   1485 	(Dwfl_Module_Callback): New typedef.
   1486 	(dwfl_segment_report_module): Declare it.
   1487 	* dwfl_segment_report_module.c: New file.
   1488 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1489 
   1490 	* derelocate.c (dwfl_module_address_section): Add INTDEF.
   1491 	* libdwflP.h: Add INTDECL.
   1492 
   1493 	* segment.c: New file.
   1494 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1495 	* libdwfl.h: Declare dwfl_addrsegment, dwfl_report_segment.
   1496 	* libdwflP.h (struct Dwfl): New members lookup_elts, lookup_alloc,
   1497 	lookup_addr, lookup_module, lookup_segndx, replace removed members
   1498 	modules, nmodules.
   1499 	(struct Dwfl_Module): New member segment.
   1500 	* dwfl_end.c (dwfl_end): Free the new ones.  Iterate via modulelist
   1501 	to each free module.
   1502 	* dwfl_module.c (dwfl_report_begin_add): Do nothing.
   1503 	(dwfl_report_begin): Don't call it.  Truncate the segment table instead.
   1504 	(dwfl_report_module): Don't touch DWFL->nmodules.
   1505 	(dwfl_report_end): Don't touch DWFL->modules and DWFL->nmodules.
   1506 	(compare_modules): Function removed.
   1507 	* dwfl_getmodules.c: Rewritten.
   1508 	Add INTDEF.
   1509 	* libdwflP.h: Add INTDECLs.
   1510 	* dwfl_getdwarf.c: Rewritten to call dwfl_getmodules.
   1511 	* dwfl_addrmodule.c: Rewritten to just call dwfl_addrsegment.
   1512 
   1513 2008-08-03  Roland McGrath  <roland (a] redhat.com>
   1514 
   1515 	* linux-kernel-modules.c: Include <fts.h> before <config.h>.
   1516 
   1517 2008-07-17  Roland McGrath  <roland (a] redhat.com>
   1518 
   1519 	* dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Set errno to
   1520 	zero if the failure was only ENOENT.
   1521 
   1522 2008-06-03  Roland McGrath  <roland (a] redhat.com>
   1523 
   1524 	* dwfl_module_addrsym.c (dwfl_module_addrsym): Exclude undefined
   1525 	symbols.
   1526 
   1527 2008-05-22  Petr Machata  <pmachata (a] redhat.com>
   1528 
   1529 	* dwfl_module_getdwarf.c (open_elf): Bias of ET_EXEC files is always 0.
   1530 
   1531 2008-05-06  Roland McGrath  <roland (a] frob.com>
   1532 
   1533 	* linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Use
   1534 	FTS_LOGICAL here too.
   1535 	(dwfl_linux_kernel_find_elf): Likewise.
   1536 
   1537 2008-04-29  Roland McGrath  <roland (a] redhat.com>
   1538 
   1539 	* find-debuginfo.c (dwfl_standard_find_debuginfo): Try path search
   1540 	based on canonicalize_file_name if it differs from the supplied name.
   1541 
   1542 	* linux-kernel-modules.c (check_module_notes): Use FTS_LOGICAL so
   1543 	we accept symlinks.
   1544 
   1545 2008-04-27  Roland McGrath  <roland (a] redhat.com>
   1546 
   1547 	* linux-kernel-modules.c (report_kernel): Fix crash when
   1548 	dwfl_report_elf fails.
   1549 
   1550 2008-04-05  Roland McGrath  <roland (a] redhat.com>
   1551 
   1552 	* linux-proc-maps.c (proc_maps_report): Don't leak LAST_FILE.
   1553 
   1554 	* dwfl_module_getdwarf.c (find_file): Always free build_id_bits.
   1555 	Clear it after freeing.
   1556 	* dwfl_module_report_build_id.c (dwfl_module_report_build_id): Likewise.
   1557 
   1558 2008-03-26  Roland McGrath  <roland (a] redhat.com>
   1559 
   1560 	* dwfl_module_getdwarf.c (load_symtab): Don't return success for
   1561 	SHT_DYNSYM, just set *SYMSCN like the comment says.
   1562 
   1563 	* dwfl_end.c (dwfl_end): Iterate on modulelist chain, not modules array.
   1564 
   1565 	* argp-std.c (parse_opt): On failure, call dwfl_end before argp_failure.
   1566 
   1567 2008-03-19  Roland McGrath  <roland (a] redhat.com>
   1568 
   1569 	* dwfl_module_getsrc.c: Adjust address for module bias before search.
   1570 
   1571 2008-03-01  Roland McGrath  <roland (a] redhat.com>
   1572 
   1573 	* libdwflP.h (__libdwfl_seterrno): Remove parameter name from
   1574 	prototype to avoid older compiler's complaint about reuse of the name.
   1575 	(__libdwfl_canon_error): Likewise.
   1576 
   1577 2008-02-19  Roland McGrath  <roland (a] redhat.com>
   1578 
   1579 	* relocate.c (relocate_section): Check for an unhandled relocation
   1580 	type before resolving a reloc's symbol.  Lift DWFL_E_BADRELTYPE ->
   1581 	DWFL_E_UNKNOWN_MACHINE check out of loops.
   1582 
   1583 	* dwfl_module_getdwarf.c (load_dw): Skip relocation if
   1584 	DEBUGFILE->relocated is already set.
   1585 
   1586 2008-01-26  Roland McGrath  <roland (a] redhat.com>
   1587 
   1588 	* dwfl_module_getdwarf.c (open_elf): Open FILE->name if it's non-null.
   1589 
   1590 	* dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Don't clear
   1591 	incoming *FILE_NAME at the start.
   1592 
   1593 2008-01-08  Roland McGrath  <roland (a] redhat.com>
   1594 
   1595 	* Makefile.am (euinclude): Variable removed.
   1596 	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
   1597 
   1598 2007-10-23  Roland McGrath  <roland (a] redhat.com>
   1599 
   1600 	* linux-kernel-modules.c (report_kernel_archive): Reorder the kernel
   1601 	module to appear first.
   1602 
   1603 2007-10-20  Roland McGrath  <roland (a] redhat.com>
   1604 
   1605 	* offline.c (process_archive_member): Take FD argument, pass it down
   1606 	to process_file.  Return Elf_Cmd, not bool.
   1607 	Call elf_next here, always before elf_end.
   1608 	(process_archive): Update caller.  Don't close FD here unless there
   1609 	are no member refs.
   1610 
   1611 	* dwfl_module.c (free_file): Close fd only when elf_end returns zero.
   1612 
   1613 	* libdwflP.h (struct dwfl_file): New bool member `relocated'.
   1614 	* dwfl_module_getdwarf.c (dwfl_module_getelf): For ET_REL, apply
   1615 	partial relocation to one or both files.
   1616 	(dwfl_module_getdwarf): For ET_REL, make sure extra sections'
   1617 	relocations have been applied to the debug file if dwfl_module_getelf
   1618 	has been used before.
   1619 
   1620 	* relocate.c (resolve_symbol): New function.
   1621 	(relocate_section): Call it.
   1622 
   1623 	* relocate.c (relocate_getsym): Handle null MOD->symfile.
   1624 	(relocate_section): Take new bool arg, PARTIAL.  If true,
   1625 	no error for BADRELTYPE/RELUNDEF, instead just skip them
   1626 	and leave only those skipped relocs behind the reloc section.
   1627 	(__libdwfl_relocate_section): Take new arg, pass it down.
   1628 	(__libdwfl_relocate): Take new bool arg, DEBUG.  If false,
   1629 	do partial relocation on all sections.
   1630 	* dwfl_module_getdwarf.c (load_dw): Update caller.
   1631 	* libdwflP.h: Update decls.
   1632 	* derelocate.c (dwfl_module_address_section): Pass new argument
   1633 	to __libdwfl_relocate_section, true.
   1634 
   1635 	* derelocate.c (cache_sections): Don't cache reloc sections when
   1636 	section_address callback is null.
   1637 
   1638 2007-10-19  Roland McGrath  <roland (a] redhat.com>
   1639 
   1640 	* relocate.c (relocate_section): Fix fencepost error in r_offset check.
   1641 
   1642 	* derelocate.c (struct dwfl_relocation): Add member `relocs'.
   1643 	(struct secref): Likewise.
   1644 	(cache_sections): Cache the relocation section referring to each
   1645 	section we cache, if any.
   1646 	(dwfl_module_address_section): Use __libdwfl_relocate_section as
   1647 	necessary.
   1648 
   1649 	* relocate.c (struct reloc_symtab_cache): New type.
   1650 	(relocate_getsym): Use it instead of four arguments.
   1651 	(__libdwfl_relocate): Update caller.
   1652 	(relocate_section): New function, broken out of ...
   1653 	(__libdwfl_relocate): ... here.
   1654 	(__libdwfl_relocate_section): New function.
   1655 	* libdwflP.h: Declare it.
   1656 
   1657 2007-10-17  Roland McGrath  <roland (a] redhat.com>
   1658 
   1659 	* dwfl_module_getsym.c (dwfl_module_getsym): Apply MOD->symfile->bias
   1660 	to relocated st_value.
   1661 
   1662 	* dwfl_report_elf.c (__libdwfl_report_elf): Align initial BASE for
   1663 	ET_REL to 0x100.
   1664 
   1665 2007-10-16  Roland McGrath  <roland (a] redhat.com>
   1666 
   1667 	* dwfl_report_elf.c (__libdwfl_report_elf): Readjust BASE when a later
   1668 	section has larger alignment requirements not met by the original BASE,
   1669 	rather than padding more between sections.
   1670 
   1671 	* dwfl_report_elf.c (__libdwfl_report_elf): Fix bias calculation.
   1672 
   1673 	* dwfl_module_build_id.c (__libdwfl_find_build_id): Apply module bias
   1674 	to sh_addr value.
   1675 
   1676 	* dwfl_report_elf.c (__libdwfl_report_elf): Don't be confused by BASE
   1677 	at zero in ET_REL case.  Adjust BASE to necessary alignment.
   1678 
   1679 	* dwfl_module_build_id.c (check_notes): Take -1, not 0, as stub value
   1680 	for DATA_VADDR.
   1681 	(__libdwfl_find_build_id): Update caller.
   1682 
   1683 	* relocate.c (__libdwfl_relocate_value): Don't use sh_offset.
   1684 	* dwfl_report_elf.c (__libdwfl_report_elf): Likewise.
   1685 	* offline.c (dwfl_offline_section_address): Bail early if there is
   1686 	separate debug file.
   1687 
   1688 	* relocate.c (__libdwfl_relocate): Don't return DWFL_E_NO_DWARF.
   1689 
   1690 2007-10-09  Roland McGrath  <roland (a] redhat.com>
   1691 
   1692 	* dwfl_report_elf.c (__libdwfl_report_elf): Clear SHDR->sh_offset when
   1693 	caching SHDR->sh_addr = 0.
   1694 	* offline.c (dwfl_offline_section_address): Never called for sh_addr
   1695 	really at 0, don't check for it.  Use MOD->debug directly, not symfile.
   1696 
   1697 	* dwfl_module_getdwarf.c (load_symtab): Return success properly when
   1698 	we've found SHT_SYMTAB.
   1699 
   1700 	* relocate.c (relocate_getsym): New function.
   1701 	(__libdwfl_relocate): Use it.
   1702 	(__libdwfl_relocate_value): Take new Elf * argument.  Make SYMSHSTRNDX
   1703 	be a pointer instead of value; cache getshstrndx result there.
   1704 	* libdwflP.h: Update decl.
   1705 	* derelocate.c (cache_sections): Update caller.
   1706 	Always work on the main file, not the symfile.
   1707 	(dwfl_module_address_section): Likewise.
   1708 	* dwfl_module_getsym.c (dwfl_module_getsym): Update caller.
   1709 
   1710 2007-10-07  Roland McGrath  <roland (a] redhat.com>
   1711 
   1712 	* offline.c (process_archive): Initialize MOD.
   1713 
   1714 	* linux-kernel-modules.c (get_release): New function, broken out of ...
   1715 	(report_kernel): ... here.  Call it.
   1716 	(try_kernel_name): Take new arg TRY_DEBUG, only try ".debug" if set.
   1717 	(find_kernel_elf): Update caller.
   1718 	(report_kernel_archive): New function.
   1719 	(dwfl_linux_kernel_report_offline): Call it.
   1720 
   1721 	* offline.c (process_file): Take new arg PREDICATE, pass it down.
   1722 	(process_archive): Likewise.
   1723 	(process_archive_member): Likewise.  When nonnull, let the predicate
   1724 	decide whether to use this member.
   1725 	(__libdwfl_report_offline): New function, broken out of ...
   1726 	(dwfl_report_offline): ... here.  Call it.
   1727 	* libdwflP.h: Declare it.
   1728 
   1729 	* offline.c (process_archive, process_archive_member): New functions.
   1730 	(process_elf, process_file): New functions, broken out of ...
   1731 	(dwfl_report_offline): ... here.  Call process_file, which recurses on
   1732 	ELF_K_AR files.
   1733 
   1734 	* dwfl_report_elf.c (__libdwfl_report_elf): New, broken out of ...
   1735 	(dwfl_report_elf): ... here.  Call it.
   1736 	* libdwflP.h: Declare it.
   1737 
   1738 2007-10-06  Roland McGrath  <roland (a] redhat.com>
   1739 
   1740 	* derelocate.c (dwfl_module_relocations): Don't call
   1741 	dwfl_module_getdwarf.
   1742 
   1743 	* derelocate.c (find_section): Use __libdwfl_seterrno, not
   1744 	__libdw_seterrno.
   1745 
   1746 	* relocate.c (__libdwfl_relocate_value): Abuse sh_offset, not
   1747 	SHF_ALLOC, to cache sh_addr resolved to 0.
   1748 
   1749 	* dwfl_report_elf.c (dwfl_report_elf): When an ET_REL file has sh_addr
   1750 	values nonzero already, just use its existing layout.
   1751 
   1752 	* relocate.c (__libdwfl_relocate): Clear size of reloc section in its
   1753 	in-core shdr after applying it.
   1754 
   1755 2007-10-04  Ulrich Drepper  <drepper (a] redhat.com>
   1756 
   1757 	* linux-kernel-modules.c (dwfl_linux_kernel_report_kernel): Fake
   1758 	initialization of notes variable.
   1759 
   1760 2007-10-04  Roland McGrath  <roland (a] redhat.com>
   1761 
   1762 	* linux-kernel-modules.c (intuit_kernel_bounds): Take new arg NOTES,
   1763 	fill in with vaddr of "__start_notes" symbol if found.
   1764 	(check_notes): New function.
   1765 	(check_kernel_notes): New function.
   1766 	(dwfl_linux_kernel_report_kernel): Call it.
   1767 	(check_module_notes): New function.
   1768 	(dwfl_linux_kernel_report_modules): Call it.
   1769 
   1770 	* linux-kernel-modules.c (dwfl_linux_kernel_find_elf):
   1771 	Try dwfl_build_id_find_elf first.
   1772 
   1773 	* linux-kernel-modules.c (report_kernel): Don't leak FD if !REPORT.
   1774 	Set kernel module e_type to ET_DYN.
   1775 
   1776 2007-10-03  Roland McGrath  <roland (a] redhat.com>
   1777 
   1778 	* find-debuginfo.c (validate): New function, broken out of ...
   1779 	(find_debuginfo_in_path): ... here.  New function, broken out of ...
   1780 	(dwfl_standard_find_debuginfo): ... here.  Call it, after trying
   1781 	dwfl_build_id_find_debuginfo first.
   1782 
   1783 	* dwfl_build_id_find_elf.c: New file.
   1784 	* dwfl_build_id_find_debuginfo.c: New file.
   1785 	* Makefile.am (libdwfl_a_SOURCES): Add them.
   1786 	* libdwfl.h: Declare them.
   1787 	* libdwflP.h: Add INTDECLs.
   1788 
   1789 	* dwfl_module_build_id.c: New file.
   1790 	* dwfl_module_report_build_id.c: New file.
   1791 	* Makefile.am (libdwfl_a_SOURCES): Add them.
   1792 	* libdwfl.h: Declare them.
   1793 	* libdwflP.h (struct Dwfl_Module): New members build_id_bits,
   1794 	build_id_len, build_id_vaddr.  Declare __libdwfl_find_build_id.
   1795 	* dwfl_module.c (__libdwfl_module_free): Free MOD->build_id_bits.
   1796 
   1797 	* dwfl_module_getdwarf.c (find_offsets): New function.
   1798 	(find_dynsym): New function, calls that.
   1799 	(find_symtab): Call it.
   1800 
   1801 2007-09-11  Roland McGrath  <roland (a] redhat.com>
   1802 
   1803 	* dwfl_module_addrsym.c: Prefer a later global symbol at the same
   1804 	address if its st_size is smaller.
   1805 
   1806 2007-08-13  Roland McGrath  <roland (a] redhat.com>
   1807 
   1808 	* dwfl_module_addrsym.c: Add dead initializer for stupid compiler.
   1809 
   1810 2007-08-12  Roland McGrath  <roland (a] redhat.com>
   1811 
   1812 	* linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Don't use
   1813 	FTS_LOGICAL.
   1814 
   1815 	* elf-from-memory.c (elf_from_remote_memory): Don't reset LOADBASE on
   1816 	a second phdr if it happens to match EHDR_VMA exactly.
   1817 
   1818 2007-08-08  Roland McGrath  <roland (a] redhat.com>
   1819 
   1820 	* dwfl_module_addrsym.c: Don't use STT_SECTION, STT_FILE symbols and
   1821 	those with no names.  Rewrite best symbol algorithm not to assume a
   1822 	sorted table and to be smarter handling sizeless symbols.
   1823 
   1824 2007-07-16  Roland McGrath  <roland (a] redhat.com>
   1825 
   1826 	* dwfl_module.c (dwfl_report_module): Increment DWFL->nmodules when
   1827 	reviving an existing module.
   1828 
   1829 2007-06-08  Roland McGrath  <roland (a] redhat.com>
   1830 
   1831 	* libdwflP.h: Fix #ifndef for config.h to use PACKAGE_NAME.
   1832 
   1833 2007-05-17  Roland McGrath  <roland (a] redhat.com>
   1834 
   1835 	* linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Look at
   1836 	whole /lib/modules/VERSION tree, not just /lib/modules/VERSION/kernel.
   1837 	(dwfl_linux_kernel_find_elf): Likewise.
   1838 
   1839 	* linux-kernel-modules.c (dwfl_linux_kernel_report_modules): Use
   1840 	getline and sscanf instead of fscanf.
   1841 
   1842 2007-05-08  Roland McGrath  <roland (a] redhat.com>
   1843 
   1844 	* offline.c (dwfl_offline_section_address): Don't assume section
   1845 	numbers match between stripped and debuginfo files.  Instead, assume
   1846 	only that the ordering among SHF_ALLOC sections matches.
   1847 
   1848 	* linux-kernel-modules.c (report_kernel): Change RELEASE argument to
   1849 	pointer to string.
   1850 	(dwfl_linux_kernel_report_offline): Update caller.
   1851 	(dwfl_linux_kernel_report_kernel): Likewise.
   1852 
   1853 2007-04-23  Roland McGrath  <roland (a] redhat.com>
   1854 
   1855 	* argp-std.c (options): Fix group title string.
   1856 
   1857 	* argp-std.c (parse_opt): Handle ARGP_KEY_ERROR, free the Dwfl.
   1858 	Update via STATE->input every time we set STATE->hook, not only at
   1859 	ARGP_KEY_SUCCESS.
   1860 
   1861 	* dwfl_module.c (free_file): Free FILE->name.
   1862 
   1863 2007-04-16  Roland McGrath  <roland (a] redhat.com>
   1864 
   1865 	* derelocate.c (cache_sections): Apply bias to sh_addr.
   1866 	(compare_secrefs): Fix address comparison to avoid signed overflow.
   1867 	(find_section): New function, broken out of ...
   1868 	(dwfl_module_relocate_address): ... here, call it.
   1869 	(check_module): New function, broken out of ...
   1870 	(dwfl_module_relocate_address): ... here, call it.
   1871 	(dwfl_module_address_section): New function.
   1872 	* libdwfl.h: Declare it.
   1873 
   1874 2007-03-26  Roland McGrath  <roland (a] redhat.com>
   1875 
   1876 	* dwfl_module.c (__libdwfl_module_free): Free MOD itself.
   1877 
   1878 2007-03-18  Roland McGrath  <roland (a] redhat.com>
   1879 
   1880 	* dwfl_module_getdwarf.c (find_debuglink): New function, broken out of
   1881 	(find_debuginfo): ... here.  Call it.
   1882 	Don't return error for libelf errors finding .gnu_debuglink section.
   1883 
   1884 2007-03-12  Roland McGrath  <roland (a] redhat.com>
   1885 
   1886 	* dwfl_module.c (dwfl_report_begin_add): New function broken out of ...
   1887 	(dwfl_report_begin): ... here.  Call it.
   1888 	* libdwfl.h: Declare it.
   1889 	* libdwflP.h: Add INTDECL.
   1890 
   1891 	* elf-from-memory.c (elf_from_remote_memory): Fix 32/64 typo.
   1892 
   1893 	* offline.c: Comment typo fix.
   1894 
   1895 2007-03-04  Roland McGrath  <roland (a] redhat.com>
   1896 
   1897 	* linux-kernel-modules.c (KERNEL_MODNAME): New macro for "kernel".
   1898 	(find_kernel_elf): New function, broken out of ...
   1899 	(report_kernel): ... here.  Call it.
   1900 	(dwfl_linux_kernel_find_elf): Use it for module named KERNEL_MODNAME.
   1901 	(intuit_kernel_bounds): New function, grovel /proc/kallsyms to guess
   1902 	virtual address bounds of kernel from symbols rounded to page size.
   1903 	(dwfl_linux_kernel_report_kernel): Use that if it works, before
   1904 	resorting to report_kernel.
   1905 
   1906 	* dwfl_module_getdwarf.c (open_elf): Set MOD->e_type to ET_DYN for an
   1907 	ET_EXEC file with nonzero bias.
   1908 
   1909 	* dwfl_module_addrname.c (dwfl_module_addrname): Just call
   1910 	dwfl_module_addrsym.  Guts moved to ...
   1911 	* dwfl_module_addrsym.c: ... here; new file.
   1912 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   1913 	* libdwfl.h: Declare dwfl_module_addrsym.
   1914 	* libdwflP.h: Add INTDECL.
   1915 
   1916 2007-03-03  Roland McGrath  <roland (a] redhat.com>
   1917 
   1918 	* dwfl_module.c (free_file): New function, broken out of ...
   1919 	(__libdwfl_module_free): ... here.  In it, close fd after elf_end.
   1920 
   1921 	* dwfl_module_getdwarf.c (open_elf): Close fd and reset to -1
   1922 	on libelf failure.
   1923 
   1924 2007-03-02  Roland McGrath  <roland (a] redhat.com>
   1925 
   1926 	* linux-kernel-modules.c: Fix bogus error test for asprintf call.
   1927 
   1928 2007-02-02  Roland McGrath  <roland (a] redhat.com>
   1929 
   1930 	* dwfl_addrmodule.c (dwfl_addrmodule): Match a module's high boundary
   1931 	address exactly if it's no other module's low boundary.
   1932 
   1933 	* dwfl_module_addrname.c (dwfl_module_addrname): If no symbol's value
   1934 	and size cover the address, select the closest symbol with st_size==0
   1935 	that lies in the same section.
   1936 
   1937 2007-01-29  Roland McGrath  <roland (a] redhat.com>
   1938 
   1939 	* dwfl_version.c (dwfl_version): Return PACKAGE_VERSION,
   1940 	not PACKAGE_STRING.
   1941 
   1942 2007-01-20  Roland McGrath  <roland (a] redhat.com>
   1943 
   1944 	* relocate.c (__libdwfl_relocate_value): Treat section_address of -1
   1945 	as omitted, not 0.
   1946 	* libdwfl.h (Dwfl_Callbacks): Update comment.
   1947 	* derelocate.c (cache_sections): Don't ignore sh_addr == 0 sections.
   1948 	* linux-kernel-modules.c (dwfl_linux_kernel_module_section_address):
   1949 	For ignored missing section, use -1 instead of 0.
   1950 	* offline.c (dwfl_offline_section_address): Expect a call for 0.
   1951 
   1952 2007-01-19  Roland McGrath  <roland (a] redhat.com>
   1953 
   1954 	* argp-std.c (parse_opt): For -e, reset DWFL->offline_next_address to
   1955 	zero so a lone -e foo.so is shown without address bias.
   1956 
   1957 2007-01-10  Roland McGrath  <roland (a] redhat.com>
   1958 
   1959 	* linux-kernel-modules.c (report_kernel): Check asprintf return value
   1960 	directly instead of via side effect, to silence warn_unused_result.
   1961 	(dwfl_linux_kernel_report_offline): Likewise.
   1962 	(dwfl_linux_kernel_find_elf): Likewise.
   1963 	(dwfl_linux_kernel_module_section_address): Likewise.
   1964 	* find-debuginfo.c (try_open): Likewise.
   1965 	* linux-proc-maps.c (find_sysinfo_ehdr): Likewise.
   1966 	(dwfl_linux_proc_report): Likewise.
   1967 
   1968 	* libdwfl.h (dwfl_begin): Require nonnull argument.
   1969 
   1970 2006-12-27  Roland McGrath  <roland (a] redhat.com>
   1971 
   1972 	* dwfl_module.c (compare_modules): Fix address comparison to avoid
   1973 	signed overflow.  Patch by Frank Ch. Eigler <fche (a] redhat.com>.
   1974 
   1975 2006-10-30  Roland McGrath  <roland (a] redhat.com>
   1976 
   1977 	* dwfl_module.c (dwfl_report_module): Comment typo fix.
   1978 
   1979 2006-09-05  Roland McGrath  <roland (a] redhat.com>
   1980 
   1981 	* derelocate.c (cache_sections): Use alloca instead of variable-sized
   1982 	auto array, in function already using alloca.
   1983 
   1984 2006-08-14  Roland McGrath  <roland (a] redhat.com>
   1985 
   1986 	* linux-kernel-modules.c (try_kernel_name): If the call to
   1987 	dwfl_standard_find_debuginfo produces no results, try it again
   1988 	with NULL as DEBUGLINK_FILE to try *FNAME with .debug suffix.
   1989 
   1990 	* find-debuginfo.c (DEFAULT_DEBUGINFO_PATH): Macro moved ...
   1991 	* libdwflP.h: ... to here.
   1992 	* linux-kernel-modules.c (try_kernel_name): Skip manual open if it
   1993 	repeats the first thing dwfl_standard_find_debuginfo will try.
   1994 
   1995 	* linux-kernel-modules.c (MODULE_SECT_NAME_LEN): New macro.
   1996 	(dwfl_linux_kernel_module_section_address): If a /sys file is missing
   1997 	and the section name is >= MODULE_SECT_NAME_LEN, try truncating the
   1998 	section name.
   1999 
   2000 2006-07-12  Ulrich Drepper  <drepper (a] redhat.com>
   2001 
   2002 	* cu.c: Adjust for internal_function_def removal.
   2003 	* dwfl_error.c: Likewise.
   2004 	* dwfl_module.c: Likewise.
   2005 	* dwfl_module_getdwarf.c: Likewise.
   2006 	* lines.c: Likewise.
   2007 	* relocate.c: Likewise.
   2008 
   2009 2006-07-11  Ulrich Drepper  <drepper (a] redhat.com>
   2010 
   2011 	* dwfl_module.c (compare_modules): Don't return GElf_Sxword value,
   2012 	it can overflow the return value type.
   2013 	Patch by Tim Moore <timoore (a] redhat.com>.
   2014 
   2015 2006-06-28  Roland McGrath  <roland (a] redhat.com>
   2016 
   2017 	* libdwfl.h: Cosmetic changes.
   2018 
   2019 	* dwfl_line_comp_dir.c: New file.
   2020 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2021 	* libdwfl.h: Declare dwfl_line_comp_dir.
   2022 
   2023 	* dwfl_lineinfo.c (dwfl_lineinfo): Remove stray extern in defn.
   2024 
   2025 	* dwfl_linecu.c: New file.
   2026 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2027 	* libdwfl.h: Declare dwfl_linecu.
   2028 
   2029 	* libdwflP.h (dwfl_linecu_inline): Function renamed from dwfl_linecu.
   2030 	(dwfl_linecu): Define as macro.
   2031 
   2032 	* relocate.c (__libdwfl_relocate): Use dwfl_module_getsym.
   2033 
   2034 	* dwfl_module_getdwarf.c (dwfl_module_getsymtab): New function.
   2035 	(dwfl_module_addrname): Function moved ...
   2036 	* dwfl_module_addrname.c: ... here, new file.
   2037 	* dwfl_module_getsym.c: New file.
   2038 	* Makefile.am (libdwfl_a_SOURCES): Add them.
   2039 	* libdwfl.h: Declare dwfl_module_getsymtab, dwfl_module_getsym.
   2040 	* libdwflP.h: Add INTDECLs.
   2041 
   2042 2006-06-27  Roland McGrath  <roland (a] redhat.com>
   2043 
   2044 	* dwfl_module.c (dwfl_report_end): Whitespace fix.
   2045 
   2046 2006-06-13  Roland McGrath  <roland (a] redhat.com>
   2047 
   2048 	* elf-from-memory.c (elf_from_remote_memory): Fix 32/64 typo.
   2049 	Use __libdwfl_seterrno for elf_memory failure.
   2050 
   2051 2006-05-22  Roland McGrath  <roland (a] redhat.com>
   2052 
   2053 	* dwfl_module_return_value_location.c
   2054 	(dwfl_module_return_value_location): Use __libdwfl_module_getebl.
   2055 
   2056 2006-05-27  Ulrich Drepper  <drepper (a] redhat.com>
   2057 
   2058 	* libdwfl.h: Add extern "C".
   2059 
   2060 2006-05-22  Ulrich Drepper  <drepper (a] redhat.com>
   2061 
   2062 	* cu.c (addrarange): Handle files without aranges information.
   2063 
   2064 2006-05-16  Ulrich Drepper  <drepper (a] redhat.com>
   2065 
   2066 	* dwfl_addrmodule.c (dwfl_addrmodule): Also return NULL of
   2067 	->modules is NULL.
   2068 
   2069 2006-02-26  Roland McGrath  <roland (a] redhat.com>
   2070 
   2071 	* dwfl_version.c: New file.
   2072 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2073 	* libdwfl.h: Declare dwfl_version.
   2074 
   2075 	* offline.c (dwfl_report_offline): Account for dwfl_report_elf having
   2076 	aligned up from DWFL->offline_next_address when checking for overlap.
   2077 
   2078 2005-12-22  Roland McGrath  <roland (a] redhat.com>
   2079 
   2080 	* argp-std.c (parse_opt): Call dwfl_end in failure cases.
   2081 
   2082 	* linux-proc-maps.c (proc_maps_report): New function, broken out of ...
   2083 	(dwfl_linux_proc_report): ... here.  Call it.
   2084 	(dwfl_linux_proc_maps_report): New function.
   2085 	* libdwfl.h: Declare it.
   2086 	* libdwflP.h: Add INTDECL.
   2087 	* argp-std.c (options, parse_opt): Grok -M/--linux-process-map.
   2088 
   2089 	* dwfl_nextcu.c (dwfl_nextcu): Don't fail when dwfl_module_getdwarf
   2090 	failed with DWFL_E_NO_DWARF.
   2091 
   2092 2005-11-26  Roland McGrath  <roland (a] redhat.com>
   2093 
   2094 	* dwfl_end.c (dwfl_end): Free the DWFL itself.
   2095 
   2096 2005-11-25  Roland McGrath  <roland (a] redhat.com>
   2097 
   2098 	* dwfl_module_getdwarf.c (__libdwfl_module_getebl): New function.
   2099 	(load_dw): Use it.
   2100 	* dwfl_module_register_names.c (dwfl_module_register_names): Likewise.
   2101 	* libdwflP.h: Declare it.
   2102 
   2103 	* dwfl_module_register_names.c: New file.
   2104 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2105 	* libdwfl.h: Declare dwfl_module_register_names.
   2106 
   2107 2005-11-21  Roland McGrath  <roland (a] redhat.com>
   2108 
   2109 	* linux-kernel-modules.c (dwfl_linux_kernel_module_section_address):
   2110 	Don't leak malloc'd file name.
   2111 	If a /sys/.../sections file is missing and starts with ".init",
   2112 	try the variant with "_init" too; catches PPC64 kernel braindamage.
   2113 
   2114 2005-11-15  Roland McGrath  <roland (a] redhat.com>
   2115 
   2116 	* libdwfl.h: Comment fixes.
   2117 
   2118 	* dwfl_module_return_value_location.c: Add unlikely for error case.
   2119 
   2120 2005-11-13  Roland McGrath  <roland (a] redhat.com>
   2121 
   2122 	* dwfl_return_value_location.c: New file.
   2123 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2124 	* libdwfl.h: Declare dwfl_module_return_value_location.
   2125 	* libdwflP.h (DWFL_ERRORS): Add DWFL_E_WEIRD_TYPE.
   2126 
   2127 2005-10-20  Roland McGrath  <roland (a] redhat.com>
   2128 
   2129 	* libdwflP.h (DWFL_ERRORS): New error UNKNOWN_MACHINE.
   2130 	* relocate.c (__libdwfl_relocate): Return DWFL_E_UNKNOWN_MACHINE
   2131 	instead of DWFL_E_BADRELTYPE if ebl_get_elfmachine yields EM_NONE.
   2132 
   2133 2005-10-01  Roland McGrath  <roland (a] redhat.com>
   2134 
   2135 	* linux-kernel-modules.c (report_kernel): Return ENOENT if we fail
   2136 	with errno 0.
   2137 
   2138 2005-09-19  Roland McGrath  <roland (a] redhat.com>
   2139 
   2140 	* linux-kernel-modules.c (dwfl_linux_kernel_report_modules): Use
   2141 	PRIx64 instead of PRIi64, lest addresses with high bits set overflow
   2142 	the signed integer reading; they will just have to be in hexadecimal.
   2143 	(dwfl_linux_kernel_module_section_address): Likewise.
   2144 
   2145 2005-08-28  Ulrich Drepper  <drepper (a] redhat.com>
   2146 
   2147 	* Makefile.am (%.os): Use COMPILE.os.
   2148 	(COMPILE.os): Filter out gconv options.
   2149 
   2150 2005-08-25  Roland McGrath  <roland (a] redhat.com>
   2151 
   2152 	* cu.c (__libdwfl_nextcu): Return success when dwarf_nextcu hits end.
   2153 	* dwfl_nextcu.c (dwfl_nextcu): Skip modules with no dwarf info.
   2154 
   2155 2005-08-24  Roland McGrath  <roland (a] redhat.com>
   2156 
   2157 	* dwfl_lineinfo.c (dwfl_lineinfo): Add bias, don't subtract it.
   2158 
   2159 	* argp-std.c [_MUDFLAP] (__libdwfl_argp_mudflap_options): New function,
   2160 	magic initializer to set -heur-stack-bound option.
   2161 
   2162 2005-08-22  Roland McGrath  <roland (a] redhat.com>
   2163 
   2164 	* dwfl_validate_address.c: New file.
   2165 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2166 	* libdwfl.h: Declare dwfl_validate_address.
   2167 
   2168 	* derelocate.c (dwfl_module_relocate_address): Add INTDEF.
   2169 	* libdwflP.h: Add INTDECL.
   2170 
   2171 	* dwfl_module_getdwarf.c (find_symtab): Use elf_getdata instead of
   2172 	elf_rawdata for symbol-related sections.
   2173 
   2174 	* offline.c (dwfl_report_offline): Move offline_next_address outside
   2175 	module's range, in case it's an ET_EXEC using fixed segment locations.
   2176 	* libdwfl.h: Update comment.
   2177 
   2178 	* dwfl_report_elf.c (dwfl_report_elf): Align BASE to first segment's
   2179 	required alignment.
   2180 
   2181 2005-08-20  Roland McGrath  <roland (a] redhat.com>
   2182 
   2183 	* linux-kernel-modules.c (report_kernel): Take new argument PREDICATE,
   2184 	function to choose whether to report.
   2185 	(dwfl_linux_kernel_report_offline): Likewise.
   2186 	* libdwfl.h: Update decl.
   2187 	* argp-std.c (parse_opt): Update caller.
   2188 
   2189 	* dwfl_getsrclines.c: New file.
   2190 	* dwfl_onesrcline.c: New file.
   2191 	* Makefile.am (libdwfl_a_SOURCES): Add them.
   2192 	* libdwfl.h: Declare dwfl_getsrclines, dwfl_onesrcline.
   2193 
   2194 	* linux-kernel-modules.c (dwfl_linux_kernel_find_elf): Don't leak
   2195 	MODULESDIR[0].  Call fts_close on failure.
   2196 
   2197 	* dwfl_module_getdwarf.c (load_dw): Take dwfl_file * instead of Elf *.
   2198 	Close ET_REL file descriptors after relocation.
   2199 	(find_dw): Update caller.
   2200 	* offline.c (dwfl_report_offline): Get the file into memory and close
   2201 	the file descriptor.
   2202 
   2203 	* dwfl_module_getdwarf.c (find_debuginfo): Do nothing when
   2204 	MOD->debug.elf is already set.
   2205 
   2206 	* find-debuginfo.c (try_open): Use TEMP_FAILURE_RETRY.
   2207 	(dwfl_standard_find_debuginfo): Fail on errors not ENOENT or ENOTDIR.
   2208 
   2209 	* argp-std.c (options, parse_opt): Grok -K/--offline-kernel, use
   2210 	dwfl_linux_kernel_report_offline with offline_callbacks.
   2211 
   2212 	* linux-kernel-modules.c (report_kernel): New function, broken out of
   2213 	...
   2214 	(dwfl_linux_kernel_report_kernel): ... here.  Use it.
   2215 	(dwfl_linux_kernel_report_offline): New function.
   2216 	* libdwfl.h: Declare it.
   2217 	* libdwflP.h: Add INTDECL.
   2218 
   2219 2005-08-19  Roland McGrath  <roland (a] redhat.com>
   2220 
   2221 	Use standard debuginfo search path to look for vmlinux.
   2222 	* find-debuginfo.c (dwfl_standard_find_debuginfo): Don't check CRC if
   2223 	passed zero.
   2224 	* linux-kernel-modules.c (try_kernel_name): New function, broken out
   2225 	of ...
   2226 	(dwfl_linux_kernel_report_kernel): ... here.  Use it.
   2227 
   2228 	* argp-std.c (offline_callbacks): New variable.
   2229 	(parse_opt): Use it for -e.  Allow multiple -e options.
   2230 
   2231 	* offline.c: New file.
   2232 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2233 	* libdwfl.h: Declare dwfl_offline_section_address, dwfl_report_offline.
   2234 	* libdwflP.h: Add INTDECLs.
   2235 	(OFFLINE_REDZONE): New macro.
   2236 	(struct Dwfl): New member `offline_next_address'.
   2237 	* dwfl_begin.c (dwfl_begin): Initialize it.
   2238 	* dwfl_module.c (dwfl_report_begin): Likewise.
   2239 
   2240 	* dwfl_report_elf.c (dwfl_report_elf): Accept all types.  When ET_REL,
   2241 	do a nominal absolute section layout starting at BASE.
   2242 	* libdwfl.h: Update comment.
   2243 
   2244 2005-08-18  Roland McGrath  <roland (a] redhat.com>
   2245 
   2246 	* dwfl_module_getsrc_file.c (dwfl_module_getsrc_file): Do
   2247 	dwfl_module_getdwarf if necessary.
   2248 
   2249 	* dwfl_report_elf.c (dwfl_report_elf): Permit ET_REL with BASE==0.
   2250 	* libdwfl.h: Update comment.
   2251 
   2252 	* derelocate.c: New file.
   2253 	* Makefile.am (libdwfl_a_SOURCES): Add it.
   2254 
   2255 	* libdwflP.h (struct Dwfl_Module): isrel -> e_type.
   2256 	* dwfl_report_elf.c (dwfl_report_elf): Initialize it.
   2257 	* dwfl_module_getdwarf.c (open_elf): Update initialization.
   2258 	(load_dw, dwfl_module_addrname): Update uses.
   2259 	* relocate.c (__libdwfl_relocate): Likewise.
   2260 
   2261 2005-08-04  Roland McGrath  <roland (a] redhat.com>
   2262 
   2263 	* libdwfl.h (Dwfl_Callbacks.section_address): Take additional
   2264 	arguments SHNDX, SHDR.
   2265 	(dwfl_linux_kernel_module_section_address): Update prototype.
   2266 	* relocate.c (__libdwfl_relocate_value): Update caller.
   2267 	* linux-kernel-modules.c (dwfl_linux_kernel_module_section_address):
   2268 	Take the new arguments.
   2269 
   2270 2005-08-10  Roland McGrath  <roland (a] redhat.com>
   2271 
   2272 	* relocate.c (__libdwfl_relocate): Take argument DEBUGFILE,
   2273 	use it instead of MOD->debug.file.
   2274 	* libdwflP.h: Update decl.
   2275 	* dwfl_module_getdwarf.c (load_dw): Update caller.
   2276 	Fixes bug #165598.
   2277 
   2278 2005-08-09  Roland McGrath  <roland (a] redhat.com>
   2279 
   2280 	* libdwflP.h: Include ../libdw/libdwP.h for its INTDECLs.
   2281 	* cu.c: Use INTUSE on dwarf_* calls.
   2282 	* dwfl_error.c: Likewise.
   2283 	* dwfl_module.c: Likewise.
   2284 	* dwfl_module_getdwarf.c: Likewise.
   2285 	* dwfl_module_getsrc_file.c: Likewise.
   2286 	* lines.c: Likewise.
   2287 
   2288 2005-08-07  Roland McGrath  <roland (a] redhat.com>
   2289 
   2290 	* linux-kernel-modules.c (dwfl_linux_kernel_find_elf): When module
   2291 	names contain '_' or '-', look for files named either "foo-bar.ko"
   2292 	or "foo_bar.ko".
   2293 
   2294 2005-07-29  Roland McGrath  <roland (a] redhat.com>
   2295 
   2296 	* loc2c.c: File removed.
   2297 	* loc2c.h: File removed.
   2298 	* loc2c-runtime.h: File removed.
   2299 	* test2.c: File removed.
   2300 	* Makefile.am (EXTRA_DIST): Variable removed.
   2301 	(noinst_HEADERS): Remove loc2c.h from here.
   2302 
   2303 2005-07-28  Ulrich Drepper  <drepper (a] redhat.com>
   2304 
   2305 	* libdwfl.h: Add a few missing extern for function prototypes.
   2306 
   2307 	* libdwfl_crc32.c: New file.
   2308 	* libdwfl_crc32_file.c: New file.
   2309 	* libdwflP.h: Declare the new functions.
   2310 	* Makefile.am (libdwfl_a_SOURCES): Add libdwfl_crc32.c and
   2311 	libdwfl_crc32_file.c.
   2312 	* libdwfl/find-debuginfo.c (check_crc): Use __libdwfl_crc32_file
   2313 	instead of crc32_file.
   2314 
   2315 2005-07-28  Roland McGrath  <roland (a] redhat.com>
   2316 
   2317 	* ptest.c: Moved to ../tests/dwflmodtest.c.
   2318 
   2319 	* Makefile.am (noinst_PROGRAMS): Variable removed.
   2320 	(libdwfl_so_SOURCES, libdwfl_LIBS, libdwfl_so_LDADD): Likewise.
   2321 	(EXTRA_DIST, ptest_LDADD, test2_LDADD): Likewise.
   2322 	(libdwfl): Don't use libdwfl.so any more.
   2323 	(libdwfl.so, install, uninstall): Targets removed.
   2324 	(test2_SOURCES): Define EXTRA_DIST instead of this.
   2325 	* libdwfl.map: File removed.
   2326 
   2327 	* libdwfl.h: Use "" for libdw.h #include.
   2328 
   2329 2005-07-27  Roland McGrath  <roland (a] redhat.com>
   2330 
   2331 	* libdwfl.map: Add dwfl_getmodules.
   2332 
   2333 2005-07-23  Ulrich Drepper  <drepper (a] redhat.com>
   2334 
   2335 	* Makefile.am: Fix rules to allow building with mudflap.
   2336 
   2337 2005-07-21  Roland McGrath  <roland (a] redhat.com>
   2338 
   2339 	* Makefile.am (noinst_HEADERS): Add loc2c.c.
   2340 
   2341 	* test2.c (main): Check sscanf result to quiet warning.
   2342 
   2343 2005-07-20  Roland McGrath  <roland (a] redhat.com>
   2344 
   2345 	* libdwfl-branch merged, creating this direcotry.
   2346