blob: ef718266509498db52b45c9f0d62b41cbcd1cb68 [file] [log] [blame]
Roland McGrath8651c5e2009-03-09 20:42:56 -070012009-03-09 Roland McGrath <roland@redhat.com>
2
3 * relocate.c (__libdwfl_relocate_value): Add MOD->main.bias to sh_addr.
4
Roland McGrath31fd6542009-02-12 17:26:39 -080052009-02-12 Roland McGrath <roland@redhat.com>
6
7 * dwfl_module_build_id.c (__libdwfl_find_build_id): Use
8 __libdwfl_relocate_value to find correct sh_addr value.
9
Roland McGrath45c01cd2009-02-10 17:03:19 -0800102009-02-10 Roland McGrath <roland@redhat.com>
11
Roland McGrath5453abf2009-02-10 17:33:49 -080012 * dwfl_report_elf.c (__libdwfl_report_elf): Take new arg SANITY.
13 If false, don't fail for NO_PHDR.
14 (dwfl_report_elf): Update caller.
15 * libdwflP.h: Update decl.
16 * offline.c (process_elf): Call it with false, so we don't refuse
17 dubiously-formed objects here.
18
Roland McGrath45c01cd2009-02-10 17:03:19 -080019 * link_map.c (consider_executable): Don't assert dwfl_addrsegment
20 finds our module. We shouldn't crash when we confuse some guesses.
21
Ulrich Dreppera9d51bf2009-02-10 12:55:07 -0800222009-02-10 Ulrich Drepper <drepper@redhat.com>
23
24 * open.c (decompress): Avoid crash with empty input file.
25
Roland McGrathe738ad22009-01-27 16:41:54 -0800262009-01-27 Roland McGrath <roland@redhat.com>
27
28 * dwfl_report_elf.c (__libdwfl_report_elf): Ignore trailing PT_LOAD
29 with zero vaddr and memsz.
30
Roland McGrath74afbee2009-01-22 04:52:56 -0800312009-01-22 Roland McGrath <roland@redhat.com>
32
Roland McGrathe34a3f82009-01-22 12:59:23 -080033 * open.c (decompress): Move BUFFER, SIZE decls outside #if.
34
Roland McGrath74afbee2009-01-22 04:52:56 -080035 * dwfl_segment_report_module.c (addr_segndx): Remove bogus adjustments
36 after address-matching loop.
37
38 * segment.c (lookup): Fix fencepost in checking for HINT match.
39
Roland McGrath8dc9f932009-01-14 12:56:53 -0800402009-01-14 Roland McGrath <roland@redhat.com>
41
42 * gzip.c [!BZLIB] (mapped_zImage): New function.
43 (unzip) [!BZLIB]: Grok Linux kernel zImage format.
44
Ulrich Drepper7e678fa2009-01-10 18:02:05 -0800452009-01-10 Ulrich Drepper <drepper@redhat.com>
46
47 * dwfl_error.c: Always use __thread. Remove all !USE_TLS code.
48
Roland McGratha4b1a952009-01-08 20:53:26 -0800492009-01-08 Roland McGrath <roland@redhat.com>
50
51 * linux-kernel-modules.c (dwfl_linux_kernel_report_offline):
52 Skip subdirectory named "source".
53 (dwfl_linux_kernel_find_elf): Likewise.
54
Roland McGrath60205c92009-01-06 00:10:23 -0800552009-01-06 Roland McGrath <roland@redhat.com>
56
Roland McGrath705364b2009-01-06 02:04:51 -080057 * linux-kernel-modules.c (check_suffix): New function.
Roland McGrath60205c92009-01-06 00:10:23 -080058 Match ".ko", ".ko.gz", and ".ko.bz2" suffixes.
59 (dwfl_linux_kernel_report_offline): Use it.
60 (dwfl_linux_kernel_find_elf): Likewise.
61
Roland McGrathbca43152009-01-05 23:59:32 -0800622009-01-05 Roland McGrath <roland@redhat.com>
63
64 * argp-std.c (parse_opt): Use __libdw_open_file for core file.
65 * dwfl_build_id_find_debuginfo.c: Use it to open the file.
66 * dwfl_build_id_find_elf.c: Likewise.
67 * dwfl_module_getdwarf.c (open_elf): Likewise.
68 * dwfl_report_elf.c: Likewise.
69 * find-debuginfo.c (validate): Likewise.
70 * offline.c (__libdwfl_report_offline): Likewise.
71
72 * libdwflP.h: Declare __libdw_open_file.
73 * open.c: New file.
74 * Makefile.am (libdwfl_a_SOURCES): Add it.
75
76 * gzip.c: New file.
77 * Makefile.am [ZLIB] (libdwfl_a_SOURCES): Add it.
78 * bzip2.c: New file.
79 * Makefile.am [BZLIB] (libdwfl_a_SOURCES): Add it.
80 * libdwflP.h: Declare __libdw_gunzip, __libdw_bunzip2.
81
Roland McGrath45d7b292008-12-16 16:21:40 -0800822008-12-16 Roland McGrath <roland@redhat.com>
83
84 * dwfl_module_build_id.c (dwfl_module_build_id): Define with alias and
85 symver magic to bind to ELFUTILS_0.138.
86 (_BUG_COMPAT_dwfl_module_build_id): New function, bug compatible
87 wrapper for ELFUTILS_0.130 version set.
88
Roland McGrath7d9b8212008-12-18 15:08:09 -0800892008-12-18 Roland McGrath <roland@redhat.com>
90
91 * derelocate.c (dwfl_module_relocate_address): Fix last fix: ET_DYN
92 addresses are taken as relative to MOD->low_addr.
93
Roland McGrath74825c42008-12-15 19:33:33 -0800942008-12-15 Roland McGrath <roland@redhat.com>
95
96 * derelocate.c (dwfl_module_relocate_address): Apply main.bias, not
97 debug.bias.
98
Roland McGrathb28a8942008-12-11 02:09:28 -0800992008-12-11 Roland McGrath <roland@redhat.com>
100
101 * offline.c (process_archive): Don't call elf_end and close if
102 returning NULL. Check first elf_begin call and set error code
103 specially for empty archive.
104 Fixes RHBZ#465878.
105
Roland McGratha845f682008-12-03 03:41:58 +00001062008-12-02 Roland McGrath <roland@redhat.com>
107
108 * dwfl_getmodules.c (dwfl_getmodules): Typo fix in last change.
109
1102008-11-26 Roland McGrath <roland@redhat.com>
111
112 * dwfl_getmodules.c (dwfl_getmodules): Encode iteration style in
113 return value, and interpret encoded OFFSET argument.
114
1152008-10-07 Roland McGrath <roland@redhat.com>
116
117 * dwfl_module_build_id.c (check_notes): Fix typo in vaddr calculation.
118
Roland McGrath9cf28e42008-09-30 06:35:35 +00001192008-09-29 Roland McGrath <roland@redhat.com>
120
121 * segment.c (insert): Must realloc DWFL->lookup_module here too.
122 (dwfl_report_segment): Clear DWFL->lookup_module before insert calls.
123
1242008-08-28 Roland McGrath <roland@redhat.com>
125
126 * segment.c (reify_segments): Fix last change.
127
1282008-08-27 Roland McGrath <roland@redhat.com>
129
130 * linux-proc-maps.c (read_proc_memory): Return 0 for EINVAL or EPERM
131 failure from pread64.
132
Roland McGrath122f3882008-08-26 07:20:29 +00001332008-08-26 Roland McGrath <roland@redhat.com>
134
135 * segment.c (reify_segments): Insert a trailing segment for a module
136 end that is above the highest current segment.
137
1382008-08-25 Roland McGrath <roland@redhat.com>
139
140 * dwfl_module_getdwarf.c (open_elf): Extract elf_errno () for
141 coded return value, not plain DWFL_E_LIBELF. Return DWFL_E_BADELF
142 if FILE->elf is not ELF_K_ELF.
143
144 * dwfl_segment_report_module.c: Add a cast.
145
Roland McGrathb4d6f0f2008-08-25 22:55:17 +00001462008-08-21 Denys Vlasenko <dvlasenk@redhat.com>
Ulrich Drepperd56e2322008-08-16 03:09:13 +0000147
Roland McGrathb4d6f0f2008-08-25 22:55:17 +0000148 * dwfl_module_addrsym.c (dwfl_module_addrsym): Improve logic
149 which decides which symbol is "closest" to a given address.
150
1512008-08-15 Roland McGrath <roland@redhat.com>
152
153 * argp-std.c (offline_callbacks): Use dwfl_build_id_find_elf.
154 (options, parse_opt): Handle --core.
155
156 * core-file.c: New file.
157 * Makefile.am (libdwfl_a_SOURCES): Add it.
158 * libdwflP.h (dwfl_core_file_report): Declare it.
159
160 * link_map.c: New file.
161 * Makefile.am (libdwfl_a_SOURCES): Add it.
162 * libdwflP.h (dwfl_link_map_report): Declare it.
163
164 * libdwflP.h (MIN, MAX): New macros.
165 (Dwfl_Memory_Callback): New typedef.
166 (Dwfl_Module_Callback): New typedef.
167 (dwfl_segment_report_module): Declare it.
168 * dwfl_segment_report_module.c: New file.
169 * Makefile.am (libdwfl_a_SOURCES): Add it.
170
171 * derelocate.c (dwfl_module_address_section): Add INTDEF.
172 * libdwflP.h: Add INTDECL.
173
174 * segment.c: New file.
175 * Makefile.am (libdwfl_a_SOURCES): Add it.
176 * libdwfl.h: Declare dwfl_addrsegment, dwfl_report_segment.
177 * libdwflP.h (struct Dwfl): New members lookup_elts, lookup_alloc,
178 lookup_addr, lookup_module, lookup_segndx, replace removed members
179 modules, nmodules.
180 (struct Dwfl_Module): New member segment.
181 * dwfl_end.c (dwfl_end): Free the new ones. Iterate via modulelist
182 to each free module.
183 * dwfl_module.c (dwfl_report_begin_add): Do nothing.
184 (dwfl_report_begin): Don't call it. Truncate the segment table instead.
185 (dwfl_report_module): Don't touch DWFL->nmodules.
186 (dwfl_report_end): Don't touch DWFL->modules and DWFL->nmodules.
187 (compare_modules): Function removed.
188 * dwfl_getmodules.c: Rewritten.
189 Add INTDEF.
190 * libdwflP.h: Add INTDECLs.
191 * dwfl_getdwarf.c: Rewritten to call dwfl_getmodules.
192 * dwfl_addrmodule.c: Rewritten to just call dwfl_addrsegment.
Ulrich Drepperd56e2322008-08-16 03:09:13 +0000193
Roland McGrath1d8bb252008-08-07 08:39:41 +00001942008-08-03 Roland McGrath <roland@redhat.com>
195
196 * linux-kernel-modules.c: Include <fts.h> before <config.h>.
197
1982008-07-17 Roland McGrath <roland@redhat.com>
199
200 * dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Set errno to
201 zero if the failure was only ENOENT.
202
2032008-06-03 Roland McGrath <roland@redhat.com>
204
205 * dwfl_module_addrsym.c (dwfl_module_addrsym): Exclude undefined
206 symbols.
207
Roland McGrath9d2f3ee2008-05-22 20:28:05 +00002082008-05-22 Petr Machata <pmachata@redhat.com>
209
210 * dwfl_module_getdwarf.c (open_elf): Bias of ET_EXEC files is always 0.
211
Roland McGrath0fa20e82008-05-07 18:37:14 +00002122008-05-06 Roland McGrath <roland@frob.com>
213
214 * linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Use
215 FTS_LOGICAL here too.
216 (dwfl_linux_kernel_find_elf): Likewise.
217
2182008-04-29 Roland McGrath <roland@redhat.com>
219
220 * find-debuginfo.c (dwfl_standard_find_debuginfo): Try path search
221 based on canonicalize_file_name if it differs from the supplied name.
222
223 * linux-kernel-modules.c (check_module_notes): Use FTS_LOGICAL so
224 we accept symlinks.
225
Roland McGrath9897d662008-04-29 01:49:50 +00002262008-04-27 Roland McGrath <roland@redhat.com>
227
228 * linux-kernel-modules.c (report_kernel): Fix crash when
229 dwfl_report_elf fails.
230
Roland McGrathbfc01702008-04-06 01:57:32 +00002312008-04-05 Roland McGrath <roland@redhat.com>
232
233 * linux-proc-maps.c (proc_maps_report): Don't leak LAST_FILE.
234
235 * dwfl_module_getdwarf.c (find_file): Always free build_id_bits.
236 Clear it after freeing.
237 * dwfl_module_report_build_id.c (dwfl_module_report_build_id): Likewise.
238
Roland McGrathd11f9cb2008-03-26 20:51:59 +00002392008-03-26 Roland McGrath <roland@redhat.com>
240
241 * dwfl_module_getdwarf.c (load_symtab): Don't return success for
242 SHT_DYNSYM, just set *SYMSCN like the comment says.
243
244 * dwfl_end.c (dwfl_end): Iterate on modulelist chain, not modules array.
245
246 * argp-std.c (parse_opt): On failure, call dwfl_end before argp_failure.
247
2482008-03-19 Roland McGrath <roland@redhat.com>
249
250 * dwfl_module_getsrc.c: Adjust address for module bias before search.
251
2522008-03-01 Roland McGrath <roland@redhat.com>
253
254 * libdwflP.h (__libdwfl_seterrno): Remove parameter name from
255 prototype to avoid older compiler's complaint about reuse of the name.
256 (__libdwfl_canon_error): Likewise.
257
Roland McGrath059c83e2008-02-21 06:19:39 +00002582008-02-19 Roland McGrath <roland@redhat.com>
259
260 * relocate.c (relocate_section): Check for an unhandled relocation
261 type before resolving a reloc's symbol. Lift DWFL_E_BADRELTYPE ->
262 DWFL_E_UNKNOWN_MACHINE check out of loops.
263
264 * dwfl_module_getdwarf.c (load_dw): Skip relocation if
265 DEBUGFILE->relocated is already set.
266
2672008-01-26 Roland McGrath <roland@redhat.com>
268
269 * dwfl_module_getdwarf.c (open_elf): Open FILE->name if it's non-null.
270
271 * dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Don't clear
272 incoming *FILE_NAME at the start.
273
Ulrich Dreppere219f1c2008-01-09 05:49:49 +00002742008-01-08 Roland McGrath <roland@redhat.com>
275
276 * Makefile.am (euinclude): Variable removed.
277 (pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
278
Roland McGrathe4c22ea2007-10-23 13:07:39 +00002792007-10-23 Roland McGrath <roland@redhat.com>
280
281 * linux-kernel-modules.c (report_kernel_archive): Reorder the kernel
282 module to appear first.
283
2842007-10-20 Roland McGrath <roland@redhat.com>
285
286 * offline.c (process_archive_member): Take FD argument, pass it down
287 to process_file. Return Elf_Cmd, not bool.
288 Call elf_next here, always before elf_end.
289 (process_archive): Update caller. Don't close FD here unless there
290 are no member refs.
291
292 * dwfl_module.c (free_file): Close fd only when elf_end returns zero.
293
294 * libdwflP.h (struct dwfl_file): New bool member `relocated'.
295 * dwfl_module_getdwarf.c (dwfl_module_getelf): For ET_REL, apply
296 partial relocation to one or both files.
297 (dwfl_module_getdwarf): For ET_REL, make sure extra sections'
298 relocations have been applied to the debug file if dwfl_module_getelf
299 has been used before.
300
301 * relocate.c (resolve_symbol): New function.
302 (relocate_section): Call it.
303
304 * relocate.c (relocate_getsym): Handle null MOD->symfile.
305 (relocate_section): Take new bool arg, PARTIAL. If true,
306 no error for BADRELTYPE/RELUNDEF, instead just skip them
307 and leave only those skipped relocs behind the reloc section.
308 (__libdwfl_relocate_section): Take new arg, pass it down.
309 (__libdwfl_relocate): Take new bool arg, DEBUG. If false,
310 do partial relocation on all sections.
311 * dwfl_module_getdwarf.c (load_dw): Update caller.
312 * libdwflP.h: Update decls.
313 * derelocate.c (dwfl_module_address_section): Pass new argument
314 to __libdwfl_relocate_section, true.
315
316 * derelocate.c (cache_sections): Don't cache reloc sections when
317 section_address callback is null.
318
3192007-10-19 Roland McGrath <roland@redhat.com>
320
321 * relocate.c (relocate_section): Fix fencepost error in r_offset check.
322
323 * derelocate.c (struct dwfl_relocation): Add member `relocs'.
324 (struct secref): Likewise.
325 (cache_sections): Cache the relocation section referring to each
326 section we cache, if any.
327 (dwfl_module_address_section): Use __libdwfl_relocate_section as
328 necessary.
329
330 * relocate.c (struct reloc_symtab_cache): New type.
331 (relocate_getsym): Use it instead of four arguments.
332 (__libdwfl_relocate): Update caller.
333 (relocate_section): New function, broken out of ...
334 (__libdwfl_relocate): ... here.
335 (__libdwfl_relocate_section): New function.
336 * libdwflP.h: Declare it.
337
3382007-10-17 Roland McGrath <roland@redhat.com>
339
340 * dwfl_module_getsym.c (dwfl_module_getsym): Apply MOD->symfile->bias
341 to relocated st_value.
342
343 * dwfl_report_elf.c (__libdwfl_report_elf): Align initial BASE for
344 ET_REL to 0x100.
345
3462007-10-16 Roland McGrath <roland@redhat.com>
347
348 * dwfl_report_elf.c (__libdwfl_report_elf): Readjust BASE when a later
349 section has larger alignment requirements not met by the original BASE,
350 rather than padding more between sections.
351
352 * dwfl_report_elf.c (__libdwfl_report_elf): Fix bias calculation.
353
354 * dwfl_module_build_id.c (__libdwfl_find_build_id): Apply module bias
355 to sh_addr value.
356
357 * dwfl_report_elf.c (__libdwfl_report_elf): Don't be confused by BASE
358 at zero in ET_REL case. Adjust BASE to necessary alignment.
359
360 * dwfl_module_build_id.c (check_notes): Take -1, not 0, as stub value
361 for DATA_VADDR.
362 (__libdwfl_find_build_id): Update caller.
363
364 * relocate.c (__libdwfl_relocate_value): Don't use sh_offset.
365 * dwfl_report_elf.c (__libdwfl_report_elf): Likewise.
366 * offline.c (dwfl_offline_section_address): Bail early if there is
367 separate debug file.
368
369 * relocate.c (__libdwfl_relocate): Don't return DWFL_E_NO_DWARF.
370
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00003712007-10-09 Roland McGrath <roland@redhat.com>
372
373 * dwfl_report_elf.c (__libdwfl_report_elf): Clear SHDR->sh_offset when
374 caching SHDR->sh_addr = 0.
375 * offline.c (dwfl_offline_section_address): Never called for sh_addr
376 really at 0, don't check for it. Use MOD->debug directly, not symfile.
377
378 * dwfl_module_getdwarf.c (load_symtab): Return success properly when
379 we've found SHT_SYMTAB.
380
381 * relocate.c (relocate_getsym): New function.
382 (__libdwfl_relocate): Use it.
383 (__libdwfl_relocate_value): Take new Elf * argument. Make SYMSHSTRNDX
384 be a pointer instead of value; cache getshstrndx result there.
385 * libdwflP.h: Update decl.
386 * derelocate.c (cache_sections): Update caller.
387 Always work on the main file, not the symfile.
388 (dwfl_module_address_section): Likewise.
389 * dwfl_module_getsym.c (dwfl_module_getsym): Update caller.
390
3912007-10-07 Roland McGrath <roland@redhat.com>
392
393 * offline.c (process_archive): Initialize MOD.
394
395 * linux-kernel-modules.c (get_release): New function, broken out of ...
396 (report_kernel): ... here. Call it.
397 (try_kernel_name): Take new arg TRY_DEBUG, only try ".debug" if set.
398 (find_kernel_elf): Update caller.
399 (report_kernel_archive): New function.
400 (dwfl_linux_kernel_report_offline): Call it.
401
402 * offline.c (process_file): Take new arg PREDICATE, pass it down.
403 (process_archive): Likewise.
404 (process_archive_member): Likewise. When nonnull, let the predicate
405 decide whether to use this member.
406 (__libdwfl_report_offline): New function, broken out of ...
407 (dwfl_report_offline): ... here. Call it.
408 * libdwflP.h: Declare it.
409
410 * offline.c (process_archive, process_archive_member): New functions.
411 (process_elf, process_file): New functions, broken out of ...
412 (dwfl_report_offline): ... here. Call process_file, which recurses on
413 ELF_K_AR files.
414
415 * dwfl_report_elf.c (__libdwfl_report_elf): New, broken out of ...
416 (dwfl_report_elf): ... here. Call it.
417 * libdwflP.h: Declare it.
418
4192007-10-06 Roland McGrath <roland@redhat.com>
420
421 * derelocate.c (dwfl_module_relocations): Don't call
422 dwfl_module_getdwarf.
423
424 * derelocate.c (find_section): Use __libdwfl_seterrno, not
425 __libdw_seterrno.
426
427 * relocate.c (__libdwfl_relocate_value): Abuse sh_offset, not
428 SHF_ALLOC, to cache sh_addr resolved to 0.
429
430 * dwfl_report_elf.c (dwfl_report_elf): When an ET_REL file has sh_addr
431 values nonzero already, just use its existing layout.
432
433 * relocate.c (__libdwfl_relocate): Clear size of reloc section in its
434 in-core shdr after applying it.
435
Ulrich Drepper3fc3d7b2007-10-04 18:40:28 +00004362007-10-04 Ulrich Drepper <drepper@redhat.com>
437
438 * linux-kernel-modules.c (dwfl_linux_kernel_report_kernel): Fake
439 initialization of notes variable.
440
Roland McGrath59ea7f32007-10-04 08:50:09 +00004412007-10-04 Roland McGrath <roland@redhat.com>
442
443 * linux-kernel-modules.c (intuit_kernel_bounds): Take new arg NOTES,
444 fill in with vaddr of "__start_notes" symbol if found.
445 (check_notes): New function.
446 (check_kernel_notes): New function.
447 (dwfl_linux_kernel_report_kernel): Call it.
448 (check_module_notes): New function.
449 (dwfl_linux_kernel_report_modules): Call it.
450
451 * linux-kernel-modules.c (dwfl_linux_kernel_find_elf):
452 Try dwfl_build_id_find_elf first.
453
454 * linux-kernel-modules.c (report_kernel): Don't leak FD if !REPORT.
455 Set kernel module e_type to ET_DYN.
456
4572007-10-03 Roland McGrath <roland@redhat.com>
458
459 * find-debuginfo.c (validate): New function, broken out of ...
460 (find_debuginfo_in_path): ... here. New function, broken out of ...
461 (dwfl_standard_find_debuginfo): ... here. Call it, after trying
462 dwfl_build_id_find_debuginfo first.
463
464 * dwfl_build_id_find_elf.c: New file.
465 * dwfl_build_id_find_debuginfo.c: New file.
466 * Makefile.am (libdwfl_a_SOURCES): Add them.
467 * libdwfl.h: Declare them.
468 * libdwflP.h: Add INTDECLs.
469
470 * dwfl_module_build_id.c: New file.
471 * dwfl_module_report_build_id.c: New file.
472 * Makefile.am (libdwfl_a_SOURCES): Add them.
473 * libdwfl.h: Declare them.
474 * libdwflP.h (struct Dwfl_Module): New members build_id_bits,
475 build_id_len, build_id_vaddr. Declare __libdwfl_find_build_id.
476 * dwfl_module.c (__libdwfl_module_free): Free MOD->build_id_bits.
477
478 * dwfl_module_getdwarf.c (find_offsets): New function.
479 (find_dynsym): New function, calls that.
480 (find_symtab): Call it.
481
Roland McGrathc76f0b02007-09-27 07:31:33 +00004822007-09-11 Roland McGrath <roland@redhat.com>
483
484 * dwfl_module_addrsym.c: Prefer a later global symbol at the same
485 address if its st_size is smaller.
486
Roland McGrath099dd522007-08-13 22:58:36 +00004872007-08-13 Roland McGrath <roland@redhat.com>
488
489 * dwfl_module_addrsym.c: Add dead initializer for stupid compiler.
490
4912007-08-12 Roland McGrath <roland@redhat.com>
492
493 * linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Don't use
494 FTS_LOGICAL.
495
496 * elf-from-memory.c (elf_from_remote_memory): Don't reset LOADBASE on
497 a second phdr if it happens to match EHDR_VMA exactly.
498
Roland McGrath42f68682007-08-09 07:54:22 +00004992007-08-08 Roland McGrath <roland@redhat.com>
500
501 * dwfl_module_addrsym.c: Don't use STT_SECTION, STT_FILE symbols and
502 those with no names. Rewrite best symbol algorithm not to assume a
503 sorted table and to be smarter handling sizeless symbols.
504
Roland McGrath87d47802007-07-16 22:23:37 +00005052007-07-16 Roland McGrath <roland@redhat.com>
506
507 * dwfl_module.c (dwfl_report_module): Increment DWFL->nmodules when
508 reviving an existing module.
509
5102007-06-08 Roland McGrath <roland@redhat.com>
Roland McGrath55d34a52007-06-08 22:22:01 +0000511
512 * libdwflP.h: Fix #ifndef for config.h to use PACKAGE_NAME.
513
Roland McGrath9aa8ef72007-05-18 08:59:43 +00005142007-05-17 Roland McGrath <roland@redhat.com>
515
516 * linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Look at
517 whole /lib/modules/VERSION tree, not just /lib/modules/VERSION/kernel.
518 (dwfl_linux_kernel_find_elf): Likewise.
519
520 * linux-kernel-modules.c (dwfl_linux_kernel_report_modules): Use
521 getline and sscanf instead of fscanf.
522
5232007-05-08 Roland McGrath <roland@redhat.com>
524
525 * offline.c (dwfl_offline_section_address): Don't assume section
526 numbers match between stripped and debuginfo files. Instead, assume
527 only that the ordering among SHF_ALLOC sections matches.
528
529 * linux-kernel-modules.c (report_kernel): Change RELEASE argument to
530 pointer to string.
531 (dwfl_linux_kernel_report_offline): Update caller.
532 (dwfl_linux_kernel_report_kernel): Likewise.
533
Roland McGrath4be15242007-04-25 03:09:33 +00005342007-04-23 Roland McGrath <roland@redhat.com>
535
536 * argp-std.c (options): Fix group title string.
537
538 * argp-std.c (parse_opt): Handle ARGP_KEY_ERROR, free the Dwfl.
539 Update via STATE->input every time we set STATE->hook, not only at
540 ARGP_KEY_SUCCESS.
541
542 * dwfl_module.c (free_file): Free FILE->name.
543
Roland McGrath43da9892007-04-16 23:13:37 +00005442007-04-16 Roland McGrath <roland@redhat.com>
545
546 * derelocate.c (cache_sections): Apply bias to sh_addr.
547 (compare_secrefs): Fix address comparison to avoid signed overflow.
548 (find_section): New function, broken out of ...
549 (dwfl_module_relocate_address): ... here, call it.
550 (check_module): New function, broken out of ...
551 (dwfl_module_relocate_address): ... here, call it.
552 (dwfl_module_address_section): New function.
553 * libdwfl.h: Declare it.
554
Ulrich Drepperc07fbb32007-03-30 19:14:59 +00005552007-03-26 Roland McGrath <roland@redhat.com>
556
557 * dwfl_module.c (__libdwfl_module_free): Free MOD itself.
558
5592007-03-18 Roland McGrath <roland@redhat.com>
560
561 * dwfl_module_getdwarf.c (find_debuglink): New function, broken out of
562 (find_debuginfo): ... here. Call it.
563 Don't return error for libelf errors finding .gnu_debuglink section.
564
Ulrich Drepper6258e742007-03-13 06:22:40 +00005652007-03-12 Roland McGrath <roland@redhat.com>
566
567 * dwfl_module.c (dwfl_report_begin_add): New function broken out of ...
568 (dwfl_report_begin): ... here. Call it.
569 * libdwfl.h: Declare it.
570 * libdwflP.h: Add INTDECL.
571
572 * elf-from-memory.c (elf_from_remote_memory): Fix 32/64 typo.
573
574 * offline.c: Comment typo fix.
575
5762007-03-04 Roland McGrath <roland@redhat.com>
577
578 * linux-kernel-modules.c (KERNEL_MODNAME): New macro for "kernel".
579 (find_kernel_elf): New function, broken out of ...
580 (report_kernel): ... here. Call it.
581 (dwfl_linux_kernel_find_elf): Use it for module named KERNEL_MODNAME.
582 (intuit_kernel_bounds): New function, grovel /proc/kallsyms to guess
583 virtual address bounds of kernel from symbols rounded to page size.
584 (dwfl_linux_kernel_report_kernel): Use that if it works, before
585 resorting to report_kernel.
586
587 * dwfl_module_getdwarf.c (open_elf): Set MOD->e_type to ET_DYN for an
588 ET_EXEC file with nonzero bias.
589
590 * dwfl_module_addrname.c (dwfl_module_addrname): Just call
591 dwfl_module_addrsym. Guts moved to ...
592 * dwfl_module_addrsym.c: ... here; new file.
593 * Makefile.am (libdwfl_a_SOURCES): Add it.
594 * libdwfl.h: Declare dwfl_module_addrsym.
595 * libdwflP.h: Add INTDECL.
596
5972007-03-03 Roland McGrath <roland@redhat.com>
598
599 * dwfl_module.c (free_file): New function, broken out of ...
600 (__libdwfl_module_free): ... here. In it, close fd after elf_end.
601
602 * dwfl_module_getdwarf.c (open_elf): Close fd and reset to -1
603 on libelf failure.
604
6052007-03-02 Roland McGrath <roland@redhat.com>
606
607 * linux-kernel-modules.c: Fix bogus error test for asprintf call.
608
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00006092007-02-02 Roland McGrath <roland@redhat.com>
610
611 * dwfl_addrmodule.c (dwfl_addrmodule): Match a module's high boundary
612 address exactly if it's no other module's low boundary.
613
614 * dwfl_module_addrname.c (dwfl_module_addrname): If no symbol's value
615 and size cover the address, select the closest symbol with st_size==0
616 that lies in the same section.
617
6182007-01-29 Roland McGrath <roland@redhat.com>
619
620 * dwfl_version.c (dwfl_version): Return PACKAGE_VERSION,
621 not PACKAGE_STRING.
622
6232007-01-20 Roland McGrath <roland@redhat.com>
624
625 * relocate.c (__libdwfl_relocate_value): Treat section_address of -1
626 as omitted, not 0.
627 * libdwfl.h (Dwfl_Callbacks): Update comment.
628 * derelocate.c (cache_sections): Don't ignore sh_addr == 0 sections.
629 * linux-kernel-modules.c (dwfl_linux_kernel_module_section_address):
630 For ignored missing section, use -1 instead of 0.
631 * offline.c (dwfl_offline_section_address): Expect a call for 0.
632
6332007-01-19 Roland McGrath <roland@redhat.com>
634
635 * argp-std.c (parse_opt): For -e, reset DWFL->offline_next_address to
636 zero so a lone -e foo.so is shown without address bias.
637
Roland McGrathba949b32007-01-10 20:44:29 +00006382007-01-10 Roland McGrath <roland@redhat.com>
639
Roland McGrath44865b92007-01-11 05:06:16 +0000640 * linux-kernel-modules.c (report_kernel): Check asprintf return value
641 directly instead of via side effect, to silence warn_unused_result.
642 (dwfl_linux_kernel_report_offline): Likewise.
643 (dwfl_linux_kernel_find_elf): Likewise.
644 (dwfl_linux_kernel_module_section_address): Likewise.
645 * find-debuginfo.c (try_open): Likewise.
Roland McGrathd39384c2007-01-11 05:15:56 +0000646 * linux-proc-maps.c (find_sysinfo_ehdr): Likewise.
647 (dwfl_linux_proc_report): Likewise.
Roland McGrath44865b92007-01-11 05:06:16 +0000648
Roland McGrathba949b32007-01-10 20:44:29 +0000649 * libdwfl.h (dwfl_begin): Require nonnull argument.
650
Roland McGrath70008802006-12-29 20:44:16 +00006512006-12-27 Roland McGrath <roland@redhat.com>
Ulrich Dreppera33c3012006-12-29 20:36:38 +0000652
Roland McGrath70008802006-12-29 20:44:16 +0000653 * dwfl_module.c (compare_modules): Fix address comparison to avoid
654 signed overflow. Patch by Frank Ch. Eigler <fche@redhat.com>.
Ulrich Dreppera33c3012006-12-29 20:36:38 +0000655
Roland McGrath8190db62006-12-17 23:56:51 +00006562006-10-30 Roland McGrath <roland@redhat.com>
657
658 * dwfl_module.c (dwfl_report_module): Comment typo fix.
659
Roland McGrathc373d852006-10-10 00:25:21 +00006602006-09-05 Roland McGrath <roland@redhat.com>
661
662 * derelocate.c (cache_sections): Use alloca instead of variable-sized
663 auto array, in function already alloca.
664
Roland McGratha1cee072006-08-15 01:37:23 +00006652006-08-14 Roland McGrath <roland@redhat.com>
666
667 * linux-kernel-modules.c (try_kernel_name): If the call to
668 dwfl_standard_find_debuginfo produces no results, try it again
669 with NULL as DEBUGLINK_FILE to try *FNAME with .debug suffix.
670
671 * find-debuginfo.c (DEFAULT_DEBUGINFO_PATH): Macro moved ...
672 * libdwflP.h: ... to here.
673 * linux-kernel-modules.c (try_kernel_name): Skip manual open if it
674 repeats the first thing dwfl_standard_find_debuginfo will try.
675
676 * linux-kernel-modules.c (MODULE_SECT_NAME_LEN): New macro.
677 (dwfl_linux_kernel_module_section_address): If a /sys file is missing
678 and the section name is >= MODULE_SECT_NAME_LEN, try truncating the
679 section name.
680
Ulrich Drepper077c65f2006-07-12 19:54:51 +00006812006-07-12 Ulrich Drepper <drepper@redhat.com>
682
683 * cu.c: Adjust for internal_function_def removal.
684 * dwfl_error.c: Likewise.
685 * dwfl_module.c: Likewise.
686 * dwfl_module_getdwarf.c: Likewise.
687 * lines.c: Likewise.
688 * relocate.c: Likewise.
689
Ulrich Drepperc87b6e72006-07-11 22:32:28 +00006902006-07-11 Ulrich Drepper <drepper@redhat.com>
691
692 * dwfl_module.c (compare_modules): Don't return GElf_Sxword value,
693 it can overflow the return value type.
694 Patch by Tim Moore <timoore@redhat.com>.
695
Ulrich Dreppere1812e12006-07-12 07:46:03 +00006962006-06-28 Roland McGrath <roland@redhat.com>
697
698 * libdwfl.h: Cosmetic changes.
699
700 * dwfl_line_comp_dir.c: New file.
701 * Makefile.am (libdwfl_a_SOURCES): Add it.
702 * libdwfl.h: Declare dwfl_line_comp_dir.
703
704 * dwfl_lineinfo.c (dwfl_lineinfo): Remove stray extern in defn.
705
706 * dwfl_linecu.c: New file.
707 * Makefile.am (libdwfl_a_SOURCES): Add it.
708 * libdwfl.h: Declare dwfl_linecu.
709
710 * libdwflP.h (dwfl_linecu_inline): Function renamed from dwfl_linecu.
711 (dwfl_linecu): Define as macro.
712
713 * relocate.c (__libdwfl_relocate): Use dwfl_module_getsym.
714
715 * dwfl_module_getdwarf.c (dwfl_module_getsymtab): New function.
716 (dwfl_module_addrname): Function moved ...
717 * dwfl_module_addrname.c: ... here, new file.
718 * dwfl_module_getsym.c: New file.
719 * Makefile.am (libdwfl_a_SOURCES): Add them.
720 * libdwfl.h: Declare dwfl_module_getsymtab, dwfl_module_getsym.
721 * libdwflP.h: Add INTDECLs.
722
7232006-06-27 Roland McGrath <roland@redhat.com>
724
725 * dwfl_module.c (dwfl_report_end): Whitespace fix.
726
Ulrich Drepperd5a75192006-06-15 03:07:46 +00007272006-06-13 Roland McGrath <roland@redhat.com>
728
729 * elf-from-memory.c (elf_from_remote_memory): Fix 32/64 typo.
730 Use __libdwfl_seterrno for elf_memory failure.
731
Ulrich Dreppere1812e12006-07-12 07:46:03 +00007322006-05-22 Roland McGrath <roland@redhat.com>
733
734 * dwfl_module_return_value_location.c
735 (dwfl_module_return_value_location): Use __libdwfl_module_getebl.
736
Ulrich Drepper41cbd762006-05-27 18:19:23 +00007372006-05-27 Ulrich Drepper <drepper@redhat.com>
738
739 * libdwfl.h: Add extern "C".
740
Ulrich Dreppere7a73172006-05-22 18:16:45 +00007412006-05-22 Ulrich Drepper <drepper@redhat.com>
742
743 * cu.c (addrarange): Handle files without aranges information.
744
Ulrich Dreppera1690682006-05-17 05:28:36 +00007452006-05-16 Ulrich Drepper <drepper@redhat.com>
746
747 * dwfl_addrmodule.c (dwfl_addrmodule): Also return NULL of
748 ->modules is NULL.
749
Roland McGrath687d7e92006-02-27 04:53:00 +00007502006-02-26 Roland McGrath <roland@redhat.com>
751
Roland McGrath08333122006-02-27 04:54:26 +0000752 * dwfl_version.c: New file.
753 * Makefile.am (libdwfl_a_SOURCES): Add it.
754 * libdwfl.h: Declare dwfl_version.
755
Roland McGrath687d7e92006-02-27 04:53:00 +0000756 * offline.c (dwfl_report_offline): Account for dwfl_report_elf having
757 aligned up from DWFL->offline_next_address when checking for overlap.
758
Roland McGrathfceb7b42005-12-23 01:45:21 +00007592005-12-22 Roland McGrath <roland@redhat.com>
760
Roland McGrath1656bc02005-12-23 01:49:50 +0000761 * argp-std.c (parse_opt): Call dwfl_end in failure cases.
762
763 * linux-proc-maps.c (proc_maps_report): New function, broken out of ...
764 (dwfl_linux_proc_report): ... here. Call it.
765 (dwfl_linux_proc_maps_report): New function.
766 * libdwfl.h: Declare it.
767 * libdwflP.h: Add INTDECL.
768 * argp-std.c (options, parse_opt): Grok -M/--linux-process-map.
769
Roland McGrathfceb7b42005-12-23 01:45:21 +0000770 * dwfl_nextcu.c (dwfl_nextcu): Don't fail when dwfl_module_getdwarf
771 failed with DWFL_E_NO_DWARF.
772
Roland McGrath994b4892005-12-05 22:46:21 +00007732005-11-26 Roland McGrath <roland@redhat.com>
774
775 * dwfl_end.c (dwfl_end): Free the DWFL itself.
776
7772005-11-25 Roland McGrath <roland@redhat.com>
778
779 * dwfl_module_getdwarf.c (__libdwfl_module_getebl): New function.
780 (load_dw): Use it.
781 * dwfl_module_register_names.c (dwfl_module_register_names): Likewise.
782 * libdwflP.h: Declare it.
783
784 * dwfl_module_register_names.c: New file.
785 * Makefile.am (libdwfl_a_SOURCES): Add it.
786 * libdwfl.h: Declare dwfl_module_register_names.
787
Roland McGratha5640892005-11-26 00:38:14 +00007882005-11-21 Roland McGrath <roland@redhat.com>
789
790 * linux-kernel-modules.c (dwfl_linux_kernel_module_section_address):
791 Don't leak malloc'd file name.
792 If a /sys/.../sections file is missing and starts with ".init",
793 try the variant with "_init" too; catches PPC64 kernel braindamage.
794
Roland McGrathe47ab762005-11-17 03:16:00 +00007952005-11-15 Roland McGrath <roland@redhat.com>
796
797 * libdwfl.h: Comment fixes.
798
799 * dwfl_module_return_value_location.c: Add unlikely for error case.
800
8012005-11-13 Roland McGrath <roland@redhat.com>
802
803 * dwfl_return_value_location.c: New file.
804 * Makefile.am (libdwfl_a_SOURCES): Add it.
805 * libdwfl.h: Declare dwfl_module_return_value_location.
806 * libdwflP.h (DWFL_ERRORS): Add DWFL_E_WEIRD_TYPE.
807
Roland McGrath07d4f2f2005-10-28 06:56:24 +00008082005-10-20 Roland McGrath <roland@redhat.com>
809
810 * libdwflP.h (DWFL_ERRORS): New error UNKNOWN_MACHINE.
811 * relocate.c (__libdwfl_relocate): Return DWFL_E_UNKNOWN_MACHINE
812 instead of DWFL_E_BADRELTYPE if ebl_get_elfmachine yields EM_NONE.
813
8142005-10-01 Roland McGrath <roland@redhat.com>
815
816 * linux-kernel-modules.c (report_kernel): Return ENOENT if we fail
817 with errno 0.
818
8192005-09-19 Roland McGrath <roland@redhat.com>
820
821 * linux-kernel-modules.c (dwfl_linux_kernel_report_modules): Use
822 PRIx64 instead of PRIi64, lest addresses with high bits set overflow
823 the signed integer reading; they will just have to be in hexadecimal.
824 (dwfl_linux_kernel_module_section_address): Likewise.
825
Ulrich Drepperfbe998a2005-08-29 16:27:10 +00008262005-08-28 Ulrich Drepper <drepper@redhat.com>
827
828 * Makefile.am (%.os): Use COMPILE.os.
829 (COMPILE.os): Filter out gconv options.
830
Roland McGrath995f92d2005-08-26 05:55:04 +00008312005-08-25 Roland McGrath <roland@redhat.com>
832
833 * cu.c (__libdwfl_nextcu): Return success when dwarf_nextcu hits end.
834 * dwfl_nextcu.c (dwfl_nextcu): Skip modules with no dwarf info.
835
Roland McGrath80e43a72005-08-24 21:12:15 +00008362005-08-24 Roland McGrath <roland@redhat.com>
837
Roland McGrathefb5caa2005-08-25 01:49:53 +0000838 * dwfl_lineinfo.c (dwfl_lineinfo): Add bias, don't subtract it.
839
Roland McGrath80e43a72005-08-24 21:12:15 +0000840 * argp-std.c [_MUDFLAP] (__libdwfl_argp_mudflap_options): New function,
841 magic initializer to set -heur-stack-bound option.
842
Roland McGrath3712b282005-08-23 05:58:42 +00008432005-08-22 Roland McGrath <roland@redhat.com>
844
Roland McGrathd17fac72005-08-23 08:20:21 +0000845 * dwfl_validate_address.c: New file.
846 * Makefile.am (libdwfl_a_SOURCES): Add it.
847 * libdwfl.h: Declare dwfl_validate_address.
848
849 * derelocate.c (dwfl_module_relocate_address): Add INTDEF.
850 * libdwflP.h: Add INTDECL.
851
Roland McGrath3712b282005-08-23 05:58:42 +0000852 * dwfl_module_getdwarf.c (find_symtab): Use elf_getdata instead of
853 elf_rawdata for symbol-related sections.
854
Roland McGrathd17fac72005-08-23 08:20:21 +0000855 * offline.c (dwfl_report_offline): Move offline_next_address outside
856 module's range, in case it's an ET_EXEC using fixed segment locations.
857 * libdwfl.h: Update comment.
858
859 * dwfl_report_elf.c (dwfl_report_elf): Align BASE to first segment's
860 required alignment.
861
8622005-08-20 Roland McGrath <roland@redhat.com>
863
864 * linux-kernel-modules.c (report_kernel): Take new argument PREDICATE,
865 function to choose whether to report.
866 (dwfl_linux_kernel_report_offline): Likewise.
867 * libdwfl.h: Update decl.
868 * argp-std.c (parse_opt): Update caller.
869
870 * dwfl_getsrclines.c: New file.
871 * dwfl_onesrcline.c: New file.
872 * Makefile.am (libdwfl_a_SOURCES): Add them.
873 * libdwfl.h: Declare dwfl_getsrclines, dwfl_onesrcline.
874
875 * linux-kernel-modules.c (dwfl_linux_kernel_find_elf): Don't leak
876 MODULESDIR[0]. Call fts_close on failure.
877
878 * dwfl_module_getdwarf.c (load_dw): Take dwfl_file * instead of Elf *.
879 Close ET_REL file descriptors after relocation.
880 (find_dw): Update caller.
881 * offline.c (dwfl_report_offline): Get the file into memory and close
882 the file descriptor.
883
884 * dwfl_module_getdwarf.c (find_debuginfo): Do nothing when
885 MOD->debug.elf is already set.
886
887 * find-debuginfo.c (try_open): Use TEMP_FAILURE_RETRY.
888 (dwfl_standard_find_debuginfo): Fail on errors not ENOENT or ENOTDIR.
889
890 * argp-std.c (options, parse_opt): Grok -K/--offline-kernel, use
891 dwfl_linux_kernel_report_offline with offline_callbacks.
892
893 * linux-kernel-modules.c (report_kernel): New function, broken out of
894 ...
895 (dwfl_linux_kernel_report_kernel): ... here. Use it.
896 (dwfl_linux_kernel_report_offline): New function.
897 * libdwfl.h: Declare it.
898 * libdwflP.h: Add INTDECL.
899
9002005-08-19 Roland McGrath <roland@redhat.com>
901
902 Use standard debuginfo search path to look for vmlinux.
903 * find-debuginfo.c (dwfl_standard_find_debuginfo): Don't check CRC if
904 passed zero.
905 * linux-kernel-modules.c (try_kernel_name): New function, broken out
906 of ...
907 (dwfl_linux_kernel_report_kernel): ... here. Use it.
908
909 * argp-std.c (offline_callbacks): New variable.
910 (parse_opt): Use it for -e. Allow multiple -e options.
911
912 * offline.c: New file.
913 * Makefile.am (libdwfl_a_SOURCES): Add it.
914 * libdwfl.h: Declare dwfl_offline_section_address, dwfl_report_offline.
915 * libdwflP.h: Add INTDECLs.
916 (OFFLINE_REDZONE): New macro.
917 (struct Dwfl): New member `offline_next_address'.
918 * dwfl_begin.c (dwfl_begin): Initialize it.
919 * dwfl_module.c (dwfl_report_begin): Likewise.
920
921 * dwfl_report_elf.c (dwfl_report_elf): Accept all types. When ET_REL,
922 do a nominal absolute section layout starting at BASE.
923 * libdwfl.h: Update comment.
924
9252005-08-18 Roland McGrath <roland@redhat.com>
926
927 * dwfl_module_getsrc_file.c (dwfl_module_getsrc_file): Do
928 dwfl_module_getdwarf if necessary.
929
930 * dwfl_report_elf.c (dwfl_report_elf): Permit ET_REL with BASE==0.
931 * libdwfl.h: Update comment.
932
933 * derelocate.c: New file.
934 * Makefile.am (libdwfl_a_SOURCES): Add it.
935
936 * libdwflP.h (struct Dwfl_Module): isrel -> e_type.
937 * dwfl_report_elf.c (dwfl_report_elf): Initialize it.
938 * dwfl_module_getdwarf.c (open_elf): Update initialization.
939 (load_dw, dwfl_module_addrname): Update uses.
940 * relocate.c (__libdwfl_relocate): Likewise.
941
9422005-08-04 Roland McGrath <roland@redhat.com>
943
944 * libdwfl.h (Dwfl_Callbacks.section_address): Take additional
945 arguments SHNDX, SHDR.
946 (dwfl_linux_kernel_module_section_address): Update prototype.
947 * relocate.c (__libdwfl_relocate_value): Update caller.
948 * linux-kernel-modules.c (dwfl_linux_kernel_module_section_address):
949 Take the new arguments.
950
Roland McGrathd2c59962005-08-10 22:13:57 +00009512005-08-10 Roland McGrath <roland@redhat.com>
952
953 * relocate.c (__libdwfl_relocate): Take argument DEBUGFILE,
954 use it instead of MOD->debug.file.
955 * libdwflP.h: Update decl.
956 * dwfl_module_getdwarf.c (load_dw): Update caller.
957 Fixes bug #165598.
958
Roland McGrath4959bf82005-08-09 10:31:08 +00009592005-08-09 Roland McGrath <roland@redhat.com>
960
961 * libdwflP.h: Include ../libdw/libdwP.h for its INTDECLs.
962 * cu.c: Use INTUSE on dwarf_* calls.
963 * dwfl_error.c: Likewise.
964 * dwfl_module.c: Likewise.
965 * dwfl_module_getdwarf.c: Likewise.
966 * dwfl_module_getsrc_file.c: Likewise.
967 * lines.c: Likewise.
968
Roland McGrath5678f872005-08-07 21:42:56 +00009692005-08-07 Roland McGrath <roland@redhat.com>
970
971 * linux-kernel-modules.c (dwfl_linux_kernel_find_elf): When module
972 names contain '_' or '-', look for files named either "foo-bar.ko"
973 or "foo_bar.ko".
974
Roland McGrath83fcb482005-08-02 00:58:33 +00009752005-07-29 Roland McGrath <roland@redhat.com>
976
977 * loc2c.c: File removed.
978 * loc2c.h: File removed.
979 * loc2c-runtime.h: File removed.
980 * test2.c: File removed.
981 * Makefile.am (EXTRA_DIST): Variable removed.
982 (noinst_HEADERS): Remove loc2c.h from here.
983
Ulrich Drepper18618fd2005-07-28 21:29:22 +00009842005-07-28 Ulrich Drepper <drepper@redhat.com>
985
Ulrich Drepper4d527362005-07-28 22:32:58 +0000986 * libdwfl.h: Add a few missing extern for function prototypes.
987
Ulrich Drepper18618fd2005-07-28 21:29:22 +0000988 * libdwfl_crc32.c: New file.
989 * libdwfl_crc32_file.c: New file.
990 * libdwflP.h: Declare the new functions.
991 * Makefile.am (libdwfl_a_SOURCES): Add libdwfl_crc32.c and
992 libdwfl_crc32_file.c.
993 * libdwfl/find-debuginfo.c (check_crc): Use __libdwfl_crc32_file
994 instead of crc32_file.
995
Roland McGrathd89bbe42005-07-28 07:08:01 +00009962005-07-28 Roland McGrath <roland@redhat.com>
997
Roland McGrath244501f2005-07-28 09:15:47 +0000998 * ptest.c: Moved to ../tests/dwflmodtest.c.
999
Roland McGrath18385902005-07-28 07:12:38 +00001000 * Makefile.am (noinst_PROGRAMS): Variable removed.
1001 (libdwfl_so_SOURCES, libdwfl_LIBS, libdwfl_so_LDADD): Likewise.
1002 (EXTRA_DIST, ptest_LDADD, test2_LDADD): Likewise.
1003 (libdwfl): Don't use libdwfl.so any more.
1004 (libdwfl.so, install, uninstall): Targets removed.
1005 (test2_SOURCES): Define EXTRA_DIST instead of this.
1006 * libdwfl.map: File removed.
1007
Roland McGrathd89bbe42005-07-28 07:08:01 +00001008 * libdwfl.h: Use "" for libdw.h #include.
1009
Roland McGrath5bab2442005-07-28 00:44:29 +000010102005-07-27 Roland McGrath <roland@redhat.com>
1011
1012 * libdwfl.map: Add dwfl_getmodules.
1013
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000010142005-07-23 Ulrich Drepper <drepper@redhat.com>
1015
1016 * Makefile.am: Fix rules to allow building with mudflap.
1017
10182005-07-21 Roland McGrath <roland@redhat.com>
1019
1020 * Makefile.am (noinst_HEADERS): Add loc2c.c.
1021
1022 * test2.c (main): Check sscanf result to quiet warning.
1023
10242005-07-20 Roland McGrath <roland@redhat.com>
1025
1026 * libdwfl-branch merged, creating this direcotry.