|
1 2006-12-05 David Anderson <davea@sgi.com> |
|
2 * dwarf_error.c, libdwarf.h: added |
|
3 DW_DLE_FRAME_REGISTER_COUNT_MISMATCH. |
|
4 * dwarf_frame.c (_dwarf_exec_frame_instr): removed references |
|
5 to compile-time constants for register table size. Now uses |
|
6 run-time-chosen sizes. Now uses heap for reg table instead |
|
7 of stack. Now uses SIMPLE_ERROR_RETURN macro to simplify |
|
8 the code. |
|
9 2006-11-08 David Anderson <davea@sgi.com> |
|
10 * pro_expr.c (dwarf_add_expr_gen): DW_OP_deref_size, |
|
11 DW_OP_xderef_size, and DW_OP_pick were incorrect, missing |
|
12 & operator. Would coredump. Thanks to Alan Chambers for mentioning |
|
13 the coredump. |
|
14 2006-09-26 David Anderson <davea@sgi.com> |
|
15 * dwarf_die_deliv.c (dwarf_offdie): Now returns the |
|
16 correct die (worked before, almost always, but worked by accident). |
|
17 Thanks to Mattias Lindblad for supplying a test case. |
|
18 2006-09-01 David Anderson <davea@sgi.com> |
|
19 * libdwarf2.1.mm (dwarf_loclist_n): Minor refinement |
|
20 of the description. |
|
21 * libdwarf2.1.ps: regenerated |
|
22 2006-08-31 David Anderson <davea@sgi.com> |
|
23 * libdwarf2.1.mm (dwarf_loclist_n): A location expression |
|
24 sets ld_lopc to 0, ld_hipc to all-bits-on, and this |
|
25 is now documented. |
|
26 * libdwarf2.1.ps: regenerated |
|
27 2006-06-14 David Anderson <davea@sgi.com> |
|
28 * dwarf_opaque.h dwarf_frame.h dwarf_frame.c |
|
29 dwarf_init_finish.c dwarf_frame2.c: Corrected handling |
|
30 of eh_frame zP encoding. |
|
31 Thanks to Cristi Vlasceanu for noticing it was broken. |
|
32 * Makefile.in: remove libdwarf.so in 'clean' rule. |
|
33 Thanks to Cristi Vlasceanu for noticing it was missing. |
|
34 2006-04-28 David Anderson <davea@sgi.com> |
|
35 * dwarf_frame.c: Changed local variable type to |
|
36 avoid compiler warning. |
|
37 2006-04-21 David Anderson <davea@sgi.com> |
|
38 * dwarf_frame.c: Initialized local to 0, wrong value. |
|
39 Thanks to Cristi Vlasceanu for noticing. |
|
40 2006-04-18 David Anderson <davea@sgi.com> |
|
41 * All *.c: Ran indent so all c files follow a standard look. |
|
42 2006-04-16 David Anderson <davea@sgi.com> |
|
43 * dwarf.h: Remove #if 0 around some #defines, it is ok to |
|
44 leave the defines visible (the defines are HP extensions). |
|
45 * libdwarf.h: Add new dwarf3 interface to frames. |
|
46 (which actually is also a better interface to dwarf2 info, |
|
47 not strictly for dwarf3). |
|
48 * dwarf_alloc.c: Add 'constructor/destructor' pointers |
|
49 to the initialization table so we can handle a more |
|
50 flexible (dwarf3) frame interface.Call the functions |
|
51 at the appropriate times. |
|
52 * dwarf_frame.c: Using macro FDE_NULL_CHECKS_AND_SET_DBG |
|
53 reduce duplicate coding.Internal code now handles dwarf2 |
|
54 and dwarf3 and interfaces to exported interfaces appropriately. |
|
55 * dwarf_frame.h: Alter internal struct to handle frames more flexibly. |
|
56 * dwarf_frame2.c: Remove unused local variable. |
|
57 * dwarf_init_finish.c: Add initialization of new Dwarf_Debug |
|
58 struct entries allowing handling |
|
59 of run-time-config of frame info. |
|
60 * dwarf_loc.c: Add DWARF3 operators, such as DW_OP_call4. |
|
61 * dwarf_opaque.h: Declaration of new Dwarf_Debug struct |
|
62 entries allowing handling of run-time-config of frame info. |
|
63 * pro_expr.c: Add entries allowing creation of DWARF3 DW_OP |
|
64 such as call2. |
|
65 * pro_section.c: Change crucial code handling section lengths, |
|
66 using a macro BEGIN_LEN_SIZE to clarify and correct a few places. |
|
67 2006-03-31 David Anderson <davea@sgi.com> |
|
68 * libdwarf.h: Added dwarf_get_fde_info_for_cfa_reg3() prototype |
|
69 preparing for dwarf3 frame interface. |
|
70 * dwarf_frame.c: Now uses separate rule, not DW_FRAME_CFA_COL, |
|
71 to record CFA. |
|
72 * dwarf_frame.h: Add commentary on frame access. |
|
73 2006-03-30 David Anderson <davea@sgi.com> |
|
74 * Makefile.in configure.in: Adding --enable-shared --enable-nonshared |
|
75 --disable-shared and --disable-nonshared. |
|
76 * configure: regenerated with 2.59 autoconf. |
|
77 * README: Added explanation on changing dwarf.h libdwarf.h. |
|
78 2006-03-29 David Anderson <davea@sgi.com> |
|
79 * dwarf_print_lines.c dwarf_sort_line.c: Clean up initialization |
|
80 code for line table reading. When returning rules table |
|
81 data to caller ensure fully filled out yet no overrun |
|
82 (handling case where rules table sizes not defined identically |
|
83 by caller and library). |
|
84 * dwarf.h: New commentary on ABI/register-number issues. |
|
85 * libdwarf.h: New commentary on ABI/register-number issues. |
|
86 2006-03-26 David Anderson <davea@sgi.com> |
|
87 * dwarf_line.c: file_entry_count local was not initialized. |
|
88 Initialized some locals at declaration. |
|
89 Thanks to Mikael Vidstedt for noticing. |
|
90 2006-03-23 David Anderson <davea@sgi.com> |
|
91 * dwarf_error.c: added error strings for codes 200,201 |
|
92 * dwarf_line.c dwarf_line.h dwarf_print_lines.c dwarf_sort_line.c: Moved |
|
93 line prefix reading to a common routine, filling in a new internal |
|
94 struct to make it simple. Removed much duplicate code. |
|
95 Added more support for dwarf3 line table standard opcodes. |
|
96 Now prints details (with -v -v) of standard opcodes it |
|
97 does not understand (if any present). |
|
98 2006-03-13 David Anderson <davea@sgi.com> |
|
99 * dwarf.h: add ALTIUM #defines (extensions to dwarf) |
|
100 * libdwarf.h: Alter arguments to new |
|
101 functions dwarf_get_fde_augmentation_data() and |
|
102 dwarf_get_cie_augmentation_data() used by GNU eh_frame. |
|
103 * dwarf_frame.h: Add new fields so we can handle GNU eh_frame. |
|
104 * dwarf_frame.c: Remove erroneous load_sections calls (wrong for eh_frame |
|
105 data) and correct the new dwarf_get_fde_augmentation_data() and |
|
106 dwarf_get_cie_augmentation_data() implementation. |
|
107 * dwarf_frame2.c: Implement support for GNU eh_frame. |
|
108 * dwarf_line.h: Correct handling of DWARF3 opcode base check. |
|
109 * dwarf_line.c: Add new macro use to get DWARF3 opcode base handling correct. |
|
110 * dwarf_print_lines.c: Add new macro use to get DWARF3 opcode base handling correct. |
|
111 * dwarf_sort_lines.c: Add new macro use to get DWARF3 opcode base handling correct. |
|
112 2006-03-08 David Anderson <davea@sgi.com> |
|
113 * dwarf_frame2.c: ensure local variables initialized |
|
114 to avoid coredump. |
|
115 2006-03-08 David Anderson <davea@sgi.com> |
|
116 * dwarf_die_deliv.c: Remove Richard Stukey's -1 and |
|
117 replace with a simpler more complete fix. |
|
118 2006-03-07 David Anderson <davea@sgi.com> |
|
119 * Makefile.in: Add dwarf_line2.c dwarf_frame3.c to files to build. |
|
120 * dwarf_addr_finder.c: Add comments about file purpose. |
|
121 * dwarf_frame.c: Move IRIX specific function out of this file. |
|
122 * dwarf_frame3.c: Move IRIX specific function to this new file. |
|
123 * dwarf_frame.h: Add interface declaration. |
|
124 * dwarf_line.c: Move IRIX specific function out of this file. |
|
125 * dwarf_line2.c: Move IRIX specific function to this new file. |
|
126 * dwarf_line.h: Add interface declaration. |
|
127 * dwarf_frame2.c: Altered comments so indent handles them better, |
|
128 ran indent. |
|
129 |
|
130 2006-03-07 David Anderson <davea@sgi.com> |
|
131 * dwarf_die_deliv.c (dwarf_siblingof): -1 to point to end of cu, |
|
132 not one-past-end. With thanks to Richard Stuckey. |
|
133 * libdwarf2.1.mm: document existing function dwarf_get_fde_exception_info() |
|
134 * dwarf_frame.h: Add new internal interfaces. |
|
135 * dwarf_frame.c: Remove cie/fde reader to dwarf_frame2.c. |
|
136 * dwarf_frame2.c: Contains heavily refactored cie/fde reader, |
|
137 preparing for eh_frame support and avoids some searching |
|
138 in fde creation. Removes duplicated code into new |
|
139 internal functions. |
|
140 * Makefile.in: Adding comment about flag for malloc_checking |
|
141 code. Add dwarf_frame2.c to source list. |
|
142 * libdwarf.h: added declarations for eh_frame information, though |
|
143 these are not yet supported. |
|
144 * dwarf.h: Added defines for eh_frame information, though these |
|
145 are not yet used. |
|
146 2006-02-23 David Anderson <davea@sgi.com> |
|
147 * dwarf_line.h dwarf_line.c: added dwarf_line_srcfileno() |
|
148 to complement dwarf_lineno. |
|
149 * libdwarf2.1.mm: document dwarf_line_srcfileno(). |
|
150 |
|
151 2005-11-25 David Anderson <davea@sgi.com> |
|
152 * dwarf.h: Now matches 2005 DWARF3 public review document. |
|
153 |
|
154 2005-11-08 David Anderson <davea@sgi.com> |
|
155 * dwarf_alloc.c, dwarf_init_finish.c, dwarf_sort_line.c, malloc_check.c: |
|
156 remove malloc.h include, it is not needed, stdlib.h suffices. |
|
157 |
|
158 2005-10-24 David Anderson <davea@sgi.com> |
|
159 * dwarf.h: Updated to match DWARF3 public review document. |
|
160 |
|
161 2005-10-03 David Anderson <davea@sgi.com> |
|
162 * dwarf_alloc.c: Change some entries to BASE_ALLOC. |
|
163 * dwarf_global.h: Add argument to interface so we do not |
|
164 universally use DW_DLA_GLOBAL, but cater to compatibility. |
|
165 * dwarf_funcs.c, dwarf_global.c, dwarf_weaks.c, |
|
166 dwarf_funcs.c, dwarf_types.c: Restored use of DW_DLA_* |
|
167 instead of universally using DW_DLA_GLOBAL. |
|
168 * dwarf_pubtypes.c: added comments about DW_DLA_GLOBAL use. |
|
169 2005-08-01 David Anderson <davea@sgi.com> |
|
170 * malloc_check.c: Moved the #ifdef WANT_LIBBDWARF_MALLOC_CHECK |
|
171 down after #includes so the test is meaningful. |
|
172 2005-07-15 David Anderson <davea@sgi.com> |
|
173 * libdwarf.h: New DW_DLA codes and full .debug_types support added. |
|
174 new dealloc functions declared. |
|
175 * Makefile.in: Add dwarf_pubtypes.o (.debug_pubtypes support). |
|
176 * dwarf_abbrev.c: Add dealloc() calls where needed. |
|
177 * dwarf_alloc.c: Add dwarf_malloc_check calls, rename and |
|
178 update _DW_RESERVE to DW_RESERVE, make hash table declaration |
|
179 in array more readable. Add optional final dealloc loop. |
|
180 * dwarf_alloc.h: Increase the index array to add .debug_pubtypes |
|
181 support. |
|
182 * dwarf_base_types.h: Increase the index array to add .debug_pubtypes |
|
183 support. |
|
184 * dwarf_die_deliv.c: Add dealloc calls to get full dealloc. |
|
185 * dwarf_error.c: Document new error codes for .debug_pubtypes. |
|
186 * dwarf_init_finish.c: Add .debug_pubtypes support, add |
|
187 dwarf_malloc_check_complete() call for alloc checking. |
|
188 * dwarf_form.c: Document dwarf_formstring() use. |
|
189 * dwarf_frame.c: Add dwarf_fde_cie_list_dealloc() for |
|
190 complete dealloc. |
|
191 * dwarf_global.h: Add _dwarf_internal_globals_dealloc |
|
192 declaration for libdwarf-internal use. |
|
193 * dwarf_global.c dwarf_funcs.c dwarf_types.c dwarf_vars.c |
|
194 dwarf_weaks.c: Add new dealloc public routines for |
|
195 complete dealloc and add .debug_pubtypes support. |
|
196 * dwarf_pubtypes.c: Support for .debug_pubtypes. |
|
197 * dwarf_malloc_check.h dwarf_malloc_check.c : New checking |
|
198 for complete accurate dealloc (off by default). |
|
199 * dwarf_opaque.h: Add internal .debug_pubtypes support. |
|
200 * libdwarf2.1.mm: Document new dealloc code, correct |
|
201 dwarf_formstring documentation. |
|
202 |
|
203 2005-07-14 David Anderson <davea@sgi.com> |
|
204 * dwarf_line.c: Added dwarf_srclines_dealloc and call it |
|
205 for dwarf_srclines output. Does complete deallocation, |
|
206 unlike previous method, which was incomplete deallocation. |
|
207 Thanks to Alan Alexander for pointing out there was |
|
208 incomplete deallocation. |
|
209 * dwarf_print_lines.c: remove references and allocation |
|
210 of line_context. Memory was leaking due to unreferenced |
|
211 variable. |
|
212 * libdwarf2.1.mm: Document new dwarf_srclines_dealloc() |
|
213 deallocation routine for dwarf_srclines(). |
|
214 |
|
215 2005-07-13 David Anderson <davea@sgi.com> |
|
216 * dwarf_init_finish.c (dwarf_init): if _dwarf_setup() fails, |
|
217 free elf resources with elf_end() call. |
|
218 Thanks to Cristi Vlasceanu for pointing out that a memory |
|
219 leak existed here. |
|
220 |
|
221 2005-06-13 David Anderson <davea@sgi.com> |
|
222 * dwarf_frame.c (_dwarf_exec_frame_instr): Corrected test |
|
223 so that .o files (pre-relocation) are less likely to generate |
|
224 DW_DLE_DF_NEW_LOC_LESS_OLD_LOC error. Renamed local variable |
|
225 for better readability. |
|
226 2005-04-13 David Anderson <davea@sgi.com> |
|
227 * dwarf_error.c: Error codes 194 and 195 were missing |
|
228 strings, added them to table. |
|
229 * dwarf_frame.c: Check for newer gcc .eh_frame |
|
230 augmentation strings and avoid trying to handle these |
|
231 for now. |
|
232 * dwarf_global.c: Add an error check for |
|
233 pubnames-style sections for bad offset. |
|
234 * dwarf_init_finish.c: Add dwarf_get_section_max_offsets() |
|
235 to allow clients to do additional error checking. |
|
236 This code will have to change again, so leaving it |
|
237 undocumented. As written it's not useful for COMDAT |
|
238 style DWARF sections. |
|
239 * libdwarf.h: Added prototype for dwarf_get_section_max_offsets(). |
|
240 |
|
241 2005-03-31 David Anderson <davea@sgi.com> |
|
242 * mips_extensions.mm: Documented the libexc/.debug_funcnames |
|
243 dependency and the 64bit-offset DWARF extension. |
|
244 * mips_extensions.ps: Regenerated. |
|
245 |
|
246 2005-03-21 David Anderson <davea@sgi.com> |
|
247 * dwarf_line.c: Added commentary. |
|
248 * libdwarf2.1.mm: Documented dwarf_lineendsequence() better. |
|
249 * libdwarf2.1.ps: Regenerated. |
|
250 * libdwarf.h: Added DW_DLE_FRAME_AUGMENTATION_UNKNOWN as |
|
251 error code 195. |
|
252 * dwarf_init_finish.c: Corrected comment spelling. |
|
253 * dwarf_frame.h dwarf_frame.c: Added handling for |
|
254 much (but not all) of gcc 3.3 gcc 3.4 .eh_frame |
|
255 'z' augmentation. Gives error on attempting |
|
256 to get z augmentation data since such is not |
|
257 completely handled. |
|
258 |
|
259 2005-03-18 David Anderson <davea@sgi.com> |
|
260 * dwarf_frame.h dwarf_frame.c: The gcc .eh_frame |
|
261 info did not print correctly so we now access the |
|
262 correct section data so it prints. Still no support |
|
263 for dwarf3 frame operators. |
|
264 * dwarf_macro.c: Detect end-of-macros properly |
|
265 (stopped too soon before). |
|
266 |
|
267 2005-02-14 David Anderson <davea@sgi.com> |
|
268 * pro_incl.h: Added #elif defined(HAVE_LIBELF_H) |
|
269 enabling build on a platform missing normal elf.h. |
|
270 |
|
271 2005-02-11 David Anderson <davea@sgi.com> |
|
272 * dwarf_base_types.h: Added DW_CIE_VERSION3 define. |
|
273 * dwarf_die_deliv.c: Allowed CURRENT_VERSION_STAMP3. |
|
274 * dwarf_frame.c: Allowed DW_CIE_VERSION3. |
|
275 * dwarf_frame.h: Define DW_DEBUG_FRAME_VERSION3. |
|
276 * dwarf_line.c: Allow CURRENT_VERSION_STAMP3. |
|
277 * dwarf_line.h: Add lc_version_number to line structure. |
|
278 * dwarf_opaque.h: Add CURRENT_VERSION_STAMP3 and comment showing |
|
279 version numbers (DWARF3 vs DWARF2) by DWARF section. |
|
280 |
|
281 2004-11-21 David Anderson <davea@sgi.com> |
|
282 * configure.in libdwarfdefs.h: Now tests more precisely for __uint32_t |
|
283 and __uint64_t (previous test was not sufficient for debian/mips). |
|
284 Regenerated configure config.h.in. |
|
285 |
|
286 2004-10-28 David Anderson <davea@sgi.com> |
|
287 * LIBDWARFCOPYRIGHT Makefile.in NEWS config.h dwarf_abbrev.c |
|
288 dwarf_abbrev.h dwarf_addr_finder.c dwarf_alloc.c dwarf_alloc.h |
|
289 dwarf_arange.c dwarf_arange.h dwarf_base_types.h dwarf_die_deliv.c |
|
290 dwarf_die_deliv.h dwarf_error.c dwarf_error.h dwarf_form.c |
|
291 dwarf_frame.c dwarf_frame.h dwarf_funcs.c dwarf_funcs.h |
|
292 dwarf_global.c dwarf_global.h dwarf_incl.h dwarf_init_finish.c |
|
293 dwarf_leb.c dwarf_line.c dwarf_line.h dwarf_loc.c dwarf_loc.h |
|
294 dwarf_macro.c dwarf_macro.h dwarf_opaque.h dwarf_print_lines.c |
|
295 dwarf_query.c dwarf_sort_line.c dwarf_string.c dwarf_stubs.c |
|
296 dwarf_types.c dwarf_types.h dwarf_util.c dwarf_util.h |
|
297 dwarf_vars.c dwarf_vars.h dwarf_weaks.c dwarf_weaks.h |
|
298 libdwarfdefs.h pro_alloc.c pro_alloc.h pro_arange.c pro_arange.h |
|
299 pro_die.c pro_die.h pro_encode_nm.c pro_encode_nm.h pro_error.c |
|
300 pro_error.h pro_expr.c pro_expr.h pro_finish.c pro_forms.c |
|
301 pro_frame.c pro_frame.h pro_funcs.c pro_funcs.h pro_incl.h |
|
302 pro_init.c pro_line.c pro_line.h pro_macinfo.c pro_macinfo.h |
|
303 pro_opaque.h pro_pubnames.c pro_pubnames.h pro_reloc.c |
|
304 pro_reloc.h pro_reloc_stream.c pro_reloc_stream.h pro_reloc_symbolic.c |
|
305 pro_reloc_symbolic.h pro_section.c pro_section.h pro_types.c |
|
306 pro_types.h pro_util.c pro_util.h pro_vars.c pro_vars.h |
|
307 pro_weaks.c pro_weaks.h: Copyright update with |
|
308 2004 and new SGI official address. |
|
309 |
|
310 2004-10-26 David Anderson <davea@sgi.com> |
|
311 * acconfig.h: removed. Was old style autoconf usage. |
|
312 * configure.in: Updated AC_DEFINE usage, adding args 2 & 3. |
|
313 * config.guess: Updated. timestamp='2004-06-11'. |
|
314 * config.sub: Updated. timestamp='2004-03-12'. |
|
315 * configure config.h.in: regenerated with autoconf 2.58. |
|
316 |
|
317 2004-06-09 David Anderson <davea@sgi.com> |
|
318 * dwarf_frame.c (_dwarf_exec_frame_instr): |
|
319 Was not setting ru_offset to 1 in DW_CFA_def_cfa_offset |
|
320 case, now it does. |
|
321 |
|
322 2004-02-24 David Anderson <davea@sgi.com> |
|
323 * dwarf_frame.c (_dwarf_exec_frame_instr): |
|
324 DW_CFA_def_cfa_register case, was setting offset, which |
|
325 is incorrect. Thanks to Tom Hughes <thh@cyberscience.com> |
|
326 for pointing this out. |
|
327 |
|
328 2004-02-03 David Anderson <davea@sgi.com> |
|
329 * dwarf_util.h: DECODE_LEB128_UWORD DECODE_LEB128_SWORD |
|
330 were simply wrong if Dwarf_Word or |
|
331 Dwarf_Sword longer than 4 bytes. Upper bits left random. |
|
332 Large values not extracted correctly. |
|
333 |
|
334 2004-01-15 David Anderson <davea@sgi.com> |
|
335 * dwarf_alloc.c pro_alloc.c pro_init.c: changing BSD-ish bzero() |
|
336 to posix-standard memset() calls. |
|
337 * configure.in: remove bstring.h test, add alloca.h test. |
|
338 No longer useing bzero, some environments have alloca |
|
339 in malloc.h, no alloca.h. If neither exist |
|
340 it's up to you to deal with it. |
|
341 * dwarf_line.c dwarf_print_lines.c dwarf_sort_line.c: Test |
|
342 HAVE_ALLOCA_H |
|
343 * configure config.h.in: regenerated |
|
344 |
|
345 2003-12-31 David Anderson <davea@sgi.com> |
|
346 * dwarf_init_finish.c: added #error to detect and describe |
|
347 absence of libelf.h. |
|
348 * README: Added mention of libelf.h requirement, minor |
|
349 cleanout of obsolete comments, added configure example. |
|
350 * Makefile.in: Removed bogus LIBS line, updated copyright date. |
|
351 * acconfig.h: Updated copyright date. |
|
352 * config.guess config.sub: new versions from automake-1.6. |
|
353 * config.h.in configure: Regenerated. |
|
354 |
|
355 2003-12-15 David Anderson <davea@sgi.com> |
|
356 * dwarf_init_finish.c (_dwarf_setup): test for (section_size) |
|
357 was wrong for eh_frame section. Changed this one to |
|
358 (section_size == 0) so it is like all the others testing |
|
359 section_size. Thanks to David Mosberger |
|
360 for pointing out this inconsistency. |
|
361 |
|
362 2003-12-08 David Anderson <davea@sgi.com> |
|
363 * dwarf_line.h: reference in comment to li_dbg meant to |
|
364 refer to li_offset. Corrected and amplified comment. |
|
365 |
|
366 2003-10-06 David Anderson <davea@sgi.com> |
|
367 * dwarf_abbrev.c dwarf_die_deliv.c dwarf_form.c dwarf_loc.c |
|
368 dwarf_util.c: applied indent(1). |
|
369 |
|
370 2003-10-02 David Anderson <davea@sgi.com> |
|
371 * dwarf_loc.c: Implemented dwarf_get_loclist_entry(), |
|
372 implemented new dwarf_loclist_n() fully implementing |
|
373 loclist support. |
|
374 * dwarf_stubs.c: removed dwarf_get_loclist_entry stub. |
|
375 * libdwarf2.1.mm: Documented dwarf_loclist_n() and |
|
376 updated documentation on dwarf_loclist(). |
|
377 |
|
378 2003-09-29 David Anderson <davea@sgi.com> |
|
379 * dwarf_abbrev.c: Ensure the .debug_abbrev section is loaded. |
|
380 * dwarf_arange.c dwarf_global.c: Recent dwarf committee |
|
381 discussions have revealed we were wrong in not allowing |
|
382 padding in aranges. |
|
383 * dwarf_die_deliv.c dwarf_query.c: handle DW_FORM_indirect. |
|
384 * dwarf_form.c: Add dwarf_whatform_direct() so folks |
|
385 can report on DW_FORM_indirect use. |
|
386 Fill in new Dwarf_Locdesc fields. |
|
387 * dwarf_loc.c: Handle .debug_loc partially. |
|
388 Fill in new Dwarf_Locdesc fields. |
|
389 Load .debug_loc if not present and if it's needed. |
|
390 * dwarf_opaque.h: Added ar_attribute_form_direct field |
|
391 so we can report DW_FORM_indirect |
|
392 in libdwarf-using code (where such wants to). |
|
393 * dwarf_util.c: Don't confuse DW_FORM_indirect uleb length |
|
394 with other lengths. |
|
395 * libdwarf2.1.mm: Document new function dwarf_whatform_direct() |
|
396 Not needed by ordinary clients, just for clients |
|
397 wanting to print certain debug info. |
|
398 |
|
399 2003-04-15 Brian Ford <ford@vss.fsi.com> |
|
400 * configure.in (AC_C_BIGENDIAN): Move after AC_PROG_CC so a proper |
|
401 working compiler is used for the test. |
|
402 |
|
403 2003-01-21 David Anderson <davea@sgi.com> |
|
404 * dwarf_die_deliv.c (dwarf_next_cu_header, dwarf_offdie): |
|
405 Add calls to dwarf_load_object() to load .debug_info, |
|
406 .debug_abbrev |
|
407 * dwarf_init_finish.c (_dwarf_setup): Remove calls to |
|
408 dwarf_load_object for .debug_info, .debug_abbrev sections. |
|
409 * dwarf_opaque.h: Add new fields to Dwarf_Debug so |
|
410 we don't need to pre-load .debug_info, .debug_abbrev |
|
411 * dwarf_util.h: Fix READ_AREA_LENGTH macro so it uses |
|
412 only length itself to determine which format the |
|
413 length is. |
|
414 |
|
415 2003-01-14 David Anderson <davea@sgi.com> |
|
416 * dwarf_loc.c: Made comment at head of dwarf_loclist() |
|
417 a bit clearer. |
|
418 |
|
419 2002-11-22 Tom Hughes <thh@cyberscience.com> |
|
420 * dwarf_macro.c: Corrected bugs in macro-info functions. |
|
421 |
|
422 2002-10-29 David Anderson <davea@sgi.com> |
|
423 * dwarf_init_finish.c: The libelf_sgi mods |
|
424 left a HAVE_ELF64_GETSHDR ifdef in the wrong place |
|
425 so folks without Elf64 could not build. Fixed. |
|
426 |
|
427 2002-10-21 David Anderson <davea@sgi.com> |
|
428 * dwarf_form.c: the form_ref functions were failing to |
|
429 add in cc_extension_size when checking for offset |
|
430 legality. Thanks to Kelly O'Hair <kelly.ohair@sun.com> |
|
431 for pointing out the 4 places this was wrong. |
|
432 Used cu_context local pointer to avoid numerous |
|
433 double indirections. |
|
434 |
|
435 2002-08-14 David Anderson <davea@sgi.com> |
|
436 * dwarf_string.c (dwarf_get_str): Return |
|
437 DW_DLV_NO_ENTRY when offset is just at the end of the |
|
438 sections, making it possible to use dwarf_get_str |
|
439 to print the section independently. |
|
440 * libdwarf2.1.mm, libdwarf2.1.ps: Document the |
|
441 revised dwarf_get_str interface (which was not |
|
442 fully thought thru before). |
|
443 * dwarf_line.c (dwarf_srcfiles): Avoid core dump |
|
444 when DW_AT_comp_dir absent (it's not required). |
|
445 |
|
446 |
|
447 2002-07-31 David Anderson <davea@sgi.com> |
|
448 * pro_types.c (_dwarf_transform_simplename_to_disk): correct |
|
449 generation of .debug_info size field. |
|
450 Thanks to Kelly O'Hair <kelly.ohair@sun.com> for pointing out |
|
451 the bug. |
|
452 |
|
453 2002-05-23 Daniel Gohman <gohmandj@sgi.com> |
|
454 * dwarf_init_finish.c: Add support for using SGI's |
|
455 ELF library as an alternative to using AT&T-style |
|
456 libelf. |
|
457 Add a new function _dwarf_load_section to handle |
|
458 loading of sections. |
|
459 * dwarf_opaque.h: Add entries to Dwarf_Debug_s to |
|
460 store section indicies. |
|
461 * most consumer files: Load sections on demand so |
|
462 that unneeded sections don't get loaded. |
|
463 * dwarf_init_finish.c: Fixed an incorrect check for |
|
464 duplicate .eh_frame sections. |
|
465 |
|
466 2002-04-25 Kelly O'Hair <kelly.ohair@sun.com> |
|
467 * pro_section.c (_dwarf_pro_generate_debuginfo): add |
|
468 required dwarf2 sec 7.5.3 trailing null byte |
|
469 to .debug_abbrev per compilation-unit. |
|
470 |
|
471 2002-03-31 David Anderson <davea@sgi.com> |
|
472 * dwarf_abbref.c (dwarf_get_abbrev): change |
|
473 DW_DLE_DEBUG_ABBREV_NULL to DW_DLE_DWARF_ABBREV_NULL. |
|
474 Former was wrong code. |
|
475 * libdwarf2.1.mm: correct argument reference, returned_abbrev |
|
476 not returned_fde in dwarf_get_abbrev discussion. |
|
477 |
|
478 2002-03-07 David Anderson <davea@sgi.com> |
|
479 * libdwarf.h: added struct Elf declaration |
|
480 to reduce dependency on header include ordering. |
|
481 |
|
482 2002-02-11 David Anderson <davea@sgi.com> |
|
483 * libdwarf2.1.mm libdwarf2.1.ps: |
|
484 dwarf_offdie can return DW_DLV_NO_ENTRY and that |
|
485 is now documented. |
|
486 * dwarf_loc.c: if the length of a location description |
|
487 is zero that is ok, not an error. dwarf2 sec 2.4.1. |
|
488 |
|
489 2002-01-10 David Anderson <davea@sgi.com> |
|
490 * dwarf_opaque.h, dwarf_init_finish.c: if libdwarf does |
|
491 the elf_begin() it must also do the elf_end() to |
|
492 avoid a memory leak, and now does this correctly. |
|
493 |
|
494 2002-01-10 David Anderson <davea@sgi.com> |
|
495 * dwarf_init_finish.c: Using a variable to |
|
496 hold ELF_C_READ_MMAP. Really motivated by |
|
497 code not added to this source. |
|
498 * dwarf_die_deliv.c: Added comments, moved |
|
499 a couple variables to local scope from function scope. |
|
500 |
|
501 * dwarf.h: Added some #defines which were specified in the Dwarf |
|
502 2.1 Dwarf draft 5 (now called dwarf 3 draft 5). |
|
503 |
|
504 2001-09-18 David Anderson davea@sgi.com |
|
505 * all files: applied gnu indent with |
|
506 -bad -bap -nbbo -br -ce -brs |
|
507 -l72 -lc72 -hnl -nprs |
|
508 -fca -i4 -lp -psl -npcs |
|
509 Code should use this set in libdwarf. |
|
510 |
|
511 |
|
512 2001-08-21 "kelly o'hair" <kelly.ohair@eng.sun.com> |
|
513 * pro_section.c: If one called dwarf_add_file_decl() |
|
514 or dwarf_add_directory_decl() but never added a line, |
|
515 .debug_line was not produced. This was a mistake, |
|
516 as if any file or directory was provided .debug_line |
|
517 should be produced. |
|
518 |
|
519 2001-08-06 davea@sgi.com |
|
520 * libdwarf2.1.mm: documented dwarf_dealloc rules |
|
521 more clearly. (.ps updated too) |
|
522 * mips_extensions.mm: documented the way SGI |
|
523 gets frame stack pointer out of debug_frame. |
|
524 (.ps updated too) |
|
525 |
|
526 2001-06-14 davea@sgi.com |
|
527 * dwarf_leb.c: changed around where bytes counted in |
|
528 _dwarf_decode_s_leb128 so it's easier to tell it is correct. |
|
529 And removed one loop completely: it was |
|
530 an early attempt at performance improvement and |
|
531 is no longer relevant. |
|
532 |
|
533 * dwarf_global.c: added new |
|
534 dwarf_get_cu_die_offset_given_cu_header_offset function |
|
535 to get CU die offset (as the long name says). |
|
536 A variety of functions return cu-header-offsets, so |
|
537 this is useful at times. |
|
538 Used locals to reduce the number of indirections |
|
539 and make things easier to follow. |
|
540 |
|
541 * dwarf_arange.c: added new dwarf_get_arange_cu_header_offset |
|
542 function so dwarfdump could print the cu header offset |
|
543 (which appears in the arange headers). |
|
544 |
|
545 * libdwarf2.1.mm: documented the above new functions. |
|
546 |
|
547 2001-06-07 davea@sgi.com |
|
548 * dwarf_leb.c: shift operator was not being applied |
|
549 to full size of Dwarf_Signed/Unsigned for 64bit |
|
550 Dwarf_Signed/Unsigned (ILP32 compile) so |
|
551 large numbers not decoded if signed. |
|
552 * pro_encode_nm.c: added {} in a couple if/else |
|
553 for 'clarity' and to make inserting debug printf easier. |
|
554 * pro_expr.c: Added comments explaining why possible |
|
555 compiler (gcc) warnings are ok, the result is safe. |
|
556 |
|
557 2001-05-30 davea@sgi.com |
|
558 * pro_reloc_stream.c: Wrote Set_REL32_info and |
|
559 Set_REL64_info macros |
|
560 from generic ELF abi documents to make use acceptable |
|
561 when IRIX elfaccess.h is not available. |
|
562 |
|
563 2001-05-30 "kelly o'hair" <kelly.ohair@eng.sun.com> |
|
564 * Makefile.in: was missing pro_macinfo.o |
|
565 pro_encode_nm.o dwarf_macro.o from the OBJS list. |
|
566 |
|
567 2001-05-22 davea@sgi.com |
|
568 * dwarf_frame.c, pro_expr.c: Added comments on why |
|
569 casts are safe in spite of gcc warnings (4 places total). |
|
570 |
|
571 2001-05-18 Dan Gritter <dgritter@us.ibm.com> |
|
572 * dwarf_loc.c DW_OP_bregx operands are unsigned |
|
573 reg num followed by signed offset. |
|
574 |
|
575 2001-04-11 David Anderson <davea@sgi.com> |
|
576 * dwarf_die_deliv.c: check for 0 abbreviation code |
|
577 and return a 'no entry' return value when found. |
|
578 (normal dwarf2, 0 means no DIE, the end of some set of DIEs.) |
|
579 |
|
580 2001-01-16 David Anderson <davea@sgi.com> |
|
581 |
|
582 * pro_die.c: set ar_reloc_len field |
|
583 in all cases. |
|
584 |
|
585 2000-12-14 David Anderson <davea@sgi.com> |
|
586 |
|
587 * dwarf_frame.h: clarified some comments. |
|
588 |
|
589 2000-12-14 Ulrich Drepper <drepper@cygnus.com> |
|
590 |
|
591 * dwarf_line.c: Now sets DW_LNE_end_sequence to |
|
592 default_is_stmt, the correct value, not is_stmt. |
|
593 |
|
594 |
|
595 2000 Aug 24 davea@sgi.com |
|
596 dwarf_error.c: a dwarf_init() failure resulted in this |
|
597 using a static Dwarf_Error struct. And dwarf_dealloc |
|
598 did not deal properly with that. |
|
599 dwarf_alloc.c dwarf_alloc.h: these had DYNAMIC_CHUNK protected code |
|
600 which was never used. Deleted the unused code. Added a small |
|
601 comment (hopefully useful) to dwarf_alloc.h. |
|
602 |
|
603 And now deals correctly with a null dbg on |
|
604 DW_DLA_ERROR due to failed |
|
605 dwarf_init() call (or due to other error in calling |
|
606 libdwarf that results in libdwarf not knowing the dbg, |
|
607 a likely far more common case) and frees the memory. |
|
608 This used to result in chaos (depending on your |
|
609 luck...). |
|
610 |
|
611 2000 Aug 23 davea@sgi.com |
|
612 libdwarf2.1.mm, ps. Failed to mention that dwarf_finish() |
|
613 has to be accompanied by elf_end() if dwarf_init() was used |
|
614 to initialize libdwarf to truly release all stuff. |
|
615 Added text to dwarf_finish() describing how to do that. |
|
616 2000 April 14 davea@sgi.com |
|
617 |
|
618 dwarf_abbrev.c - 1.22 |
|
619 - When it is a null abbrev entry, return it correctly so it can be |
|
620 printed (meaning fill out all the return-parameters so the caller can |
|
621 do the right thing). |
|
622 |
|
623 dwarf_init_finish.c - 1.48 |
|
624 - For most sections, simply having an empty section (present but empty) |
|
625 is just fine. There is no reason to register an error in such a case. |
|
626 |
|
627 Copyright has changed. See LIBDWARFCOPYRIGHT and NEWS |
|
628 |
|
629 dwarfdump/print_die.c - 1.42 |
|
630 - Explain what combo checker is doing and make it more maintainable (and fix bug which would not be hit, but was real enough). |
|
631 |
|
632 dwarfdump/tag_tree.list - 1.2 |
|
633 - Add valid parent/child relationships so checker does not report valid |
|
634 entries as bogus. |
|
635 |
|
636 dwarf_form.c - 1.26 |
|
637 - Correct dwarf reader to use appropriate size, not de_length_size. This is part of the handling of the new dwarf2 64bit facilities. I |
|
638 overlooked this small aspect before in one place |
|
639 dwarf_query.c - 1.48 |
|
640 - Use correct size, not de_length_size. For offset size. |
|
641 libdwarf2.1.mm - 1.41 |
|
642 - Tried to make frame register output args meaning clearer |
|
643 libdwarf2.1.ps - 1.19 |
|
644 - Tried to make frame register output args meaning clearer |
|
645 pro_forms.c - 1.33 |
|
646 - Get ref4, not ref8 when generating 32bit dwarf per original dwarf2 |
|
647 spec. even if pointer size is 64 bits. |
|
648 pro_init.c - 1.18 |
|
649 - Get ref4, not ref8 when generating 32bit dwarf per original dwarf2 |
|
650 spec. even if pointer size is 64 bits. |
|
651 |
|
652 |
|
653 davea@sgi.com |
|
654 |
|
655 |
|
656 2000 March 7 |
|
657 dwarf_line.c - 1.48 |
|
658 dwarf_line.h - 1.16 |
|
659 dwarf_print_lines.c - 1.10 |
|
660 dwarf_sort_line.c - 1.8 |
|
661 - Now handles opcode_base of line section to be other than that at |
|
662 compile time of libdwarf. |
|
663 Important as the dwarf2 committee is adding a new standard opcode |
|
664 davea@sgi.com |
|
665 |
|
666 2000 Feb 24 |
|
667 pro_forms.c 1.31 ar_next field not always zeroed before. |
|
668 Could lead to infinite loop in the producer code. |
|
669 Now the field is always zeroed. |
|
670 |
|
671 Makefile.in - 1.3 Jason Merrill <jason@cygnus.com> |
|
672 provided fix so gcc will work on libdwarf |
|
673 print_sections.c - 1.54 - casts to avoid warnings |
|
674 |
|
675 davea@sgi.com |
|
676 |
|
677 |
|
678 1999 Dec 14 |
|
679 acconfig.h - 1.3 |
|
680 config.h.in - 1.5 |
|
681 configure - 1.4 |
|
682 configure.in - 1.5 |
|
683 - HAVE_DWARF2_99_EXTENSION HAVE_OLD_DWARF2_32BIT_OFFSET |
|
684 refinements added. |
|
685 CHANGES - 1.3 |
|
686 Makefile.base - 1.98 |
|
687 NEWS - 1.5 |
|
688 config.h - 1.4 |
|
689 config.h.in - 1.4 |
|
690 configure.in - 1.4 |
|
691 dwarf_alloc.c - 1.36 |
|
692 dwarf_arange.c - 1.19 |
|
693 dwarf_arange.h - 1.6 |
|
694 dwarf_die_deliv.c - 1.51 |
|
695 dwarf_frame.c - 1.62 |
|
696 dwarf_frame.h - 1.23 |
|
697 dwarf_funcs.c - 1.10 |
|
698 dwarf_funcs.h - 1.3 |
|
699 dwarf_global.c - 1.21 |
|
700 dwarf_global.h - 1.7 |
|
701 dwarf_init_finish.c - 1.45 |
|
702 dwarf_line.c - 1.44 |
|
703 dwarf_opaque.h - 1.52 |
|
704 dwarf_print_lines.c - 1.8 |
|
705 dwarf_query.c - 1.45 |
|
706 dwarf_types.c - 1.10 |
|
707 dwarf_types.h - 1.3 |
|
708 dwarf_util.c - 1.40 |
|
709 dwarf_util.h - 1.22 |
|
710 dwarf_vars.c - 1.11 |
|
711 dwarf_vars.h - 1.3 |
|
712 dwarf_weaks.c - 1.10 |
|
713 dwarf_weaks.h - 1.3 |
|
714 libdwarf2.1.mm - 1.40 |
|
715 libdwarf2.1.ps - 1.18 |
|
716 pro_arange.c - 1.15 |
|
717 pro_die.c - 1.23 |
|
718 pro_frame.c - 1.29 |
|
719 pro_init.c - 1.15 |
|
720 pro_macinfo.c - 1.7 |
|
721 pro_opaque.h - 1.14 |
|
722 pro_pubnames.c - 1.18 |
|
723 pro_reloc_stream.c - 1.5 |
|
724 pro_section.c - 1.70 |
|
725 pro_section.h - 1.16 |
|
726 pro_types.c - 1.12 |
|
727 - Allowing generation of correct dwarf2 with the 1999 64bit dwarf |
|
728 extension, and reading all forms of dwarf2 compatibly (all 32/64bit |
|
729 dwarf2 section forms). |
|
730 |
|
731 This adds the ability to consume and produce both sgi 64bit |
|
732 and the new dwarf2 committee-approved 64bit dwarf extension. |
|
733 As a result of the new dwarf2 stuff , a producer (compiler) |
|
734 can mix 32 and 64bit dwarf (for a 64bit object) and the |
|
735 linker will work seamlessly. (as long as section sizes don't |
|
736 get over 2GBytes). |
|
737 |
|
738 And the producer is easily configured to produce mips/sgi style |
|
739 64bit dwarf or the new form of 64bit dwarf. |
|
740 |
|
741 This also eliminates a fair amount of rather silly duplicated code. |
|
742 davea@sgi.com |
|
743 |
|
744 |
|
745 1999 Nov 4 |
|
746 |
|
747 pro_section.c - 1.69 |
|
748 - A pointer size entity had an offset-size value used at one place. |
|
749 davea@sgi.com |
|
750 |
|
751 1999 Sep 30 |
|
752 dwarf_arange.c - 1.18 |
|
753 - Changed // comment to /* */. // failed to compile |
|
754 with C89 compiler... |
|
755 davea@sgi.com |
|
756 |
|
757 |
|
758 1999 Sep 29 |
|
759 Changed all the producer code |
|
760 substantially to allow generating assembler code |
|
761 for the dwarf2 (rather similar to what gcc does) |
|
762 allowing symbolic relocations. |
|
763 MIPS output still generates the binary form. |
|
764 davea@sgi.com |
|
765 |
|
766 |
|
767 |
|
768 1999 Aug 20 |
|
769 Stan Shebs (shebs@cygnus.com) pointed out that the pro_util.h |
|
770 use of R_MIPS* was a problem compiling on Sun. |
|
771 Since the producer code is not really used at present except for |
|
772 MIPS/sgi, I've added #ifndefs to pro_util.h which provide zero values |
|
773 when <elf.h> does not provide the macros. |
|
774 When anyone needs the producer code to actually *work* for non-MIPS |
|
775 something better will have to be done. |
|
776 |
|
777 This has no effect on those simply compiling libdwarf for |
|
778 use by dwarfdump. |
|
779 davea@sgi.com |
|
780 |
|
781 1999 July 21 |
|
782 Changed the READ_UNALAGNED macro to call a function |
|
783 depending on endianness of the host and the object being read. |
|
784 So all the dwarf_* source changed in a trivial way. |
|
785 Added support for printing egcs eh_frame section. |
|
786 Added a local memcpy-like function to do the cross-endian |
|
787 thing where applicable (called by READ_UNALIGNED macro). |
|
788 Because the .eh_frame section |
|
789 after linking can have some zeroed out bytes at the |
|
790 end of the CIE/FDE data the code looking for CIEs and FDEs |
|
791 now assumes a zero CIE/FDE length means it has reached |
|
792 the end of the CIE/FDE data. |
|
793 davea@sgi.com |
|
794 |
|
795 |
|
796 1999 June 14 |
|
797 Fred Fish fnf@ninemoons.com contributed |
|
798 autoconf'ing of the libdwarf and dwarfdump source. |
|
799 |
|
800 |
|
801 mips_extensions.* Documented additional old errors |
|
802 in the Dwarf Version 2 spec. |
|
803 |
|
804 The ChangeLog before this is incomplete. |
|
805 |
|
806 ------------------------------------------------------------- |
|
807 Since Oct 95 and before May, 1996 davea@sgi.com David Anderson |
|
808 |
|
809 Added the function dwarf_get_cie_of_fde() which makes it possible |
|
810 to remember a single fde/cie set out of a block usefully. |
|
811 |
|
812 Enhanced doc of dwarf_bitoffset() |
|
813 |
|
814 Added new function dwarf_global_formref() so all reference |
|
815 forms can be retrieved. |
|
816 |
|
817 Fixed bug in retrieving array bounds: was failing to sign extend |
|
818 formsdata. |
|
819 |
|
820 Added function dwarf_get_fde_info_for_all_regs(), which makes |
|
821 retrieval of the complete set of registers (as needed by |
|
822 debuggers and exception handlers) effectively N times faster |
|
823 than getting them one a time where N is the number of registers. |
|
824 |
|
825 Added support for exception table handling (really just support |
|
826 for a reference to an exception table for c++ exceptions). |
|
827 |
|
828 Fixed a bug where useless extra space (several megabytes) |
|
829 were malloc'ed for the abbreviations table by the libdwarf |
|
830 consumer code. |
|
831 |
|
832 ------------------------------------------------------------- |
|
833 June 10, 1999 |
|
834 Changelog started. |
|
835 ------------------------------------------------------------- |