rdwarf 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +28 -0
  6. data/README.md +39 -0
  7. data/Rakefile +8 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +7 -0
  10. data/ext/rdwarf/depend +5 -0
  11. data/ext/rdwarf/extconf.rb +29 -0
  12. data/ext/rdwarf/libdwarf/CHANGES +102 -0
  13. data/ext/rdwarf/libdwarf/CODINGSTYLE +71 -0
  14. data/ext/rdwarf/libdwarf/COPYING +28 -0
  15. data/ext/rdwarf/libdwarf/ChangeLog +619 -0
  16. data/ext/rdwarf/libdwarf/ChangeLog2006 +835 -0
  17. data/ext/rdwarf/libdwarf/ChangeLog2007 +217 -0
  18. data/ext/rdwarf/libdwarf/ChangeLog2008 +263 -0
  19. data/ext/rdwarf/libdwarf/ChangeLog2009 +348 -0
  20. data/ext/rdwarf/libdwarf/ChangeLog2010 +175 -0
  21. data/ext/rdwarf/libdwarf/ChangeLog2011 +297 -0
  22. data/ext/rdwarf/libdwarf/ChangeLog2012 +131 -0
  23. data/ext/rdwarf/libdwarf/ChangeLog2013 +238 -0
  24. data/ext/rdwarf/libdwarf/ChangeLog2014 +399 -0
  25. data/ext/rdwarf/libdwarf/LGPL.txt +504 -0
  26. data/ext/rdwarf/libdwarf/LIBDWARFCOPYRIGHT +40 -0
  27. data/ext/rdwarf/libdwarf/Makefile.in +220 -0
  28. data/ext/rdwarf/libdwarf/NEWS +535 -0
  29. data/ext/rdwarf/libdwarf/README +235 -0
  30. data/ext/rdwarf/libdwarf/checkexamples.c +1179 -0
  31. data/ext/rdwarf/libdwarf/cmplrs/dwarf_addr_finder.h +55 -0
  32. data/ext/rdwarf/libdwarf/common.c +62 -0
  33. data/ext/rdwarf/libdwarf/common.h +38 -0
  34. data/ext/rdwarf/libdwarf/config.h.in +146 -0
  35. data/ext/rdwarf/libdwarf/configure +5581 -0
  36. data/ext/rdwarf/libdwarf/configure.in +167 -0
  37. data/ext/rdwarf/libdwarf/dw-linetableheader.txt +39 -0
  38. data/ext/rdwarf/libdwarf/dwarf.h +1342 -0
  39. data/ext/rdwarf/libdwarf/dwarf_abbrev.c +291 -0
  40. data/ext/rdwarf/libdwarf/dwarf_abbrev.h +45 -0
  41. data/ext/rdwarf/libdwarf/dwarf_addr_finder.c +676 -0
  42. data/ext/rdwarf/libdwarf/dwarf_alloc.c +685 -0
  43. data/ext/rdwarf/libdwarf/dwarf_alloc.h +38 -0
  44. data/ext/rdwarf/libdwarf/dwarf_arange.c +595 -0
  45. data/ext/rdwarf/libdwarf/dwarf_arange.h +62 -0
  46. data/ext/rdwarf/libdwarf/dwarf_base_types.h +157 -0
  47. data/ext/rdwarf/libdwarf/dwarf_die_deliv.c +1802 -0
  48. data/ext/rdwarf/libdwarf/dwarf_die_deliv.h +46 -0
  49. data/ext/rdwarf/libdwarf/dwarf_elf_access.c +1348 -0
  50. data/ext/rdwarf/libdwarf/dwarf_elf_access.h +46 -0
  51. data/ext/rdwarf/libdwarf/dwarf_error.c +492 -0
  52. data/ext/rdwarf/libdwarf/dwarf_error.h +53 -0
  53. data/ext/rdwarf/libdwarf/dwarf_form.c +1302 -0
  54. data/ext/rdwarf/libdwarf/dwarf_frame.c +2454 -0
  55. data/ext/rdwarf/libdwarf/dwarf_frame.h +418 -0
  56. data/ext/rdwarf/libdwarf/dwarf_frame2.c +1533 -0
  57. data/ext/rdwarf/libdwarf/dwarf_frame3.c +282 -0
  58. data/ext/rdwarf/libdwarf/dwarf_funcs.c +123 -0
  59. data/ext/rdwarf/libdwarf/dwarf_funcs.h +33 -0
  60. data/ext/rdwarf/libdwarf/dwarf_gdbindex.c +520 -0
  61. data/ext/rdwarf/libdwarf/dwarf_gdbindex.h +97 -0
  62. data/ext/rdwarf/libdwarf/dwarf_global.c +612 -0
  63. data/ext/rdwarf/libdwarf/dwarf_global.h +117 -0
  64. data/ext/rdwarf/libdwarf/dwarf_harmless.c +228 -0
  65. data/ext/rdwarf/libdwarf/dwarf_harmless.h +31 -0
  66. data/ext/rdwarf/libdwarf/dwarf_incl.h +61 -0
  67. data/ext/rdwarf/libdwarf/dwarf_init_finish.c +1263 -0
  68. data/ext/rdwarf/libdwarf/dwarf_leb.c +159 -0
  69. data/ext/rdwarf/libdwarf/dwarf_line.c +1822 -0
  70. data/ext/rdwarf/libdwarf/dwarf_line.h +446 -0
  71. data/ext/rdwarf/libdwarf/dwarf_line2.c +98 -0
  72. data/ext/rdwarf/libdwarf/dwarf_line_table_reader_common.c +1583 -0
  73. data/ext/rdwarf/libdwarf/dwarf_loc.c +1525 -0
  74. data/ext/rdwarf/libdwarf/dwarf_loc.h +149 -0
  75. data/ext/rdwarf/libdwarf/dwarf_loc2.c +833 -0
  76. data/ext/rdwarf/libdwarf/dwarf_macro.c +479 -0
  77. data/ext/rdwarf/libdwarf/dwarf_macro.h +35 -0
  78. data/ext/rdwarf/libdwarf/dwarf_opaque.h +778 -0
  79. data/ext/rdwarf/libdwarf/dwarf_original_elf_init.c +219 -0
  80. data/ext/rdwarf/libdwarf/dwarf_print_lines.c +631 -0
  81. data/ext/rdwarf/libdwarf/dwarf_pubtypes.c +132 -0
  82. data/ext/rdwarf/libdwarf/dwarf_query.c +1594 -0
  83. data/ext/rdwarf/libdwarf/dwarf_ranges.c +194 -0
  84. data/ext/rdwarf/libdwarf/dwarf_reloc_arm.h +308 -0
  85. data/ext/rdwarf/libdwarf/dwarf_reloc_mips.h +117 -0
  86. data/ext/rdwarf/libdwarf/dwarf_reloc_ppc.h +242 -0
  87. data/ext/rdwarf/libdwarf/dwarf_reloc_ppc64.h +272 -0
  88. data/ext/rdwarf/libdwarf/dwarf_reloc_x86_64.h +127 -0
  89. data/ext/rdwarf/libdwarf/dwarf_sort_line.c +665 -0
  90. data/ext/rdwarf/libdwarf/dwarf_string.c +82 -0
  91. data/ext/rdwarf/libdwarf/dwarf_stubs.c +38 -0
  92. data/ext/rdwarf/libdwarf/dwarf_tied.c +423 -0
  93. data/ext/rdwarf/libdwarf/dwarf_tsearch.h +125 -0
  94. data/ext/rdwarf/libdwarf/dwarf_tsearchhash.c +675 -0
  95. data/ext/rdwarf/libdwarf/dwarf_types.c +121 -0
  96. data/ext/rdwarf/libdwarf/dwarf_types.h +32 -0
  97. data/ext/rdwarf/libdwarf/dwarf_util.c +913 -0
  98. data/ext/rdwarf/libdwarf/dwarf_util.h +324 -0
  99. data/ext/rdwarf/libdwarf/dwarf_vars.c +125 -0
  100. data/ext/rdwarf/libdwarf/dwarf_vars.h +29 -0
  101. data/ext/rdwarf/libdwarf/dwarf_weaks.c +123 -0
  102. data/ext/rdwarf/libdwarf/dwarf_weaks.h +29 -0
  103. data/ext/rdwarf/libdwarf/dwarf_xu_index.c +579 -0
  104. data/ext/rdwarf/libdwarf/dwarf_xu_index.h +68 -0
  105. data/ext/rdwarf/libdwarf/dwgetopt.c +181 -0
  106. data/ext/rdwarf/libdwarf/dwgetopt.h +51 -0
  107. data/ext/rdwarf/libdwarf/gennames.c +531 -0
  108. data/ext/rdwarf/libdwarf/install.sh +119 -0
  109. data/ext/rdwarf/libdwarf/libdwarf.h.in +3746 -0
  110. data/ext/rdwarf/libdwarf/libdwarf2.1.mm +9805 -0
  111. data/ext/rdwarf/libdwarf/libdwarf2.1.pdf +0 -0
  112. data/ext/rdwarf/libdwarf/libdwarf2p.1.mm +2807 -0
  113. data/ext/rdwarf/libdwarf/libdwarf2p.1.pdf +0 -0
  114. data/ext/rdwarf/libdwarf/libdwarfdefs.h +81 -0
  115. data/ext/rdwarf/libdwarf/malloc_check.c +327 -0
  116. data/ext/rdwarf/libdwarf/malloc_check.h +52 -0
  117. data/ext/rdwarf/libdwarf/mips_extensions.mm +1266 -0
  118. data/ext/rdwarf/libdwarf/mips_extensions.pdf +0 -0
  119. data/ext/rdwarf/libdwarf/pro_alloc.c +179 -0
  120. data/ext/rdwarf/libdwarf/pro_alloc.h +33 -0
  121. data/ext/rdwarf/libdwarf/pro_arange.c +310 -0
  122. data/ext/rdwarf/libdwarf/pro_arange.h +51 -0
  123. data/ext/rdwarf/libdwarf/pro_die.c +431 -0
  124. data/ext/rdwarf/libdwarf/pro_die.h +59 -0
  125. data/ext/rdwarf/libdwarf/pro_encode_nm.c +108 -0
  126. data/ext/rdwarf/libdwarf/pro_encode_nm.h +39 -0
  127. data/ext/rdwarf/libdwarf/pro_error.c +96 -0
  128. data/ext/rdwarf/libdwarf/pro_error.h +43 -0
  129. data/ext/rdwarf/libdwarf/pro_expr.c +575 -0
  130. data/ext/rdwarf/libdwarf/pro_expr.h +36 -0
  131. data/ext/rdwarf/libdwarf/pro_finish.c +45 -0
  132. data/ext/rdwarf/libdwarf/pro_forms.c +1271 -0
  133. data/ext/rdwarf/libdwarf/pro_frame.c +572 -0
  134. data/ext/rdwarf/libdwarf/pro_frame.h +120 -0
  135. data/ext/rdwarf/libdwarf/pro_funcs.c +50 -0
  136. data/ext/rdwarf/libdwarf/pro_incl.h +91 -0
  137. data/ext/rdwarf/libdwarf/pro_init.c +327 -0
  138. data/ext/rdwarf/libdwarf/pro_line.c +373 -0
  139. data/ext/rdwarf/libdwarf/pro_line.h +112 -0
  140. data/ext/rdwarf/libdwarf/pro_macinfo.c +457 -0
  141. data/ext/rdwarf/libdwarf/pro_macinfo.h +31 -0
  142. data/ext/rdwarf/libdwarf/pro_opaque.h +513 -0
  143. data/ext/rdwarf/libdwarf/pro_pubnames.c +60 -0
  144. data/ext/rdwarf/libdwarf/pro_reloc.c +253 -0
  145. data/ext/rdwarf/libdwarf/pro_reloc.h +38 -0
  146. data/ext/rdwarf/libdwarf/pro_reloc_stream.c +256 -0
  147. data/ext/rdwarf/libdwarf/pro_reloc_stream.h +52 -0
  148. data/ext/rdwarf/libdwarf/pro_reloc_symbolic.c +245 -0
  149. data/ext/rdwarf/libdwarf/pro_reloc_symbolic.h +45 -0
  150. data/ext/rdwarf/libdwarf/pro_section.c +2233 -0
  151. data/ext/rdwarf/libdwarf/pro_section.h +100 -0
  152. data/ext/rdwarf/libdwarf/pro_types.c +274 -0
  153. data/ext/rdwarf/libdwarf/pro_types.h +34 -0
  154. data/ext/rdwarf/libdwarf/pro_util.h +38 -0
  155. data/ext/rdwarf/libdwarf/pro_vars.c +52 -0
  156. data/ext/rdwarf/libdwarf/pro_weaks.c +51 -0
  157. data/ext/rdwarf/rdwarf.c +765 -0
  158. data/ext/rdwarf/rdwarf.h +52 -0
  159. data/ext/rdwarf/rdwarf_names_gen.rb +109 -0
  160. data/lib/rdwarf.rb +181 -0
  161. data/lib/rdwarf/version.rb +3 -0
  162. data/rdwarf.gemspec +30 -0
  163. 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
+ -------------------------------------------------------------