rdwarf 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +28 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/ext/rdwarf/depend +5 -0
- data/ext/rdwarf/extconf.rb +29 -0
- data/ext/rdwarf/libdwarf/CHANGES +102 -0
- data/ext/rdwarf/libdwarf/CODINGSTYLE +71 -0
- data/ext/rdwarf/libdwarf/COPYING +28 -0
- data/ext/rdwarf/libdwarf/ChangeLog +619 -0
- data/ext/rdwarf/libdwarf/ChangeLog2006 +835 -0
- data/ext/rdwarf/libdwarf/ChangeLog2007 +217 -0
- data/ext/rdwarf/libdwarf/ChangeLog2008 +263 -0
- data/ext/rdwarf/libdwarf/ChangeLog2009 +348 -0
- data/ext/rdwarf/libdwarf/ChangeLog2010 +175 -0
- data/ext/rdwarf/libdwarf/ChangeLog2011 +297 -0
- data/ext/rdwarf/libdwarf/ChangeLog2012 +131 -0
- data/ext/rdwarf/libdwarf/ChangeLog2013 +238 -0
- data/ext/rdwarf/libdwarf/ChangeLog2014 +399 -0
- data/ext/rdwarf/libdwarf/LGPL.txt +504 -0
- data/ext/rdwarf/libdwarf/LIBDWARFCOPYRIGHT +40 -0
- data/ext/rdwarf/libdwarf/Makefile.in +220 -0
- data/ext/rdwarf/libdwarf/NEWS +535 -0
- data/ext/rdwarf/libdwarf/README +235 -0
- data/ext/rdwarf/libdwarf/checkexamples.c +1179 -0
- data/ext/rdwarf/libdwarf/cmplrs/dwarf_addr_finder.h +55 -0
- data/ext/rdwarf/libdwarf/common.c +62 -0
- data/ext/rdwarf/libdwarf/common.h +38 -0
- data/ext/rdwarf/libdwarf/config.h.in +146 -0
- data/ext/rdwarf/libdwarf/configure +5581 -0
- data/ext/rdwarf/libdwarf/configure.in +167 -0
- data/ext/rdwarf/libdwarf/dw-linetableheader.txt +39 -0
- data/ext/rdwarf/libdwarf/dwarf.h +1342 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.c +291 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.h +45 -0
- data/ext/rdwarf/libdwarf/dwarf_addr_finder.c +676 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.c +685 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.h +38 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.c +595 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.h +62 -0
- data/ext/rdwarf/libdwarf/dwarf_base_types.h +157 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.c +1802 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.c +1348 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_error.c +492 -0
- data/ext/rdwarf/libdwarf/dwarf_error.h +53 -0
- data/ext/rdwarf/libdwarf/dwarf_form.c +1302 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.c +2454 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.h +418 -0
- data/ext/rdwarf/libdwarf/dwarf_frame2.c +1533 -0
- data/ext/rdwarf/libdwarf/dwarf_frame3.c +282 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.h +33 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.c +520 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.h +97 -0
- data/ext/rdwarf/libdwarf/dwarf_global.c +612 -0
- data/ext/rdwarf/libdwarf/dwarf_global.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.c +228 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.h +31 -0
- data/ext/rdwarf/libdwarf/dwarf_incl.h +61 -0
- data/ext/rdwarf/libdwarf/dwarf_init_finish.c +1263 -0
- data/ext/rdwarf/libdwarf/dwarf_leb.c +159 -0
- data/ext/rdwarf/libdwarf/dwarf_line.c +1822 -0
- data/ext/rdwarf/libdwarf/dwarf_line.h +446 -0
- data/ext/rdwarf/libdwarf/dwarf_line2.c +98 -0
- data/ext/rdwarf/libdwarf/dwarf_line_table_reader_common.c +1583 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.c +1525 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.h +149 -0
- data/ext/rdwarf/libdwarf/dwarf_loc2.c +833 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.c +479 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.h +35 -0
- data/ext/rdwarf/libdwarf/dwarf_opaque.h +778 -0
- data/ext/rdwarf/libdwarf/dwarf_original_elf_init.c +219 -0
- data/ext/rdwarf/libdwarf/dwarf_print_lines.c +631 -0
- data/ext/rdwarf/libdwarf/dwarf_pubtypes.c +132 -0
- data/ext/rdwarf/libdwarf/dwarf_query.c +1594 -0
- data/ext/rdwarf/libdwarf/dwarf_ranges.c +194 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_arm.h +308 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_mips.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc.h +242 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc64.h +272 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_x86_64.h +127 -0
- data/ext/rdwarf/libdwarf/dwarf_sort_line.c +665 -0
- data/ext/rdwarf/libdwarf/dwarf_string.c +82 -0
- data/ext/rdwarf/libdwarf/dwarf_stubs.c +38 -0
- data/ext/rdwarf/libdwarf/dwarf_tied.c +423 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearch.h +125 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearchhash.c +675 -0
- data/ext/rdwarf/libdwarf/dwarf_types.c +121 -0
- data/ext/rdwarf/libdwarf/dwarf_types.h +32 -0
- data/ext/rdwarf/libdwarf/dwarf_util.c +913 -0
- data/ext/rdwarf/libdwarf/dwarf_util.h +324 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.c +125 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.c +579 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.h +68 -0
- data/ext/rdwarf/libdwarf/dwgetopt.c +181 -0
- data/ext/rdwarf/libdwarf/dwgetopt.h +51 -0
- data/ext/rdwarf/libdwarf/gennames.c +531 -0
- data/ext/rdwarf/libdwarf/install.sh +119 -0
- data/ext/rdwarf/libdwarf/libdwarf.h.in +3746 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.mm +9805 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.mm +2807 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarfdefs.h +81 -0
- data/ext/rdwarf/libdwarf/malloc_check.c +327 -0
- data/ext/rdwarf/libdwarf/malloc_check.h +52 -0
- data/ext/rdwarf/libdwarf/mips_extensions.mm +1266 -0
- data/ext/rdwarf/libdwarf/mips_extensions.pdf +0 -0
- data/ext/rdwarf/libdwarf/pro_alloc.c +179 -0
- data/ext/rdwarf/libdwarf/pro_alloc.h +33 -0
- data/ext/rdwarf/libdwarf/pro_arange.c +310 -0
- data/ext/rdwarf/libdwarf/pro_arange.h +51 -0
- data/ext/rdwarf/libdwarf/pro_die.c +431 -0
- data/ext/rdwarf/libdwarf/pro_die.h +59 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.c +108 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.h +39 -0
- data/ext/rdwarf/libdwarf/pro_error.c +96 -0
- data/ext/rdwarf/libdwarf/pro_error.h +43 -0
- data/ext/rdwarf/libdwarf/pro_expr.c +575 -0
- data/ext/rdwarf/libdwarf/pro_expr.h +36 -0
- data/ext/rdwarf/libdwarf/pro_finish.c +45 -0
- data/ext/rdwarf/libdwarf/pro_forms.c +1271 -0
- data/ext/rdwarf/libdwarf/pro_frame.c +572 -0
- data/ext/rdwarf/libdwarf/pro_frame.h +120 -0
- data/ext/rdwarf/libdwarf/pro_funcs.c +50 -0
- data/ext/rdwarf/libdwarf/pro_incl.h +91 -0
- data/ext/rdwarf/libdwarf/pro_init.c +327 -0
- data/ext/rdwarf/libdwarf/pro_line.c +373 -0
- data/ext/rdwarf/libdwarf/pro_line.h +112 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.c +457 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.h +31 -0
- data/ext/rdwarf/libdwarf/pro_opaque.h +513 -0
- data/ext/rdwarf/libdwarf/pro_pubnames.c +60 -0
- data/ext/rdwarf/libdwarf/pro_reloc.c +253 -0
- data/ext/rdwarf/libdwarf/pro_reloc.h +38 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.c +256 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.h +52 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.c +245 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.h +45 -0
- data/ext/rdwarf/libdwarf/pro_section.c +2233 -0
- data/ext/rdwarf/libdwarf/pro_section.h +100 -0
- data/ext/rdwarf/libdwarf/pro_types.c +274 -0
- data/ext/rdwarf/libdwarf/pro_types.h +34 -0
- data/ext/rdwarf/libdwarf/pro_util.h +38 -0
- data/ext/rdwarf/libdwarf/pro_vars.c +52 -0
- data/ext/rdwarf/libdwarf/pro_weaks.c +51 -0
- data/ext/rdwarf/rdwarf.c +765 -0
- data/ext/rdwarf/rdwarf.h +52 -0
- data/ext/rdwarf/rdwarf_names_gen.rb +109 -0
- data/lib/rdwarf.rb +181 -0
- data/lib/rdwarf/version.rb +3 -0
- data/rdwarf.gemspec +30 -0
- metadata +251 -0
|
@@ -0,0 +1,835 @@
|
|
|
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
|
+
-------------------------------------------------------------
|