blob: 0c8539efde0f8ca5da25ce23a5a9425ac25d5589 [file] [log] [blame]
Roland McGrath07d4f2f2005-10-28 06:56:24 +000012005-10-27 Roland McGrath <roland@redhat.com>
2
3 * dwarf_entry_breakpoints.c (search_range): Fix binary search code;
4 don't match end_sequence markers.
5
6 * dwarf_getsrclines.c (compare_lines): Sort end_sequence markers
7 before normal records at the same address.
8 * dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence
9 marker.
10
112005-10-26 Roland McGrath <roland@redhat.com>
12
Roland McGrath6724c902005-10-28 07:07:19 +000013 * dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func.
14 * dwarf_func_file.c: Renamed to ...
15 * dwarf_decl_file.c: ... here.
16 * dwarf_func_col.c: Renamed to ...
17 * dwarf_decl_column.c: ... here.
18 * dwarf_func_line.c: Renamed to ...
19 * dwarf_decl_line.c: ... here.
20 (dwarf_func_line): Renamed to ...
21 (dwarf_decl_line): ... this. Take a Dwarf_Die * argument.
22 (__libdw_func_intval): Renamed __libdw_attr_intval.
23 * dwarf_func_name.c: File removed.
24 * dwarf_func_lowpc.c: File removed.
25 * dwarf_func_highpc.c: File removed.
26 * dwarf_func_entrypc.c: File removed.
27 * dwarf_func_die.c: File removed.
28 * Makefile.am (libdw_a_SOURCES): Updated.
29 * libdw.h: Update decls.
30 (Dwarf_Func): Type removed.
31 * libdwP.h: Update decls.
32 (struct Dwarf_Func_s): Type removed.
33 * libdw.map: Updated.
34
35 * libdwP.h (CUDIE): New macro.
36 * dwarf_getlocation.c (dwarf_getlocation_addr): Use it.
37 * dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise.
38 * dwarf_ranges.c (dwarf_ranges): Likewise.
39
40 * dwarf_getloclist.c: Renamed to ...
41 * dwarf_getlocation.c: ... here.
42 (getloclist): Renamed to getlocation.
43 (dwarf_getloclist): Renamed to dwarf_getlocation.
44 (dwarf_addrloclists): Renamed to dwarf_getlocation_addr.
45 * Makefile.am (libdw_a_SOURCES): Updated.
46 * libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation.
47 (dwarf_addrloclists): Renamed dwarf_getlocation_addr.
48 (Dwarf_Loc): Renamed Dwarf_Op.
49 * libdwP.h (struct loc_s): Update use.
50 * libdw.map: Update map.
51
Roland McGrath07d4f2f2005-10-28 06:56:24 +000052 * dwarf_entry_breakpoints.c: Use the second line record within the
53 function, regardless of its source location data.
54
552005-10-25 Roland McGrath <roland@redhat.com>
56
57 * dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too.
58
59 * libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints.
60
612005-10-14 Roland McGrath <roland@redhat.com>
62
63 * dwarf_diecu.c (dwarf_diecu): New file.
64 * Makefile.am (libdw_a_SOURCES): Add it.
65 * libdw.h: Declare dwarf_diecu.
66 * libdw.map: Export it.
67
68 * libdw.map: Bump to 0.116; export dwarf_ranges.
69
702005-09-20 Roland McGrath <roland@redhat.com>
71
72 * dwarf_haspc.c: Use dwarf_ranges.
73 * dwarf_entry_breakpoints.c: Likewise.
74
75 * dwarf_ranges.c: New file.
76 * Makefile.am (libdw_a_SOURCES): Add it.
77 * libdw.h: Declare dwarf_ranges.
78 * libdwP.h: Add INTDECL.
79
802005-09-14 Roland McGrath <roland@redhat.com>
81
82 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in
83 prologue_end marker scanning loop.
84
852005-09-11 Roland McGrath <roland@redhat.com>
86
87 * dwarf.h: Comment typo fix.
88
892005-09-07 Roland McGrath <roland@redhat.com>
90
91 * dwarf_entry_breakpoints.c: New file.
92 * Makefile.am (libdw_a_SOURCES): Add it.
93 * libdw.h: Declare dwarf_entry_breakpoints.
94
95 * dwarf_entrypc.c: New file.
96 * Makefile.am (libdw_a_SOURCES): Add it.
97 * libdw.h: Declare dwarf_entrypc.
98 * libdwP.h: Add INTDECL.
99
Ulrich Drepperfbe998a2005-08-29 16:27:10 +00001002005-08-28 Ulrich Drepper <drepper@redhat.com>
101
102 * Makefile.am: Use $(LINK) not $(CC) when creating DSO.
103 (%.os): Use COMPILE.os.
104 (COMPILE.os): Filter out gconv options.
105
Roland McGrath71e15a02005-08-27 10:33:26 +00001062005-08-27 Roland McGrath <roland@redhat.com>
107
108 * dwarf_getscopes.c (dwarf_getscopes): Rewritten using
109 __libdw_visit_scopes.
110
111 * dwarf_getscopes_die.c: New file.
112 * Makefile.am (libdw_a_SOURCES): Add it.
113 * libdw.h: Declare dwarf_getscopes_die.
114 * libdw.map: Bump to 0.115 and add it.
115
116 * libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct
117 containing a DIE and its parent pointer, instead of just Dwarf_Die.
118 Take two functions for both preorder and postorder visitors.
119 * libdwP.h: Update decl.
120 (struct Dwarf_Die_Chain): New type.
121 * dwarf_func_inline.c: Update uses.
122
123 * dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate.
124 Add INTDEF.
125 * libdwP.h: Add INTDECL.
126 * dwarf_func_name.c (dwarf_func_name): Use dwarf_diename.
127
Roland McGrathd17fac72005-08-23 08:20:21 +00001282005-08-23 Roland McGrath <roland@redhat.com>
129
130 * dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
131 DW_AT_specification the same as DW_AT_abstract_origin.
132
1332005-08-20 Roland McGrath <roland@redhat.com>
134
135 * libdw.map: Add dwfl_cumodule, remove dwfl_linecu.
136 Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address,
137 and dwfl_report_offline.
138
1392005-08-19 Roland McGrath <roland@redhat.com>
140
141 * libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes.
142 Add dwfl_module_relocate_address, dwfl_module_relocations,
143 dwfl_module_relocation_info.
144
Roland McGrathf5fda7d2005-08-18 22:01:57 +00001452005-08-18 Roland McGrath <roland@redhat.com>
146
147 * dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as
148 outermost scope in the results.
149
Roland McGrath1ecb6062005-08-15 09:53:04 +00001502005-08-15 Roland McGrath <roland@redhat.com>
151
152 * dwarf_func_inline.c: New file.
153 * Makefile.am (libdw_a_SOURCES): Add it.
154 * libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances.
155 * libdw.map: Add them.
156
157 * dwarf_func_die.c: New file.
158 * Makefile.am (libdw_a_SOURCES): Add it.
159 * libdw.h: Declare dwarf_func_die.
160 * libdw.map: Add it. Bump version to ELFUTILS_0.114.
161
Roland McGrath1c83bf12005-08-11 07:03:55 +00001622005-08-10 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +0000163
Roland McGrath1c83bf12005-08-11 07:03:55 +0000164 * dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming
165 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +0000166
Roland McGrath4959bf82005-08-09 10:31:08 +00001672005-08-09 Roland McGrath <roland@redhat.com>
168
Roland McGrathb6312e12005-08-09 10:36:01 +0000169 * dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin.
170
Roland McGrath4959bf82005-08-09 10:31:08 +0000171 * dwarf_end.c: Add INTDEF.
172 * dwarf_error.c (dwarf_errmsg): Likewise.
173 * libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs.
174
Roland McGratha5a89682005-08-02 01:24:01 +00001752005-08-01 Roland McGrath <roland@redhat.com>
176
177 * dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset.
178 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
179
Ulrich Drepper18618fd2005-07-28 21:29:22 +00001802005-07-28 Ulrich Drepper <drepper@redhat.com>
181
182 * Makefile.am (libdw.so): No need to link with libeu.a anymore.
183 (libdw_a_LIBADD): Add all files from libdwfl.a.
184
Roland McGrath366784a2005-07-28 06:20:53 +00001852005-07-27 Roland McGrath <roland@redhat.com>
186
Roland McGrath18385902005-07-28 07:12:38 +0000187 * Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in,
188 along with ../libebl/libebl.a and ../lib/libeu.a;
189 depend on ../libelf/libelf.so.
190 (libdw_so_LDADD): New variable.
191 * libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map.
192
Roland McGrath366784a2005-07-28 06:20:53 +0000193 * libdw.map: Define an empty base version and move all symbols to
194 version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet.
195
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00001962005-07-23 Ulrich Drepper <drepper@redhat.com>
197
198 * dwarf_error.c: Add internal alias for dwarf_errno.
199 * libdwP.h: Declare __dwarf_errno_internal.
200 * dwarf_getloclist.c: Use INTDEF for dwarf_errno.
201
202 * dwarf_error.c [USE_TLS]: Actually use __thread in definition of
203 global_error.
204
2052005-06-01 Roland McGrath <roland@redhat.com>
206
207 * dwarf_getaranges.c (dwarf_getaranges): Sort result array.
208 * dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search.
209
2102005-06-08 Roland McGrath <roland@redhat.com>
211
212 * memory-access.h (get_uleb128_step, get_uleb128): Remove casts.
213 (get_sleb128_step, get_sleb128): Likewise.
214 * dwarf_getattrs.c (dwarf_getattrs): Add consts.
215 * dwarf_getloclist.c (getloclist): Likewise.
216 * dwarf_formblock.c (dwarf_formblock): Likewise.
217 * dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
218 * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise.
219 * dwarf_formref.c (dwarf_formref): Likewise.
220 * dwarf_formsdata.c (dwarf_formsdata): Likewise.
221 * dwarf_formudata.c (dwarf_formudata): Likewise.
222 * dwarf_haschildren.c (dwarf_haschildren): Likewise.
223 * dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise.
224 * dwarf_tag.c (dwarf_tag): Likewise.
225 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
226 * memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise.
227 * libdw_form.c (__libdw_form_val_len): Likewise.
228 * libdwP.h: Update decl.
229
2302005-06-04 Roland McGrath <roland@redhat.com>
231
232 * memory-access.h (get_uleb128_rest_return): New macro.
233 [! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it.
234 (get_sleb128_rest_return): New macro.
235 [! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it.
236 * memory-access.c: New file.
237 * Makefile.am (libdw_a_SOURCES): Add it.
238 (DEFS): Add -DIS_LIBDW.
239
2402005-05-31 Roland McGrath <roland@redhat.com>
241
242 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
243 formref offset.
244
2452005-05-30 Roland McGrath <roland@redhat.com>
246
247 * dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base
248 address if DW_AT_low_pc is missing. Not to spec, but GCC generates it.
249
250 * dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte
251 BEGIN value. Instead, match base address entries separately for
252 32/64 size cases.
253
2542005-05-28 Roland McGrath <roland@redhat.com>
255
256 * dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance
257 past location expression contents.
258
2592005-05-23 Roland McGrath <roland@redhat.com>
260
261 * dwarf_getsrclines.c: Comment typo fix.
262
263 * dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation.
264 * dwarf_getloclist.c (dwarf_addrloclists): Likewise.
265
2662005-05-22 Ulrich Drepper <drepper@redhat.com>
267
268 * libdwP.h: Only use INTDECL for alias prototypes.
269
2702005-05-19 Roland McGrath <roland@redhat.com>
271
272 * dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too.
273
274 * dwarf_getscopevar.c: New file.
275 * Makefile.am (libdw_a_SOURCES): Add it.
276 * libdw.h: Declare dwarf_getscopevar.
277
278 * dwarf_getsrcfiles.c: Add INTDEF.
279 * dwarf_haschildren.c: Likewise.
280 * libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL.
281
282 * dwarf_getscopes.c: New file.
283 * Makefile.am (libdw_a_SOURCES): Add it.
284 * libdw.h: Declare dwarf_getscopes.
285 * libdw.map: Add it.
286
2872005-05-18 Roland McGrath <roland@redhat.com>
288
289 * libdwP.h (IDX_debug_ranges): New enum constant.
290 * dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges".
291 * libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant.
292 * dwarf_error.c (errmsgs): Add it.
293 * dwarf_haspc.c: New file.
294 * libdw.h: Declare dwarf_haspc.
295 * libdw.map: Add it.
296 * libdwP.h: Add INTDECL.
297
298 * dwarf_attr_integrate.c: New file.
299 * dwarf_hasattr_integrate.c: New file.
300 * Makefile.am (libdw_a_SOURCES): Add them.
301 * libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate.
302 * libdw.map: Add them.
303
304 * dwarf_hasattr.c: Add INTDEF.
305 * libdwP.h: Add INTDECL for it.
306
307 * dwarf_formref_die.c: New file.
308 * Makefile.am (libdw_a_SOURCES): Add it.
309 * libdw.h (dwarf_formref_die): Declare it.
310 * libdwP.h (dwarf_formref_die): Add INTDECL.
311 * libdw.map: Add it.
312
313 * dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out
314 of ...
315 (dwarf_getloclist): ... here. Call them.
316 (dwarf_addrloclists): New function.
317 * libdw.h: Declare it.
318 * libdw.map: Add it.
319
320 * dwarf_getmacros.c (dwarf_getmacros): Don't bail at
321 DW_MACINFO_end_file. Recognize type 0 as terminator.
322
3232005-05-05 Roland McGrath <roland@redhat.com>
324
325 * dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search.
326
327 * dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since
328 the line program does not produce all entries in ascending order.
329
3302005-04-25 Ulrich Drepper <drepper@redhat.com>
331
332 * dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple
333 occurences (e.g., inlines) better.
334
3352005-04-24 Ulrich Drepper <drepper@redhat.com>
336
337 * libdw.h (DWARF_END_ABBREV): Define.
338 * dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if
339 end is reached.
340 * dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end
341 of records reached.
342 * dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV
343 as error of __libdw_getabbrev.
344
3452005-04-04 Ulrich Drepper <drepper@redhat.com>
346
347 * dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization.
348
349 * dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of
350 results back to caller.
351
3522005-04-04 Roland McGrath <roland@redhat.com>
353
354 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL.
355
356 * dwarf_func_line.c (__libdw_func_intval): Use internal_function in
357 defn.
358
3592005-04-04 Ulrich Drepper <drepper@redhat.com>
360
361 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE.
362
363 * dwarf_getsrc_file.c: New file.
364 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c.
365 * libdw.h: Declare dwarf_getsrc_file.
366 * libdw.map: Add dwarf_getsrc_file.
367
3682005-04-02 Ulrich Drepper <drepper@redhat.com>
369
370 * dwarf_func_entrypc.c: New file.
371 * dwarf_func_col.c: New file.
372 * dwarf_func_line.c: New file.
373 * dwarf_func_file.c: New file.
374 * libdw.h: Add prototypes for new functions.
375 * libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line,
376 dwarf_func_file.
377 * Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c,
378 dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c.
379 * libdwP.h (struct Dwarf_Func_s): Add cudie element.
380 Declare __libdw_func_intval and __dwarf_formsdata_internal.
381 * dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object.
382 * dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs.
383
384 * dwarf.h: Add some DWARF3 definitions.
385
3862005-04-01 Ulrich Drepper <drepper@redhat.com>
387
388 * dwarf_getfuncs.c: New file.
389 * dwarf_func_highpc.c: New file.
390 * dwarf_func_lowpc.c: New file.
391 * dwarf_func_name.c: New file.
392 * Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c,
393 dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c.
394 * libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc,
395 and dwarf_func_name.
396 * libdw.h: Add prototypes for new functions.
397 * dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs.
398 * dwarf_siblingof.c: Likewise.
399 * dwarf_dieoffset.c: Likewise.
400 * dwarf_highpc.c: Likewise.
401 * dwarf_lowpc.c: Likewise.
402 * libdwP.h: Add prototypes for internal functions.
403 Define Dwarf_Func_s structure.
404
4052005-03-29 Ulrich Drepper <drepper@redhat.com>
406
407 * libdw.h: Add padding in Dwarf_die.
408
409 * dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs.
410 * dwarf_attr.c: Likewise.
411 * dwarf_begin.c: Likewise.
412 * dwarf_begin_elf.c: Likewise.
413 * dwarf_bitoffset.c: Likewise.
414 * dwarf_bitsize.c: Likewise.
415 * dwarf_bytesize.c: Likewise.
416 * dwarf_diename.c: Likewise.
417 * dwarf_formaddr.c: Likewise.
418 * dwarf_formblock.c: Likewise.
419 * dwarf_formref.c: Likewise.
420 * dwarf_formstring.c: Likewise.
421 * dwarf_formudata.c: Likewise.
422 * dwarf_getarange_addr.c: Likewise.
423 * dwarf_getarangeinfo.c: Likewise.
424 * dwarf_getaranges.c: Likewise.
425 * dwarf_getloclist.c: Likewise.
426 * dwarf_getmacros.c: Likewise.
427 * dwarf_getsrc_die.c: Likewise.
428 * dwarf_getsrcfiles.c: Likewise.
429 * dwarf_getsrclines.c: Likewise.
430 * dwarf_highpc.c: Likewise.
431 * dwarf_lowpc.c: Likewise.
432 * dwarf_nextcu.c: Likewise.
433 * dwarf_offdie.c: Likewise.
434 * dwarf_siblingof.c: Likewise.
435 * dwarf_srclang.c: Likewise.
436 * dwarf_tag.c: Likewise.
437 * libdw_findcu.c: Likewise.
438 * libdwP.h: Add prototypes for internal functions.
439
440 * dwarf_addrdie.c: New file.
441 * dwarf_macro_opcode.c: New file.
442 * dwarf_macro_param1.c: New file.
443 * dwarf_macro_param2.c: New file.
444 * libdw.h: Add declarations. Move Dwarf_Macro definition to libdwP.h.
445 * libdwP.h: Remove Dwarf_Macro definition.
446 * Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c,
447 dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c.
448 * libdw.map: Add entries for new functions.
449
4502005-03-21 Ulrich Drepper <drepper@redhat.com>
451
452 * libdw.h: Handle broken gcc < 4.
453
4542005-02-15 Ulrich Drepper <drepper@redhat.com>
455
456 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
457
458 * dwarf_begin_elf.c: Fix warnings.
459 * dwarf_dieoffset.c: Likewise.
460 * dwarf_end.c: Likewise.
461 * dwarf_error.c: Likewise.
462 * dwarf_getpubnames.c: Likewise.
463
464 * libdwP.h: Add new error values.
465 * dwarf_error.c: Support new error values.
466 * dwarf_getpubnames.c: Check parameter value.
467
4682005-02-05 Ulrich Drepper <drepper@redhat.com>
469
470 * Makefile.am: Check for text relocations in constructed DSO.
471
472 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.
473
4742005-02-04 Ulrich Drepper <drepper@redhat.com>
475
476 * dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary
477 checks to not read over buffer boundaries for ill-formed DWARF data.
478
4792004-09-25 Ulrich Drepper <drepper@redhat.com>
480
481 * dwarf_child.c: Make compile with gcc 4.0.
482 * dwarf_error.c: Likewise.
483 * dwarf_formblock.c: Likewise.
484 * dwarf_getabbrev.c: Likewise.
485 * dwarf_getattrs.c: Likewise.
486 * dwarf_getsrclines.c: Likewise.
487 * dwarf_tag.c: Likewise.
488 * libdw_form.c: Likewise.
489
4902004-01-20 Ulrich Drepper <drepper@redhat.com>
491
492 * Makefile.am: Support building with mudflap.
493
494 * dwarf_getloclist.c: Fix warnings gcc 3.4 spits out.
495 * dwarf_getsrclines.c: Likewise.
496 * dwarf_memory-access.h: Likewise.
497
4982004-01-19 Ulrich Drepper <drepper@redhat.com>
499
500 * dwarf_getsrcfiles.c: Third parameter can be NULL.
501
502 * libdw.h: Define Dwarf_macro. Declare dwarf_getmacros.
503 Third parameter of dwarf_getsrcfiles can be NULL.
504
505 * libdw.map: Add dwarf_getmacros.
506 * Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros.
507 * dwarf_getmacros.c: New file.
508
5092004-01-18 Ulrich Drepper <drepper@redhat.com>
510
511 * libdw.h: Second parameter of dwarf_getaranges can be NULL.
512
513 * dwarf_nextcu.c: Return -1 if dwarf parameter is NULL.
514
515 * dwarf_getsrclines.c:
516 Use read_2ubyte_unaligned_inc instead of _inc-less variant.
517
518 * dwarf_getaranges.c: Allow naranges parameter to be NULL.
519
520 * libdwP.h (_): Use elfutils domain.
521
522 * dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction.
523
524 * dwarf_getsrclines.c: Fix typo in comment.
525
5262004-01-17 Ulrich Drepper <drepper@redhat.com>
527
528 * Makefile.am: Support building with mudflap.
529
5302004-01-16 Ulrich Drepper <drepper@redhat.com>
531
532 * memory-access.h: Add lots of const in case a pointer passed is const.
533
534 * dwarf_formflag.c: New file.
535 * dwarf_getattrs.c: New file.
536 * dwarf_error.c: Add new error value.
537 * libdw.h: Add prototypes for new functions. Adjust prototype for
538 dwarf_getpubnames.
539 * libdw.map: Add new functions.
540 * dwarf_getpubnames.c: Change type of return value and fourth parameter
541 to ptrdiff_t.
542 * libdwP.h: Add new error value.
543 * Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and
544 dwarf_formflag.c.
545
546 * dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL.
547
5482004-01-12 Ulrich Drepper <drepper@redhat.com>
549
550 * dwarf_getarange_addr.c: New file
551 * dwarf_getarangeinfo.c: New file.
552 * dwarf_getaranges.c: New file.
553 * dwarf_onerange.c: New file.
554 * libdw.h: Declare new functions. Define Dwarf_Arange and
555 Dwarf_Aranges.
556 * libdw.map: Add new functions.
557 * libdwP.h: Add new errors. Add aranges member to struct Dwarf.
558 Define Dwarf_Aranges_s and Dwarf_Arange_s.
559 * Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c,
560 dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c.
561 * dwarf_error.c: Add new message.
562
5632004-01-11 Ulrich Drepper <drepper@redhat.com>
564
565 * Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c,
566 dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c,
567 dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c.
568 * dwarf_error.c: Add another message.
569 * dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines
570 introduction.
571 * dwarf_filesrc.c: Likewise.
572 * dwarf_getsrcfiles.c: Likewise.
573 * dwarf_getsrclines.c: Likewise.
574 * dwarf_lineaddr.c: New file.
575 * dwarf_linebeginstatement.c: New file.
576 * dwarf_lineblock.c: New file.
577 * dwarf_linecol.c: New file.
578 * dwarf_lineendsequence.c: New file.
579 * dwarf_lineepiloguebegin.c: New file.
580 * dwarf_lineno.c: New file.
581 * dwarf_lineprologueend.c: New file.
582 * dwarf_onesrcline.c: New file.
583 * dwarf_lineno.c: Change interface to store result in object pointed
584 to by second parameter.
585 * libdw.h: Add prototypes for new functions. Change dwarf_lineno
586 prototype. Define Dwarf_Files and Dwarf_Lines.
587 * libdw.map: Add new functions.
588 * libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s.
589 * libdw_findcu.c: Don't initialize nlines field.
590
591 * dwarf_siblingof: Little optimization.
592
593 * dwarf_begin.c: Remember that the ELF descriptor must be closed.
594 * dwarf_end.c: Close ELF descriptor if free_elf is set.
595 * libdwP.h (struct Dwarf): Add free_elf field.
596
597 * Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and
598 dwarf_offabbrev.c.
599 * dwarf_getstring.c: New file.
600 * dwarf_offabbrev.c: New file.
601 * libdw.map: Add dwarf_getstring and dwarf_offabbrev.
602 * dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result
603 parameters. Don't allocate memory if not necessary and don't lookup
604 previous results if no CU given.
605 (dwarf_getabbrev): Adjust call to __libdw_getabbrev.
606 * dwarf_tag.c: Adjust call to __libdw_getabbrev.
607 * libdw.h: Declare dwarf_offabbrev and dwarf_getstring.
608 * libdwP.h: Change prototype for __libdw_getabbrev.
609
610 * dwarf_getabbrevattr.c: Add offsetp parameter. Fill in before
611 returning if this is wanted.
612
6132004-01-09 Ulrich Drepper <drepper@redhat.com>
614
615 * dwarf_nextcu.c: Add new parameter offset_sizep. Initialize it
616 with offset_size value.
617 * libdw.h: Adjust dwarf_nextcu prototype.
618 * libdwP.h (struct Dwarf_CU): Add offset_size member.
619 * libdw_findcu.c: Adjust dwarf_nextcu call. Initialize offset_size
620 member of new CU struct.
621 * dwarf_formstring.c: Depend on offset_size not address_size for
622 DW_FORM_strp handling.
623 * dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr.
624
625 * dwarf_tag.c (__libdw_findabbrev): Return correct value for
626 failing lookup.
627 (dwarf_tag): Correctly recognize failed lookup.
628
629 * dwarf_end.c (cu_free): Call tdestroy for locs member. Use new
630 function noop_free.
631 * dwarf_error.c: Add message for DWARF_E_NO_BLOCK.
632 * dwarf_formblock.c: New file.
633 * dwarf_getloclist.c: Rewrite to handle a single block.
634 * libdw.h: Define Dwarf_Block. Rename Dwarf_Loc members. Remove
635 Dwarf_Locdesc definition. Declare dwarf_formblock. Remove
636 dwarf_getloclistent declaration.
637 * libdw.map: Add dwarf_formblock, remove dwarf_getloclistent.
638 * libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK.
639 Add locs member to struct Dwarf_CU.
640 * libdw_fundcu.c: Initialize locs member of new CU.
641 * Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c.
642 Remove dwarf_getloclistent.c.
643
6442004-01-07 Ulrich Drepper <drepper@redhat.com>
645
646 * libdw.h: Use __nonnull__ attribute only for gcc >= 3.3.
647 * libdwP.h: Likewise.
648
649 * dwarf_getloclist.c: New file.
650 * dwarf_getloclistent.c: New file.
651 * libdw.h: Define Dwarf_Loc and Dwarf_Locdesc.
652 Declare dwarf_getloclistent and dwarf_getloclist.
653 * libdw.map: Add dwarf_getloclistent and dwarf_getloclist.
654 * libdwP.h: Define DWARF_E_NO_LOCLIST.
655 * Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and
656 dwarf_getloclist.c.
657
658 * dwarf_error.c: More error messages.
659
6602004-01-06 Ulrich Drepper <drepper@redhat.com>
661
662 * dwarf_getsrclines.c: Remove debugging support.
663
664 * dwarf_getsrcfiles.c: New file.
665 * dwarf_filesrc.c: New file.
666 * libdw.h: Declare these functions. Define Dwarf_File.
667 * libdwP.c: Adjust Dwarf_File_s definition.
668 * libdw.map: Add these functions.
669 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and
670 dwarf_filesrc.c.
671 * dwarf_getsrclines.c: Initialize cu->files.
672
6732004-01-05 Ulrich Drepper <drepper@redhat.com>
674
675 * libdw.h: Add more nonnull function attributes.
676
677 * dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next.
678 * dwarf_end.c (cu_free): New function.
679 (dwarf_end): Also free CU tree. Correct freeing of memory blocks.
680 * dwarf_error.c (errmsgs): Add new messages.
681 * dwarf_getsrc_die.c: New file.
682 * dwarf_getsrclines.c: New file.
683 * dwarf_lineno.c: New file.
684 * dwarf_linesrc.c: New file.
685 * dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc
686 instead of the *_inc-less variants.
687 * libdw.h: Define Dwarf_Line. Add some function attributes. Declare
688 dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc.
689 * libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno,
690 and dwarf_linesrc.
691 * libdwP.h: Add more error codes.
692 (struct Dwarf): Remove mem_tail.next member.
693 (Dwarf_File): Define type.
694 (struct Dwarf_Line_s): Define type.
695 (struct Dwarf_CU): Add lines and nlines members.
696 (libdw_alloc): Define local variable _tail and use it.
697 Add some function attributes.
698 * libdw_alloc.c (__libdw_allocate): Don't initialize next member.
699 * libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members.
700 * memory-access.h: Add unlikely for the endian conversion paths.
701 * Makefile.am (AM_CFLAGS): Add -std parameter.
702 (libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die,
703 dwarf_lineno, and dwarf_linesrc.
704
7052003-08-11 Ulrich Drepper <drepper@redhat.com>
706
707 * Moved to CVS archive.