blob: a3d9170a8dffe3353e398b827c20a62504cbe4df [file] [log] [blame]
Petr Machataf3df61f2009-05-07 21:02:33 +020012009-05-07 Petr Machata <pmachata@redhat.com>
2
3 * dwarf_getmacros.c (dwarf_getmacros): Take into account offset in
4 DW_AT_macro_info attribute of CU DIE.
5
Roland McGrath2fb90512009-04-15 14:47:13 -070062009-04-15 Roland McGrath <roland@redhat.com>
7
8 * dwarf.h (DW_CIE_ID): Removed.
9 (DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it.
10
Roland McGrath6a4bdd92009-04-01 14:25:29 -0700112009-04-01 Roland McGrath <roland@redhat.com>
12
13 * dwarf.h: Add DW_CFA_GNU_negative_offset_extended.
14
Roland McGrathc5acb302009-01-28 18:28:52 -0800152009-01-28 Roland McGrath <roland@redhat.com>
16
Roland McGrath03288f02009-01-28 22:00:54 -080017 * libdwP.h (struct Dwarf_Line_s): Move out of struct Dwarf_Lines_s
18 defn so C++ doesn't scope the name to not match the Dwarf_Line typedef.
19
Roland McGrathc5acb302009-01-28 18:28:52 -080020 * libdwP.h (struct Dwarf_Files_s): Replace dbg field with cu field.
21
Roland McGrathf46272a2009-01-26 18:36:16 -0800222009-01-26 Roland McGrath <roland@redhat.com>
23
24 * dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all.
25
Roland McGrathd31505f2009-01-25 19:37:33 -0800262009-01-25 Roland McGrath <roland@redhat.com>
27
28 * dwarf_getattrs.c: Correctly skip attribute values when restarting.
29
Roland McGrath3bf7a092009-01-23 16:34:07 -0800302009-01-23 Roland McGrath <roland@redhat.com>
31
32 * Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back.
33 Put these rules under if MAINTAINER_MODE.
34
Roland McGrathafdd51e2009-01-22 02:26:24 -0800352009-01-22 Roland McGrath <roland@redhat.com>
36
37 * dwarf.h: Add DW_OP_GNU_encoded_addr.
38
Roland McGrath1ea4fdc2009-01-21 19:14:37 -0800392009-01-21 Roland McGrath <roland@redhat.com>
40
41 * Makefile.am (CLEANFILES): Renamed to ...
42 (MOSTLYCLEANFILES): ... here.
43 (CLEANFILES): New variable, add known-dwarf.h.
44
Roland McGrath24b03302009-01-17 14:34:13 -0800452009-01-17 Roland McGrath <roland@redhat.com>
46
Roland McGrath54456d82009-01-17 14:39:35 -080047 * Makefile.am (known-dwarf.h): Target renamed, not in $(srcdir).
48 Make it unconditional.
49 (BUILT_SOURCES): Updated.
Roland McGrath5513e642009-01-11 01:35:11 -080050
51 * dwarf.h: Add description comments for DW_LANG_* values.
52
53 * Makefile.am [MAINTAINER_MODE]
54 ($(srcdir)/known-dwarf.h): New target.
55 (BUILT_SOURCES): Add it.
56
Roland McGrath24b03302009-01-17 14:34:13 -080057 * dwarf.h: Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit.
58
Ulrich Drepper7e678fa2009-01-10 18:02:05 -0800592009-01-10 Ulrich Drepper <drepper@redhat.com>
60
61 * dwarf_error.c: Always use __thread. Remove all !USE_TLS code.
62
Roland McGrathe06762c2009-01-08 13:39:08 -0800632009-01-08 Roland McGrath <roland@redhat.com>
64
65 * Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in.
66
Roland McGrath7e827f22009-01-06 02:09:50 -0800672008-01-06 Roland McGrath <roland@redhat.com>
Roland McGrath1f6d2012008-12-31 00:21:04 -080068
69 * libdwP.h (struct Dwarf_Abbrev): Change type of 'has_children' to bool.
70 Reorder members.
71 * dwarf_haschildren.c: Return -1 for error case, not 0.
Roland McGrathbca43152009-01-05 23:59:32 -080072
73 * Makefile.am (libdw.so): Link in $(zip_LIBS).
74
Ulrich Drepperac194d02009-01-06 00:30:01 -0800752009-01-06 Ulrich Drepper <drepper@redhat.com>
76
Roland McGrathc462c632009-01-06 01:04:31 -080077 * dwarf.h: Add definition for unwind and call frame information.
Ulrich Drepperac194d02009-01-06 00:30:01 -080078
79 * memory-access.h: Define read_ubyte_unaligned, read_sbyte_unaligned,
80 read_ubyte_unaligned_inc, and read_sbyte_unaligned_inc.
81
Roland McGrathb4d6f0f2008-08-25 22:55:17 +0000822008-08-15 Roland McGrath <roland@redhat.com>
83
84 * libdw.map (ELFUTILS_0.136): New version set, inherits from
85 ELFUTILS_0.130. Add dwfl_addrsegment, dwfl_report_segment.
86
Ulrich Drepper8d358d92008-01-22 06:34:31 +0000872008-01-21 Ulrich Drepper <drepper@redhat.com>
88
89 * dwarf_child.c: Minor optimizations.
90 * dwarf_getattrs.c: Likewise.
91 * dwarf_getpubnames.c: Likewise.
92 * dwarf_siblingof.c: Likewise.
93 * dwarf_tag.c: Likewise.
94
Ulrich Drepperb27ce002008-01-18 20:08:54 +0000952008-01-18 Ulrich Drepper <drepper@redhat.com>
96
97 * dwarf_getsrclines.c (dwarf_getsrclines): Don't require exact match
98 of DWARF_VERSION comparison, just fail if the file's version is newer.
99
Ulrich Drepper35f08c42008-01-18 19:59:08 +00001002008-01-17 Nick Clifton <nickc@redhat.com>
101
102 * dwarf.h (DWARF3_LENGTH_MIN_ESCAPE_CODE): New define.
103 (DWARF3_LENGTH_MAX_ESCAPE_CODE): New define.
104 (DWARF3_LENGTH_64_BIT): New define.
105 * dwarf_getaranges (dwarf_getaranges): Use the new definitions.
106 * dwarf_getpubnames: Include dwarf.h.
107 (get_offsets): Use the new definitions.
108 * dwarf_getsrclines.c (dwarf_getsrclines): Use the new defintions.
109 * dwarf_nextcu.c: Include dwarf.h. Correct comment.
110 (dwarf_nextcu): Use the new definitions.
111
112 * libdwP.h (DIE_OFFSET_FROM_CU_OFFSET): New macro.
Ulrich Dreppera969d8e2008-01-22 06:15:00 +0000113 * dwarf_diecu.c (dwarf_diecu): Use the new macro.
Ulrich Drepper35f08c42008-01-18 19:59:08 +0000114 * dwarf_getaranges (dwarf_getaranges): Use the new macro.
115 * dwarf_nextcu.c (dwarf_nextcu): Use the new macro.
116
117 * dwarf_getpubnames (get_offsets): Replace assertion with test and
118 error return.
119
120 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Use CUDIE.
121
122 * dwarf_siblingof (dwarf_siblingof): Detect a NULL return pointer.
123 Set the address in the return structure to the address of the next
124 non-sibling die, if there is no sibling and the return pointer is
125 not the same as the die pointer.
126 * libdw.h: Expand the description of the dwarf_siblingof prototype.
127
128 * dwarf_child.c: Fix typo in comment.
129
130 * libdwP.h (DWARF_VERSION): Change to 3.
131
132 * dwarf_formref.c (__libdw_formref.c): Handle attributes which do
133 not have a initialised valp pointer.
134
135 * dwarf_getattrs.c (dwarf_getattrs): Return 1 rather than 0 when
136 the end of the attributes is reached. When the callback fails,
137 return the address of the failing attribute, not the address of
138 its successor.
139 * libdw.h: Expand the description of the dwarf_getattrs prototype.
140
141 * dwarf_child.c (__libdw_find_attr): Use the new definition.
142 (dwarf_child): Likewise.
143 * dwarf_tag.c (__libdw_findabbrev): Likewise.
144 (dwarf_tag): Likewise.
145
Ulrich Dreppere219f1c2008-01-09 05:49:49 +00001462008-01-08 Roland McGrath <roland@redhat.com>
147
148 * Makefile.am (euinclude): Variable removed.
149 (pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
150 (libdw.so): Pass -Wl,--enable-new-dtags,-rpath,$(pkglibdir).
151
Roland McGrathe4c22ea2007-10-23 13:07:39 +00001522007-10-17 Roland McGrath <roland@redhat.com>
153
154 * libdw.h (__deprecated_attribute__): New macro.
155 (dwarf_formref): Mark it deprecated.
156 * dwarf_formref.c (__libdw_formref): New function, broken out of ...
157 (dwarf_formref): ... here. Call it. Remove INTDEF.
158 * libdwP.h: Remove INTDECL.
159 Declare __libdw_formref.
160 * dwarf_siblingof.c (dwarf_siblingof): Call __libdw_formref instead.
161 * dwarf_formref_die.c: Likewise. Handle DW_FORM_ref_addr here.
162
163 * libdw_form.c (__libdw_form_val_len): Fix DW_FORM_ref_addr result,
164 needs to check CU->version.
165
166 * libdwP.h (struct Dwarf_CU): New member `version'.
167 * libdw_findcu.c (__libdw_findcu): Initialize it.
168
169 * dwarf_child.c: Return 1 for null entry as first child.
170
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00001712007-10-05 Roland McGrath <roland@redhat.com>
172
173 * dwarf_begin_elf.c (check_section): Punt on SHT_NOBITS sections.
174
175 * libdw.h (__extern_inline): Rename to __libdw_extern_inline.
176 [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Update uses.
177
Roland McGrath59ea7f32007-10-04 08:50:09 +00001782007-10-03 Roland McGrath <roland@redhat.com>
179
180 * libdw.map (ELFUTILS_0.130: Add dwfl_build_id_find_elf
181 and dwfl_build_id_find_debuginfo.
182
183 * libdw.map (ELFUTILS_0.130): New version set, inherits from
184 ELFUTILS_0.127. Add dwfl_module_build_id, dwfl_module_report_build_id.
185
Roland McGrath057ec6b2007-10-02 20:55:05 +00001862007-10-02 Roland McGrath <roland@redhat.com>
187
188 * libdw_visit_scopes.c (classify_die): Return walk for class_type and
189 structure_type.
190
Roland McGrathd1a48172007-08-07 19:51:01 +00001912007-08-07 Roland McGrath <roland@redhat.com>
192
193 * dwarf_getscopes.c (pc_match): Swallow dwarf_haspc error return when
194 error code is DWARF_E_NOERROR (0).
195
196 * dwarf_getscopes.c (pc_record): Always bail early if DIE->prune.
197 Fix typo in __libdw_visit_scopes argument.
198
199 * dwarf_getscopes.c (pc_match): Check dwarf_haspc error return,
200 swallow DWARF_E_NO_DEBUG_RANGES but not other errors.
201
Roland McGrath87d47802007-07-16 22:23:37 +00002022007-07-03 Roland McGrath <roland@redhat.com>
203
204 * libdw.h (__extern_inline): New macro.
205 [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it.
206
Roland McGrath43da9892007-04-16 23:13:37 +00002072007-04-16 Roland McGrath <roland@redhat.com>
208
209 * libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.
210
Roland McGrathbf2ee482007-04-05 09:27:36 +00002112007-04-05 Roland McGrath <roland@redhat.com>
212
Roland McGrath43da9892007-04-16 23:13:37 +0000213 * dwarf_getsrcdirs.c: New file.
214 * Makefile.am (libdw_a_SOURCES): Add it.
215 * libdw.h: Declare dwarf_getsrcdirs.
216 * libdw.map (ELFUTILS_0.127): Add it.
217
218 * libdwP.h (struct Dwarf_Files_s): New member ndirs.
219 * dwarf_getsrclines.c (dwarf_getsrclines): Don't clobber NDIRLIST to
220 zero before we use it to check for DWARF_E_INVALID_DIR_IDX.
221 Save DIRARRAY in the Dwarf_Files.
222
Roland McGrathbf2ee482007-04-05 09:27:36 +0000223 * dwarf_ranges.c (dwarf_ranges): Don't sign-extend 32-bit BEGIN
224 address to check for all-ones base address entry. Check directly.
225 Reported by Sébastien Dugué <sebastien.dugue@bull.net>.
226
Ulrich Drepperc07fbb32007-03-30 19:14:59 +00002272007-03-25 Roland McGrath <roland@redhat.com>
228
229 * dwarf_begin_elf.c (check_section): Return Dwarf * instead of void.
230 Return NULL when freeing RESULT on error.
231 (global_read, scngrp_read): Check return value from check_section,
232 break out of loop after it has freed RESULT.
233 (valid_p): Handle null argument.
234
Ulrich Drepper6258e742007-03-13 06:22:40 +00002352007-03-12 Roland McGrath <roland@redhat.com>
236
237 * libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add.
238
2392007-03-04 Roland McGrath <roland@redhat.com>
240
241 * libdw.map (ELFUTILS_0.127): New version set, inherits from
242 ELFUTILS_0.126. Add dwfl_module_addrsym.
243
Ulrich Drepper903c1162007-02-15 19:40:37 +00002442007-02-10 Roland McGrath <roland@redhat.com>
245
246 * dwarf.h (DW_OP_fbreg): Comment fix.
247
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00002482007-02-03 Roland McGrath <roland@redhat.com>
249
250 * dwarf_getelf.c (dwarf_getelf): Renamed from dwarf_get_elf.
251 * libdw.map (ELFUTILS_0.126): New version set, inherits from
252 ELFUTILS_0.122. Move dwarf_getelf there; it was never truly
253 exported in the past.
254
Roland McGrath8190db62006-12-17 23:56:51 +00002552006-12-17 Roland McGrath <roland@redhat.com>
256
257 * dwarf_getlocation.c (dwarf_getlocation_addr): Use zero as base
258 address when the CU is missing attributes due to buggy GCC.
259
Roland McGrathc373d852006-10-10 00:25:21 +00002602006-08-29 Roland McGrath <roland@redhat.com>
261
262 * Makefile.am (CLEANFILES): Add libdw.so.$(VERSION).
263
264 * libdw.h (dwarf_diecu): Add __nonnull_attribute__.
265 (dwarf_child): Don't list arg 1 in __nonnull_attribute__.
266
267 * libdw_alloc.c (__libdw_allocate): Take new ALIGN argument, make sure
268 result is aligned. Adjust NEWP->remaining here for this allocation.
269 * libdwP.h: Update decl.
270 (libdw_alloc): Update caller.
271
Ulrich Drepper077c65f2006-07-12 19:54:51 +00002722006-07-12 Ulrich Drepper <drepper@redhat.com>
273
274 * dwarf_child.c: Adjust for internal_function_def removal.
275 * dwarf_getabbrev.c: Likewise.
276 * dwarf_tag.c: Likewise.
277 * libdw_form.c: Likewise.
278 * memory-access.c: Likewise.
279
Ulrich Dreppere1812e12006-07-12 07:46:03 +00002802006-06-28 Roland McGrath <roland@redhat.com>
281
282 * libdw.map: Export dwfl_linecu, dwfl_line_comp_dir.
283
284 * libdw.map: Bump to 0.122; export dwfl_module_getsymtab and
285 dwfl_module_getsym.
286
Ulrich Drepper3be74472006-05-27 18:15:40 +00002872006-05-27 Ulrich Drepper <drepper@redhat.com>
288
289 * libdw.h: Add extern "C".
290
Ulrich Dreppere7a73172006-05-22 18:16:45 +00002912006-05-22 Ulrich Drepper <drepper@redhat.com>
292
293 * dwarf_getaranges.c (dwarf_getaranges): Handle files without
294 aranges information.
295
Ulrich Drepper4f3d2a22006-05-22 01:30:56 +00002962006-05-21 Ulrich Drepper <drepper@redhat.com>
297
298 * libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs,
299 dwarf_haschildren.
300
Roland McGrath2dade662006-02-28 22:13:20 +00003012006-02-28 Roland McGrath <roland@redhat.com>
302
303 * dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*,
304 DW_OP_* values, to match DWARF 3.0. Add new DW_DS_*, DW_END_*
305 values from DWARF 3.0.
306
Roland McGrath08333122006-02-27 04:54:26 +00003072006-02-22 Roland McGrath <roland@redhat.com>
308
309 * libdw.map: Bump to 0.120; export dwfl_version.
310
Roland McGrath50ffcbf2005-12-23 01:51:43 +00003112005-12-22 Roland McGrath <roland@redhat.com>
312
313 * libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report.
314
Roland McGrathdec3a242005-12-12 08:35:55 +00003152005-12-12 Roland McGrath <roland@redhat.com>
316
317 * dwarf_ranges.c: Copy CU base address-finding code from
318 dwarf_getlocation.
319
Roland McGrathf64a4422005-12-09 23:40:30 +00003202005-12-09 Roland McGrath <roland@redhat.com>
321
322 * dwarf_getlocation.c (dwarf_getlocation_addr): Add some unlikelys.
323 Delay CU base lookup until it's needed.
324 If CU base lookup fails with no error, flag invalid DWARF.
325
Roland McGrath994b4892005-12-05 22:46:21 +00003262005-11-25 Roland McGrath <roland@redhat.com>
327
328 * libdw.map: Bump to 0.118; export dwfl_module_register_names.
329
Roland McGrathe47ab762005-11-17 03:16:00 +00003302005-11-15 Roland McGrath <roland@redhat.com>
331
332 * Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic.
333
3342005-11-13 Roland McGrath <roland@redhat.com>
335
336 * libdw.map: Bump to 0.117; export dwfl_module_return_value_location.
337
Roland McGrath07d4f2f2005-10-28 06:56:24 +00003382005-10-27 Roland McGrath <roland@redhat.com>
339
340 * dwarf_entry_breakpoints.c (search_range): Fix binary search code;
341 don't match end_sequence markers.
342
343 * dwarf_getsrclines.c (compare_lines): Sort end_sequence markers
344 before normal records at the same address.
345 * dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence
346 marker.
347
3482005-10-26 Roland McGrath <roland@redhat.com>
349
Roland McGrath6724c902005-10-28 07:07:19 +0000350 * dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func.
351 * dwarf_func_file.c: Renamed to ...
352 * dwarf_decl_file.c: ... here.
353 * dwarf_func_col.c: Renamed to ...
354 * dwarf_decl_column.c: ... here.
355 * dwarf_func_line.c: Renamed to ...
356 * dwarf_decl_line.c: ... here.
357 (dwarf_func_line): Renamed to ...
358 (dwarf_decl_line): ... this. Take a Dwarf_Die * argument.
359 (__libdw_func_intval): Renamed __libdw_attr_intval.
360 * dwarf_func_name.c: File removed.
361 * dwarf_func_lowpc.c: File removed.
362 * dwarf_func_highpc.c: File removed.
363 * dwarf_func_entrypc.c: File removed.
364 * dwarf_func_die.c: File removed.
365 * Makefile.am (libdw_a_SOURCES): Updated.
366 * libdw.h: Update decls.
367 (Dwarf_Func): Type removed.
368 * libdwP.h: Update decls.
369 (struct Dwarf_Func_s): Type removed.
370 * libdw.map: Updated.
371
372 * libdwP.h (CUDIE): New macro.
373 * dwarf_getlocation.c (dwarf_getlocation_addr): Use it.
374 * dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise.
375 * dwarf_ranges.c (dwarf_ranges): Likewise.
376
377 * dwarf_getloclist.c: Renamed to ...
378 * dwarf_getlocation.c: ... here.
379 (getloclist): Renamed to getlocation.
380 (dwarf_getloclist): Renamed to dwarf_getlocation.
381 (dwarf_addrloclists): Renamed to dwarf_getlocation_addr.
382 * Makefile.am (libdw_a_SOURCES): Updated.
383 * libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation.
384 (dwarf_addrloclists): Renamed dwarf_getlocation_addr.
385 (Dwarf_Loc): Renamed Dwarf_Op.
386 * libdwP.h (struct loc_s): Update use.
387 * libdw.map: Update map.
388
Roland McGrath07d4f2f2005-10-28 06:56:24 +0000389 * dwarf_entry_breakpoints.c: Use the second line record within the
390 function, regardless of its source location data.
391
3922005-10-25 Roland McGrath <roland@redhat.com>
393
394 * dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too.
395
396 * libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints.
397
3982005-10-14 Roland McGrath <roland@redhat.com>
399
400 * dwarf_diecu.c (dwarf_diecu): New file.
401 * Makefile.am (libdw_a_SOURCES): Add it.
402 * libdw.h: Declare dwarf_diecu.
403 * libdw.map: Export it.
404
405 * libdw.map: Bump to 0.116; export dwarf_ranges.
406
4072005-09-20 Roland McGrath <roland@redhat.com>
408
409 * dwarf_haspc.c: Use dwarf_ranges.
410 * dwarf_entry_breakpoints.c: Likewise.
411
412 * dwarf_ranges.c: New file.
413 * Makefile.am (libdw_a_SOURCES): Add it.
414 * libdw.h: Declare dwarf_ranges.
415 * libdwP.h: Add INTDECL.
416
4172005-09-14 Roland McGrath <roland@redhat.com>
418
419 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in
420 prologue_end marker scanning loop.
421
4222005-09-11 Roland McGrath <roland@redhat.com>
423
424 * dwarf.h: Comment typo fix.
425
4262005-09-07 Roland McGrath <roland@redhat.com>
427
428 * dwarf_entry_breakpoints.c: New file.
429 * Makefile.am (libdw_a_SOURCES): Add it.
430 * libdw.h: Declare dwarf_entry_breakpoints.
431
432 * dwarf_entrypc.c: New file.
433 * Makefile.am (libdw_a_SOURCES): Add it.
434 * libdw.h: Declare dwarf_entrypc.
435 * libdwP.h: Add INTDECL.
436
Ulrich Drepperfbe998a2005-08-29 16:27:10 +00004372005-08-28 Ulrich Drepper <drepper@redhat.com>
438
439 * Makefile.am: Use $(LINK) not $(CC) when creating DSO.
440 (%.os): Use COMPILE.os.
441 (COMPILE.os): Filter out gconv options.
442
Roland McGrath71e15a02005-08-27 10:33:26 +00004432005-08-27 Roland McGrath <roland@redhat.com>
444
445 * dwarf_getscopes.c (dwarf_getscopes): Rewritten using
446 __libdw_visit_scopes.
447
448 * dwarf_getscopes_die.c: New file.
449 * Makefile.am (libdw_a_SOURCES): Add it.
450 * libdw.h: Declare dwarf_getscopes_die.
451 * libdw.map: Bump to 0.115 and add it.
452
453 * libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct
454 containing a DIE and its parent pointer, instead of just Dwarf_Die.
455 Take two functions for both preorder and postorder visitors.
456 * libdwP.h: Update decl.
457 (struct Dwarf_Die_Chain): New type.
458 * dwarf_func_inline.c: Update uses.
459
460 * dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate.
461 Add INTDEF.
462 * libdwP.h: Add INTDECL.
463 * dwarf_func_name.c (dwarf_func_name): Use dwarf_diename.
464
Roland McGrathd17fac72005-08-23 08:20:21 +00004652005-08-23 Roland McGrath <roland@redhat.com>
466
467 * dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
468 DW_AT_specification the same as DW_AT_abstract_origin.
469
4702005-08-20 Roland McGrath <roland@redhat.com>
471
472 * libdw.map: Add dwfl_cumodule, remove dwfl_linecu.
473 Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address,
474 and dwfl_report_offline.
475
4762005-08-19 Roland McGrath <roland@redhat.com>
477
478 * libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes.
479 Add dwfl_module_relocate_address, dwfl_module_relocations,
480 dwfl_module_relocation_info.
481
Roland McGrathf5fda7d2005-08-18 22:01:57 +00004822005-08-18 Roland McGrath <roland@redhat.com>
483
484 * dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as
485 outermost scope in the results.
486
Roland McGrath1ecb6062005-08-15 09:53:04 +00004872005-08-15 Roland McGrath <roland@redhat.com>
488
489 * dwarf_func_inline.c: New file.
490 * Makefile.am (libdw_a_SOURCES): Add it.
491 * libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances.
492 * libdw.map: Add them.
493
494 * dwarf_func_die.c: New file.
495 * Makefile.am (libdw_a_SOURCES): Add it.
496 * libdw.h: Declare dwarf_func_die.
497 * libdw.map: Add it. Bump version to ELFUTILS_0.114.
498
Roland McGrath1c83bf12005-08-11 07:03:55 +00004992005-08-10 Ulrich Drepper <drepper@redhat.com>
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +0000500
Roland McGrath1c83bf12005-08-11 07:03:55 +0000501 * dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming
502 of DW_LNS_set_epilog_begin.
Ulrich Drepper6d5c3bd2005-08-11 04:37:52 +0000503
Roland McGrath4959bf82005-08-09 10:31:08 +00005042005-08-09 Roland McGrath <roland@redhat.com>
505
Roland McGrathb6312e12005-08-09 10:36:01 +0000506 * dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin.
507
Roland McGrath4959bf82005-08-09 10:31:08 +0000508 * dwarf_end.c: Add INTDEF.
509 * dwarf_error.c (dwarf_errmsg): Likewise.
510 * libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs.
511
Roland McGratha5a89682005-08-02 01:24:01 +00005122005-08-01 Roland McGrath <roland@redhat.com>
513
514 * dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset.
515 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
516
Ulrich Drepper18618fd2005-07-28 21:29:22 +00005172005-07-28 Ulrich Drepper <drepper@redhat.com>
518
519 * Makefile.am (libdw.so): No need to link with libeu.a anymore.
520 (libdw_a_LIBADD): Add all files from libdwfl.a.
521
Roland McGrath366784a2005-07-28 06:20:53 +00005222005-07-27 Roland McGrath <roland@redhat.com>
523
Roland McGrath18385902005-07-28 07:12:38 +0000524 * Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in,
525 along with ../libebl/libebl.a and ../lib/libeu.a;
526 depend on ../libelf/libelf.so.
527 (libdw_so_LDADD): New variable.
528 * libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map.
529
Roland McGrath366784a2005-07-28 06:20:53 +0000530 * libdw.map: Define an empty base version and move all symbols to
531 version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet.
532
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00005332005-07-23 Ulrich Drepper <drepper@redhat.com>
534
535 * dwarf_error.c: Add internal alias for dwarf_errno.
536 * libdwP.h: Declare __dwarf_errno_internal.
537 * dwarf_getloclist.c: Use INTDEF for dwarf_errno.
538
539 * dwarf_error.c [USE_TLS]: Actually use __thread in definition of
540 global_error.
541
5422005-06-01 Roland McGrath <roland@redhat.com>
543
544 * dwarf_getaranges.c (dwarf_getaranges): Sort result array.
545 * dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search.
546
5472005-06-08 Roland McGrath <roland@redhat.com>
548
549 * memory-access.h (get_uleb128_step, get_uleb128): Remove casts.
550 (get_sleb128_step, get_sleb128): Likewise.
551 * dwarf_getattrs.c (dwarf_getattrs): Add consts.
552 * dwarf_getloclist.c (getloclist): Likewise.
553 * dwarf_formblock.c (dwarf_formblock): Likewise.
554 * dwarf_getsrclines.c (dwarf_getsrclines): Likewise.
555 * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise.
556 * dwarf_formref.c (dwarf_formref): Likewise.
557 * dwarf_formsdata.c (dwarf_formsdata): Likewise.
558 * dwarf_formudata.c (dwarf_formudata): Likewise.
559 * dwarf_haschildren.c (dwarf_haschildren): Likewise.
560 * dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise.
561 * dwarf_tag.c (dwarf_tag): Likewise.
562 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise.
563 * memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise.
564 * libdw_form.c (__libdw_form_val_len): Likewise.
565 * libdwP.h: Update decl.
566
5672005-06-04 Roland McGrath <roland@redhat.com>
568
569 * memory-access.h (get_uleb128_rest_return): New macro.
570 [! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it.
571 (get_sleb128_rest_return): New macro.
572 [! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it.
573 * memory-access.c: New file.
574 * Makefile.am (libdw_a_SOURCES): Add it.
575 (DEFS): Add -DIS_LIBDW.
576
5772005-05-31 Roland McGrath <roland@redhat.com>
578
579 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
580 formref offset.
581
5822005-05-30 Roland McGrath <roland@redhat.com>
583
584 * dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base
585 address if DW_AT_low_pc is missing. Not to spec, but GCC generates it.
586
587 * dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte
588 BEGIN value. Instead, match base address entries separately for
589 32/64 size cases.
590
5912005-05-28 Roland McGrath <roland@redhat.com>
592
593 * dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance
594 past location expression contents.
595
5962005-05-23 Roland McGrath <roland@redhat.com>
597
598 * dwarf_getsrclines.c: Comment typo fix.
599
600 * dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation.
601 * dwarf_getloclist.c (dwarf_addrloclists): Likewise.
602
6032005-05-22 Ulrich Drepper <drepper@redhat.com>
604
605 * libdwP.h: Only use INTDECL for alias prototypes.
606
6072005-05-19 Roland McGrath <roland@redhat.com>
608
609 * dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too.
610
611 * dwarf_getscopevar.c: New file.
612 * Makefile.am (libdw_a_SOURCES): Add it.
613 * libdw.h: Declare dwarf_getscopevar.
614
615 * dwarf_getsrcfiles.c: Add INTDEF.
616 * dwarf_haschildren.c: Likewise.
617 * libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL.
618
619 * dwarf_getscopes.c: New file.
620 * Makefile.am (libdw_a_SOURCES): Add it.
621 * libdw.h: Declare dwarf_getscopes.
622 * libdw.map: Add it.
623
6242005-05-18 Roland McGrath <roland@redhat.com>
625
626 * libdwP.h (IDX_debug_ranges): New enum constant.
627 * dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges".
628 * libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant.
629 * dwarf_error.c (errmsgs): Add it.
630 * dwarf_haspc.c: New file.
631 * libdw.h: Declare dwarf_haspc.
632 * libdw.map: Add it.
633 * libdwP.h: Add INTDECL.
634
635 * dwarf_attr_integrate.c: New file.
636 * dwarf_hasattr_integrate.c: New file.
637 * Makefile.am (libdw_a_SOURCES): Add them.
638 * libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate.
639 * libdw.map: Add them.
640
641 * dwarf_hasattr.c: Add INTDEF.
642 * libdwP.h: Add INTDECL for it.
643
644 * dwarf_formref_die.c: New file.
645 * Makefile.am (libdw_a_SOURCES): Add it.
646 * libdw.h (dwarf_formref_die): Declare it.
647 * libdwP.h (dwarf_formref_die): Add INTDECL.
648 * libdw.map: Add it.
649
650 * dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out
651 of ...
652 (dwarf_getloclist): ... here. Call them.
653 (dwarf_addrloclists): New function.
654 * libdw.h: Declare it.
655 * libdw.map: Add it.
656
657 * dwarf_getmacros.c (dwarf_getmacros): Don't bail at
658 DW_MACINFO_end_file. Recognize type 0 as terminator.
659
6602005-05-05 Roland McGrath <roland@redhat.com>
661
662 * dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search.
663
664 * dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since
665 the line program does not produce all entries in ascending order.
666
6672005-04-25 Ulrich Drepper <drepper@redhat.com>
668
669 * dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple
670 occurences (e.g., inlines) better.
671
6722005-04-24 Ulrich Drepper <drepper@redhat.com>
673
674 * libdw.h (DWARF_END_ABBREV): Define.
675 * dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if
676 end is reached.
677 * dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end
678 of records reached.
679 * dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV
680 as error of __libdw_getabbrev.
681
6822005-04-04 Ulrich Drepper <drepper@redhat.com>
683
684 * dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization.
685
686 * dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of
687 results back to caller.
688
6892005-04-04 Roland McGrath <roland@redhat.com>
690
691 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL.
692
693 * dwarf_func_line.c (__libdw_func_intval): Use internal_function in
694 defn.
695
6962005-04-04 Ulrich Drepper <drepper@redhat.com>
697
698 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE.
699
700 * dwarf_getsrc_file.c: New file.
701 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c.
702 * libdw.h: Declare dwarf_getsrc_file.
703 * libdw.map: Add dwarf_getsrc_file.
704
7052005-04-02 Ulrich Drepper <drepper@redhat.com>
706
707 * dwarf_func_entrypc.c: New file.
708 * dwarf_func_col.c: New file.
709 * dwarf_func_line.c: New file.
710 * dwarf_func_file.c: New file.
711 * libdw.h: Add prototypes for new functions.
712 * libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line,
713 dwarf_func_file.
714 * Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c,
715 dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c.
716 * libdwP.h (struct Dwarf_Func_s): Add cudie element.
717 Declare __libdw_func_intval and __dwarf_formsdata_internal.
718 * dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object.
719 * dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs.
720
721 * dwarf.h: Add some DWARF3 definitions.
722
7232005-04-01 Ulrich Drepper <drepper@redhat.com>
724
725 * dwarf_getfuncs.c: New file.
726 * dwarf_func_highpc.c: New file.
727 * dwarf_func_lowpc.c: New file.
728 * dwarf_func_name.c: New file.
729 * Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c,
730 dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c.
731 * libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc,
732 and dwarf_func_name.
733 * libdw.h: Add prototypes for new functions.
734 * dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs.
735 * dwarf_siblingof.c: Likewise.
736 * dwarf_dieoffset.c: Likewise.
737 * dwarf_highpc.c: Likewise.
738 * dwarf_lowpc.c: Likewise.
739 * libdwP.h: Add prototypes for internal functions.
740 Define Dwarf_Func_s structure.
741
7422005-03-29 Ulrich Drepper <drepper@redhat.com>
743
744 * libdw.h: Add padding in Dwarf_die.
745
746 * dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs.
747 * dwarf_attr.c: Likewise.
748 * dwarf_begin.c: Likewise.
749 * dwarf_begin_elf.c: Likewise.
750 * dwarf_bitoffset.c: Likewise.
751 * dwarf_bitsize.c: Likewise.
752 * dwarf_bytesize.c: Likewise.
753 * dwarf_diename.c: Likewise.
754 * dwarf_formaddr.c: Likewise.
755 * dwarf_formblock.c: Likewise.
756 * dwarf_formref.c: Likewise.
757 * dwarf_formstring.c: Likewise.
758 * dwarf_formudata.c: Likewise.
759 * dwarf_getarange_addr.c: Likewise.
760 * dwarf_getarangeinfo.c: Likewise.
761 * dwarf_getaranges.c: Likewise.
762 * dwarf_getloclist.c: Likewise.
763 * dwarf_getmacros.c: Likewise.
764 * dwarf_getsrc_die.c: Likewise.
765 * dwarf_getsrcfiles.c: Likewise.
766 * dwarf_getsrclines.c: Likewise.
767 * dwarf_highpc.c: Likewise.
768 * dwarf_lowpc.c: Likewise.
769 * dwarf_nextcu.c: Likewise.
770 * dwarf_offdie.c: Likewise.
771 * dwarf_siblingof.c: Likewise.
772 * dwarf_srclang.c: Likewise.
773 * dwarf_tag.c: Likewise.
774 * libdw_findcu.c: Likewise.
775 * libdwP.h: Add prototypes for internal functions.
776
777 * dwarf_addrdie.c: New file.
778 * dwarf_macro_opcode.c: New file.
779 * dwarf_macro_param1.c: New file.
780 * dwarf_macro_param2.c: New file.
781 * libdw.h: Add declarations. Move Dwarf_Macro definition to libdwP.h.
782 * libdwP.h: Remove Dwarf_Macro definition.
783 * Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c,
784 dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c.
785 * libdw.map: Add entries for new functions.
786
7872005-03-21 Ulrich Drepper <drepper@redhat.com>
788
789 * libdw.h: Handle broken gcc < 4.
790
7912005-02-15 Ulrich Drepper <drepper@redhat.com>
792
793 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
794
795 * dwarf_begin_elf.c: Fix warnings.
796 * dwarf_dieoffset.c: Likewise.
797 * dwarf_end.c: Likewise.
798 * dwarf_error.c: Likewise.
799 * dwarf_getpubnames.c: Likewise.
800
801 * libdwP.h: Add new error values.
802 * dwarf_error.c: Support new error values.
803 * dwarf_getpubnames.c: Check parameter value.
804
8052005-02-05 Ulrich Drepper <drepper@redhat.com>
806
807 * Makefile.am: Check for text relocations in constructed DSO.
808
809 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.
810
8112005-02-04 Ulrich Drepper <drepper@redhat.com>
812
813 * dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary
814 checks to not read over buffer boundaries for ill-formed DWARF data.
815
8162004-09-25 Ulrich Drepper <drepper@redhat.com>
817
818 * dwarf_child.c: Make compile with gcc 4.0.
819 * dwarf_error.c: Likewise.
820 * dwarf_formblock.c: Likewise.
821 * dwarf_getabbrev.c: Likewise.
822 * dwarf_getattrs.c: Likewise.
823 * dwarf_getsrclines.c: Likewise.
824 * dwarf_tag.c: Likewise.
825 * libdw_form.c: Likewise.
826
8272004-01-20 Ulrich Drepper <drepper@redhat.com>
828
829 * Makefile.am: Support building with mudflap.
830
831 * dwarf_getloclist.c: Fix warnings gcc 3.4 spits out.
832 * dwarf_getsrclines.c: Likewise.
833 * dwarf_memory-access.h: Likewise.
834
8352004-01-19 Ulrich Drepper <drepper@redhat.com>
836
837 * dwarf_getsrcfiles.c: Third parameter can be NULL.
838
839 * libdw.h: Define Dwarf_macro. Declare dwarf_getmacros.
840 Third parameter of dwarf_getsrcfiles can be NULL.
841
842 * libdw.map: Add dwarf_getmacros.
843 * Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros.
844 * dwarf_getmacros.c: New file.
845
8462004-01-18 Ulrich Drepper <drepper@redhat.com>
847
848 * libdw.h: Second parameter of dwarf_getaranges can be NULL.
849
850 * dwarf_nextcu.c: Return -1 if dwarf parameter is NULL.
851
852 * dwarf_getsrclines.c:
853 Use read_2ubyte_unaligned_inc instead of _inc-less variant.
854
855 * dwarf_getaranges.c: Allow naranges parameter to be NULL.
856
857 * libdwP.h (_): Use elfutils domain.
858
859 * dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction.
860
861 * dwarf_getsrclines.c: Fix typo in comment.
862
8632004-01-17 Ulrich Drepper <drepper@redhat.com>
864
865 * Makefile.am: Support building with mudflap.
866
8672004-01-16 Ulrich Drepper <drepper@redhat.com>
868
869 * memory-access.h: Add lots of const in case a pointer passed is const.
870
871 * dwarf_formflag.c: New file.
872 * dwarf_getattrs.c: New file.
873 * dwarf_error.c: Add new error value.
874 * libdw.h: Add prototypes for new functions. Adjust prototype for
875 dwarf_getpubnames.
876 * libdw.map: Add new functions.
877 * dwarf_getpubnames.c: Change type of return value and fourth parameter
878 to ptrdiff_t.
879 * libdwP.h: Add new error value.
880 * Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and
881 dwarf_formflag.c.
882
883 * dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL.
884
8852004-01-12 Ulrich Drepper <drepper@redhat.com>
886
887 * dwarf_getarange_addr.c: New file
888 * dwarf_getarangeinfo.c: New file.
889 * dwarf_getaranges.c: New file.
890 * dwarf_onerange.c: New file.
891 * libdw.h: Declare new functions. Define Dwarf_Arange and
892 Dwarf_Aranges.
893 * libdw.map: Add new functions.
894 * libdwP.h: Add new errors. Add aranges member to struct Dwarf.
895 Define Dwarf_Aranges_s and Dwarf_Arange_s.
896 * Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c,
897 dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c.
898 * dwarf_error.c: Add new message.
899
9002004-01-11 Ulrich Drepper <drepper@redhat.com>
901
902 * Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c,
903 dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c,
904 dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c.
905 * dwarf_error.c: Add another message.
906 * dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines
907 introduction.
908 * dwarf_filesrc.c: Likewise.
909 * dwarf_getsrcfiles.c: Likewise.
910 * dwarf_getsrclines.c: Likewise.
911 * dwarf_lineaddr.c: New file.
912 * dwarf_linebeginstatement.c: New file.
913 * dwarf_lineblock.c: New file.
914 * dwarf_linecol.c: New file.
915 * dwarf_lineendsequence.c: New file.
916 * dwarf_lineepiloguebegin.c: New file.
917 * dwarf_lineno.c: New file.
918 * dwarf_lineprologueend.c: New file.
919 * dwarf_onesrcline.c: New file.
920 * dwarf_lineno.c: Change interface to store result in object pointed
921 to by second parameter.
922 * libdw.h: Add prototypes for new functions. Change dwarf_lineno
923 prototype. Define Dwarf_Files and Dwarf_Lines.
924 * libdw.map: Add new functions.
925 * libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s.
926 * libdw_findcu.c: Don't initialize nlines field.
927
928 * dwarf_siblingof: Little optimization.
929
930 * dwarf_begin.c: Remember that the ELF descriptor must be closed.
931 * dwarf_end.c: Close ELF descriptor if free_elf is set.
932 * libdwP.h (struct Dwarf): Add free_elf field.
933
934 * Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and
935 dwarf_offabbrev.c.
936 * dwarf_getstring.c: New file.
937 * dwarf_offabbrev.c: New file.
938 * libdw.map: Add dwarf_getstring and dwarf_offabbrev.
939 * dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result
940 parameters. Don't allocate memory if not necessary and don't lookup
941 previous results if no CU given.
942 (dwarf_getabbrev): Adjust call to __libdw_getabbrev.
943 * dwarf_tag.c: Adjust call to __libdw_getabbrev.
944 * libdw.h: Declare dwarf_offabbrev and dwarf_getstring.
945 * libdwP.h: Change prototype for __libdw_getabbrev.
946
947 * dwarf_getabbrevattr.c: Add offsetp parameter. Fill in before
948 returning if this is wanted.
949
9502004-01-09 Ulrich Drepper <drepper@redhat.com>
951
952 * dwarf_nextcu.c: Add new parameter offset_sizep. Initialize it
953 with offset_size value.
954 * libdw.h: Adjust dwarf_nextcu prototype.
955 * libdwP.h (struct Dwarf_CU): Add offset_size member.
956 * libdw_findcu.c: Adjust dwarf_nextcu call. Initialize offset_size
957 member of new CU struct.
958 * dwarf_formstring.c: Depend on offset_size not address_size for
959 DW_FORM_strp handling.
960 * dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr.
961
962 * dwarf_tag.c (__libdw_findabbrev): Return correct value for
963 failing lookup.
964 (dwarf_tag): Correctly recognize failed lookup.
965
966 * dwarf_end.c (cu_free): Call tdestroy for locs member. Use new
967 function noop_free.
968 * dwarf_error.c: Add message for DWARF_E_NO_BLOCK.
969 * dwarf_formblock.c: New file.
970 * dwarf_getloclist.c: Rewrite to handle a single block.
971 * libdw.h: Define Dwarf_Block. Rename Dwarf_Loc members. Remove
972 Dwarf_Locdesc definition. Declare dwarf_formblock. Remove
973 dwarf_getloclistent declaration.
974 * libdw.map: Add dwarf_formblock, remove dwarf_getloclistent.
975 * libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK.
976 Add locs member to struct Dwarf_CU.
977 * libdw_fundcu.c: Initialize locs member of new CU.
978 * Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c.
979 Remove dwarf_getloclistent.c.
980
9812004-01-07 Ulrich Drepper <drepper@redhat.com>
982
983 * libdw.h: Use __nonnull__ attribute only for gcc >= 3.3.
984 * libdwP.h: Likewise.
985
986 * dwarf_getloclist.c: New file.
987 * dwarf_getloclistent.c: New file.
988 * libdw.h: Define Dwarf_Loc and Dwarf_Locdesc.
989 Declare dwarf_getloclistent and dwarf_getloclist.
990 * libdw.map: Add dwarf_getloclistent and dwarf_getloclist.
991 * libdwP.h: Define DWARF_E_NO_LOCLIST.
992 * Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and
993 dwarf_getloclist.c.
994
995 * dwarf_error.c: More error messages.
996
9972004-01-06 Ulrich Drepper <drepper@redhat.com>
998
999 * dwarf_getsrclines.c: Remove debugging support.
1000
1001 * dwarf_getsrcfiles.c: New file.
1002 * dwarf_filesrc.c: New file.
1003 * libdw.h: Declare these functions. Define Dwarf_File.
1004 * libdwP.c: Adjust Dwarf_File_s definition.
1005 * libdw.map: Add these functions.
1006 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and
1007 dwarf_filesrc.c.
1008 * dwarf_getsrclines.c: Initialize cu->files.
1009
10102004-01-05 Ulrich Drepper <drepper@redhat.com>
1011
1012 * libdw.h: Add more nonnull function attributes.
1013
1014 * dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next.
1015 * dwarf_end.c (cu_free): New function.
1016 (dwarf_end): Also free CU tree. Correct freeing of memory blocks.
1017 * dwarf_error.c (errmsgs): Add new messages.
1018 * dwarf_getsrc_die.c: New file.
1019 * dwarf_getsrclines.c: New file.
1020 * dwarf_lineno.c: New file.
1021 * dwarf_linesrc.c: New file.
1022 * dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc
1023 instead of the *_inc-less variants.
1024 * libdw.h: Define Dwarf_Line. Add some function attributes. Declare
1025 dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc.
1026 * libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno,
1027 and dwarf_linesrc.
1028 * libdwP.h: Add more error codes.
1029 (struct Dwarf): Remove mem_tail.next member.
1030 (Dwarf_File): Define type.
1031 (struct Dwarf_Line_s): Define type.
1032 (struct Dwarf_CU): Add lines and nlines members.
1033 (libdw_alloc): Define local variable _tail and use it.
1034 Add some function attributes.
1035 * libdw_alloc.c (__libdw_allocate): Don't initialize next member.
1036 * libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members.
1037 * memory-access.h: Add unlikely for the endian conversion paths.
1038 * Makefile.am (AM_CFLAGS): Add -std parameter.
1039 (libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die,
1040 dwarf_lineno, and dwarf_linesrc.
1041
10422003-08-11 Ulrich Drepper <drepper@redhat.com>
1043
1044 * Moved to CVS archive.