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.
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,297 @@
1
+ 2011-12-14 DavidAnderson <davea42@earthlink.net>
2
+ * libdwarf.h, dwarf_error.c: Add a new error code
3
+ for DW_OP location codes.
4
+ * dwarf_loc.c: Implement support for new DW_OP_GNU codes.
5
+ 2011-12-13 DavidAnderson <davea42@earthlink.net>
6
+ * dwarf.h: Added some GNU extensions.
7
+ * libdwarf.h: Added dwarf_lineoff_b() as
8
+ dwarf_lineoff() wrongly returns a signed column number.
9
+ Added dwarf_add_lineentry_b() as preparation for creating
10
+ DWARF3/4 output.
11
+ * dwarf_line.h: Added new struct fields to accomodate
12
+ DWARF3/4 isa and discriminator fields.
13
+ * dwarf_line.c: Now deals with the VLIW line calculations
14
+ in DWARF4. Adds support for computing the discriminator
15
+ and isa fields. Adds dwarf_lineoff_b() (and dwarf_lineoff
16
+ is now deprecated). Adds dwarf_prologue_end_etc() which
17
+ returns some DWARF3/4 line fields.
18
+ * dwarf_print_lines.c: Adds handling of DWARF3/4
19
+ line operations and fields and prints the details.
20
+ * libdwarf2.1.mm: Documents the new functions in dwarf_line.c
21
+ Version set to 2.02.
22
+ * libdwarf2.1.pdf: Regenerated.
23
+ * libdwarf2p.1.mm: Documents the new function
24
+ dwaf_add_line_entry_b().
25
+ Version set to 1.32.
26
+ * libdwarf2p.1.pdf: Regenerated.
27
+ * pro_incl.h: Add parentheses so the WRITE_UNALIGNED macro
28
+ works correctly in all circumtances.
29
+ * pro_opaque.h: Add DEBUG_RANGES and dEBUG_TYPES to the list
30
+ of sections we could generate. Define struct Dwarf_P_Line_Inits_s
31
+ to hold initialization values for line table data so we can later
32
+ make the choices at runtime rather than compile time.
33
+ The new struct is a field of the Dwarf_P_Debug struct.
34
+ * pro_line.h: Added some DWARF3/4 support and preparations
35
+ for emitting DWARF3/4.
36
+ * pro_line.c: Define dwarf_add_line_entry_b() for DWARF3/4
37
+ line fields, and _dwarf_init_default_line_header_vals()
38
+ to provide a default set of values, the defaults match
39
+ what was previously done.
40
+ Add support for the new DWARF3/4 line table fields.
41
+ * pro_section.c: Add the beginnings of support for creating
42
+ new DWARF3/4 sections and the new standard opcodes.
43
+ Move the field-writing code to small functions making
44
+ the line table writing smaller and easier to read.
45
+ Added the beginnings of allowing writing DWARF3/4
46
+ line table fields. Some if() missing {} were
47
+ modified by adding {} to avoid future problems.
48
+ 2011-12-08 DavidAnderson <davea42@earthlink.net>
49
+ * dwarf_frame.c: Corrected a typo by adding a space
50
+ to a comment.
51
+ * libdwarf2p.1.mm: A sentence about dwarf_lne_end_sequence()
52
+ was missing its introductory words. New version is 1.31.
53
+ * libdwarf2p.1.pdf: Regenerated.
54
+ 2011-11-02 DavidAnderson <davea42@earthlink.net>
55
+ * dwarf.h: Spelling fix: specfic->specific.
56
+ Rearranged a few comments about MIPS/SGI for
57
+ a better appearance.
58
+ 2011-10-29 DavidAnderson <davea42@earthlink.net>
59
+ * dwarf_alloc.c: Add support for the .debug_types section.
60
+ * dwarf_arange.c,dwarf_global.c: Add commentary about
61
+ debug_info vs debug_types and a new argument to
62
+ an internal function.
63
+ * dwarf_arange.h,dwarf_global.h: Add comment that this is
64
+ debug_info related only.
65
+ * dwarf_die_deliv.c: Now handles .debug_types as well as
66
+ .debug_info, and context information for the two sections
67
+ is kept seperate.
68
+ * dwarf_elf_access.c: Add a check for relocations of .debug_types.
69
+ * dwarf_error.c: Added error strings related to .debug_types.
70
+ * dwarf_form.c: Changes for .debug_types, mainly due to removing
71
+ 'info_' from certain struct member names.
72
+ * dwarf_init_finish.c: Notice the .debug_types section.
73
+ New function dwarf_get_section_max_offsets_b() returns
74
+ the size of debug_types (added to existing arguments).
75
+ * dwarf_opaque.h: Fields named *_info_* have the info_
76
+ removed as they apply to debug_types as well.
77
+ A new struct Dwarf_Debug_InfoTypes holds the data
78
+ for either of .debug_types and .debug_info sections.
79
+ Separating them so the sections can be accessed
80
+ simultaneously. Moved data items from Dwarf_Debug to
81
+ the new struct. DIE structs now have a 'is_info' field
82
+ so a CU and a DIE know whether they are from .debug_info
83
+ or .debug_types.
84
+ * dwarf_query.c: The query functions now work for
85
+ debug_info and debug_query as appropriate.
86
+ * dwarf_util.h: Added _dwarf_load_debug_types() and altered
87
+ a couple internal function prototypes with an 'is_info' flag
88
+ argument.
89
+ * dwarf_util.c: Added _dwarf_load_debug_types(). Altered
90
+ functions so the deal with .debug_types or .debug_info
91
+ as appropriate.
92
+ * libdwarf.h: Added debug_types error codes.
93
+ Added dwarf_siblingof_b() and dwarf_offdie_b() and
94
+ Added dwarf_next_cu_header_c() and
95
+ dwarf_get_cu_die_offset_given_cu_header_offset_b()
96
+ to account for .debug_types or .debug_info as required.
97
+ Added dwarf_get_die_infotypes_flag() so client code
98
+ can know if a DIE is debug_info or debug_types based.
99
+ Added dwarf_get_section_max_offsets_b(), adding
100
+ a debug_types size argument.
101
+ * libdwarf2.1.mm: Documented the new functions. New version
102
+ is 2.0 (somewhat arbitrarily changed from 1.x to 2.0)
103
+ * libdwarf2.1.pdf: Regenerated
104
+
105
+ 2011-10-26 DavidAnderson <davea42@earthlink.net>
106
+ * Makefile.in, README: Added Make settings of PREINCS POSTINCS
107
+ PRELIBS, POSTLIBS to simplify building when libdwarf or libelf
108
+ are not in the normal locations. Documented usable ways to
109
+ deal with unusual situations at build time.
110
+ 2011-10-09 DavidAnderson <davea42@earthlink.net> .
111
+ * dwarf_die_deliv.c, dwarf_elf_access.c: Fix bad indentation.
112
+ 2011-10-05 DavidAnderson <davea42@earthlink.net> .
113
+ * dwarf_die_deliv.c: When relocations fail, record
114
+ a 'harmless error' and continue the CU loading.
115
+ No way to be sure the error is really harmless, of course.
116
+ But it seems to often be harmless.
117
+ For some if() tests add {} to make the clause extent clear.
118
+ * dwarf_harmless.c: Add a comment prefix to dwarf_harmless_init().
119
+ 2011-10-03 DavidAnderson <davea42@earthlink.net>
120
+ * dwarf_line.c: Introduce {} in a test to avoid future mistakes.
121
+ 2011-09-23 DavidAnderson <davea42@earthlink.net>
122
+ * dwarf_arange.c: Test for a zero address-size: that indicates
123
+ broken dwarf generation.
124
+ * dwarf_line.c: Test for irrational line number header data and
125
+ error off with DW_DLE_LINE_NUMBER_HEADER_ERROR if we find it.
126
+ Add accidentally-omitted check for version 4.
127
+ * dwarf_error.c, libdwarf.h: New error code
128
+ DW_DLE_LINE_NUMBER_HEADER_ERROR.
129
+ 2011-09-16 DavidAnderson <davea42@earthlink.net>
130
+ * dwarf_elf_access.c: Give up relocating if the Elf symtab
131
+ header sh_entrysize is zero, and refine the test for
132
+ invalid symbol index to be a >= test.
133
+ * dwarf_error.c: Define text message for
134
+ DW_DLE_SYMTAB_SECTION_ENTRYSIZE_ZERO.
135
+ * libdwarf.h: New error code DW_DLE_SYMTAB_SECTION_ENTRYSIZE_ZERO.
136
+ 2011-09-15 DavidAnderson <davea42@earthlink.net>
137
+ * dwarf_elf_access.c: Adding fields to the object
138
+ structs dwarf uses and using them for error checks
139
+ when processing relocations.
140
+ * dwarf_error.c: Adding descriptions of new error messages
141
+ for Elf object file interpretation problems.
142
+ * dwarf_init_finish.c: Adding 'entrysize' field about objects
143
+ do dwarf_elf_access.c can check for object and relocation
144
+ data errors and avoid a coredump. And we memset() a struct
145
+ to ensure there are no uninitialized contents.
146
+ * dwarf_opaque.h: Adding new dss_entrysize and
147
+ dss_reloc_entrysize fields so elf error
148
+ checks can be added to dwarf_elf_access.c. These changes mean
149
+ you must recompile all of libdwarf source, not
150
+ just a subset, when rebuilding (the first time one sees this change).
151
+ * libdwarf.h: Adding entrysize element to Dwarf_Obj_Access_Section_s.
152
+ Non-elf object formats can just set this field zero and ignore it.
153
+ Added new elf-specific error codes for the new checks in
154
+ dwarf_elf_access.c.
155
+ 2011-09-14 DavidAnderson <davea42@earthlink.net>
156
+ * BLDLIBDWARFTAR: Moved a local disk file. Irrelevant
157
+ to everyone but DA.
158
+ * dwarf_arange.c: check that the address_size and segment
159
+ selector size fields are sensible.
160
+ * dwarf_die_deliv.c,dwarf_frame2.c: Give
161
+ DW_DLE_ADDRESS_SIZE_ERROR or DW_DLE_CU_ADDRESS_SIZE_BAD
162
+ if the address size read from a section is obviously wrong.
163
+ Similarly for a bad segment-selector-size give
164
+ DW_DLE_SEGMENT_SIZE_BAD.
165
+ * dwarf_error.c: Added text for the DW_DLE_SEGMENT_SIZE_BAD
166
+ error.
167
+ * dwarf_frame.c: If dwarf_set_default_address_size() is handed
168
+ an address_size that we cannot handle, ignore the input so
169
+ we don't wind up coredumping the library or consumer code.
170
+ * libdwarf2.1.mm: Updated list of error codes a little bit. Rev 1.99
171
+ * libdwarf2.1.pdf: Regenerated.
172
+ 2011-09-08 DavidAnderson <davea42@earthlink.net>
173
+ * dwarf_frame.c: Fixed bad indents.
174
+ 2011-09-02 DavidAnderson <davea42@earthlink.net>
175
+ * libdwarf2.1.mm: Document the new function
176
+ dwarf_set_default_address_size(). Updated revision to 1.97.
177
+ * libdwarf2.1.pdf: Regenerated.
178
+ * dwarf_frame.c: Implement dwarf_set_default_address_size().
179
+ * libdwarf.h: Declare the new function dwarf_set_default_address_size().
180
+ * dwarf_form.c(dwarf_formref): Removed c99-ish
181
+ declaration so C90 can compile the code.
182
+ * Makefile.in, configure.in: If building shared lib
183
+ CFLAGS gets -fPIC added in.
184
+ * configure: Fegenerated.
185
+ * dwarf_loc.c: New test returns DW_DLE_LOC_BAD_TERMINATION
186
+ in case of compiler bug in location expression.
187
+ * dwarf_error.c, libdwarf.h: Define and document the new
188
+ error.
189
+ * pro_opaque.h: Fixed a bad indent.
190
+
191
+ 2011-06-12 DavidAnderson <davea42@earthlink.net>
192
+ * libdwarf.h: Added dwarf_producer_init_c() and its
193
+ callback functions. Adds a user_data void* to the
194
+ init and callback functions for user convenience.
195
+ * libdwarf2p.1.m: Documented dwarf_producer_init_c().
196
+ Rev 1.30.
197
+ * libdwarf2p.1.pdf: Regenerated
198
+ * pro_init.c: Implement dwarf_producer_init_c().
199
+ * pro_opaque.h: Add fields for dwarf_producer_init_c().
200
+ * pro_reloc_stream.c: Implement dwarf_producer_init_c() callback.
201
+ * pro_reloc_symbolic.c: Implement dwarf_producer_init_c() callback.
202
+ * pro_section.c: Implement dwarf_producer_init_c() callback.
203
+ 2011-06-09 DavidAnderson <davea42@earthlink.net>
204
+ * dwarf_form.c: Code getting access to CU context and
205
+ dbg was repeated many times. Refactored the common
206
+ code into a file-static subprogram.
207
+ 2011-06-08 DavidAnderson <davea42@earthlink.net>
208
+ * libdwarf2.1.mm,libdwarf2.1.pdf: Now discusses
209
+ DW_AT_data_member_location in the context
210
+ if dwarf_loclist_n(). Rev 1.96
211
+ 2011-06-08 DavidAnderson <davea42@earthlink.net>
212
+ * dwarf_init_finish.c: Inserted missing include of
213
+ dwarf_harmless.h.
214
+ 2011-06-07 DavidAnderson <davea42@earthlink.net>
215
+ * dwarf_elf_access.c: Added EM_QUALCOMM_DSP6
216
+ machine so that relocations work on a
217
+ Qualcomm relocatable object in the dwarf regressiontests.
218
+ * dwarf_util.c: Fixed indent problems added in previous
219
+ change.
220
+ 2011-06-07 DavidAnderson <davea42@earthlink.net>
221
+ * dwarf_util.c(_dwarf_get_abbrev_for_code): If there is no
222
+ section padding the code could read-from-memory
223
+ one past the end of the section
224
+ which could (in very rare circumstances) coredump
225
+ an application. In addition, earlier in the same funcion
226
+ we did not account for the case where we had already read to
227
+ end of section. Both fixed.
228
+ 2011-06-06 DavidAnderson <davea42@earthlink.net>
229
+ * dwarf_error.c: Fix a typo in an error string.
230
+ * dwarf_query.c: Implement the new function
231
+ dwarf_get_verion_of_die().
232
+ * libdwarf.h: Add prototype for dwarf_get_verion_of_die().
233
+ * libdwarf2.1.mm: for dwarf_form_{s,u}data, mention
234
+ the DW_FORM_data{4,8} class ambiguity.
235
+ Document the new function dwarf_get_verion_of_die().
236
+ Document version now 1.95.
237
+ * libdwarf2.1.pdf: Regenerate.
238
+ 2011-06-04 DavidAnderson <davea42@earthlink.net>
239
+ * NEWS: Mention the non-elf documentation oversight.
240
+ * dwarf_arange.c,dwarf_elf_access.c, dwarf_frame3.c,
241
+ dwarf_funcs.c,dwarf_global.c,dwarf_init_finish.c,
242
+ dwarf_line.c,dwarf_loc.c,dwarf_macro.c,dwarf_print_lines.c,
243
+ dwarf_pubtypes.c,dwarf_query.c,dwarf_ranges.c,dwarf_string.c,
244
+ dwarf_types.c,dwarf_vars.c, dwarf_weaks.c: Everything loading
245
+ a section now checks the result for 'empty' and returns
246
+ DW_DLV_NO_ENTRY explicitly. This makes it easier to
247
+ do nothing safely when there is no data.
248
+ 2011-06-04 DavidAnderson <davea42@earthlink.net>
249
+ * dwarf_line.c (_dwarf_internal_srclines): Created new local functions
250
+ to unify some repeated code in into function calls. One of the
251
+ earlier inline-repetitions was coded wrong. Added {} to ensure clarity
252
+ on the intended scope a couple places. Added initializers to
253
+ a couple of local variables.
254
+ 2011-06-04 DavidAnderson <davea42@earthlink.net>
255
+ * dwarf_alloc.c: Added include "dwarf_harmless.h" so
256
+ a prototype is visible here.
257
+ * dwarf_form.c (dwarf_convert_to_global_offset,dwarf_global_formref): Deleted unused local variables.
258
+ * dwarf_frame.c (dwarf_initialize_fde_table): Uses local instead
259
+ of ignoring it (avoids compiler warning).
260
+ * dwarf_frame2.c (_dwarf_get_fde_list_internal): Delete unused
261
+ local variable.
262
+ * dwarf_line.c (dwarf_srcfiles): Call uses variable expected
263
+ signedness now, avoiding compiler warning.
264
+ * dwarf_print_lines.c: Printf was missing %, gcc -Wall pointed
265
+ out the mistake.
266
+ 2011-04-23 DavidAnderson <davea42@earthlink.net>
267
+ * pro_error.c (_dwarf_p_error): The code attempting to deal with
268
+ an unexpected error code was doing an inappropriate cast and
269
+ an inappropriate (possibly out-of-bounds) reference to an array
270
+ of strings. Removed the cast and removed the questionable
271
+ array reference.
272
+ * dwarf_frame.c: A couple lines were indented badly. Fixed the indentation.
273
+ * pro_line.h: Now __x86_64 also gets MIN_INST_LENGTH 1
274
+ 2011-03-29 DavidAnderson <davea42@earthlink.net>
275
+ * everything: Redid all indentations for
276
+ consistency. Updated copyrights. Interfaces
277
+ did not change, existing clients should not
278
+ encounter difficulty.
279
+ 2011-03-13 DavidAnderson <davea42@earthlink.net>
280
+ * libdwarf.h, dwarf_error.c: Added
281
+ DW_DLE_DEBUG_FRAME_POSSIBLE_ADDRESS_BOTCH.
282
+ 2011-01-20 DavidAnderson <davea42@earthlink.net>
283
+ * dwarf.h: Added some Apple attribute extensions.
284
+ 2011-01-13 DavidAnderson <davea42@earthlink.net>
285
+ * dwarf_print_lines.c: Handles DW_FORM_exprloc now. With -vvv
286
+ it now prints the dwarf version of the line table header.
287
+ * dwarf_line.c: Handles DW_FORM_exprloc now.
288
+ 2011-01-13 DavidAnderson <davea42@earthlink.net>
289
+ * libdwarf.h: Added new function dwarf_get_die_address_size().
290
+ * libdwarf2.1.mm: Documented new function dwarf_get_die_address_size().
291
+ Rev 1.91, 12 January 2011
292
+ * libdwarf2.1.pdf: Regenerated.
293
+ * dwarf_form.c: Corrected handling of DW_FORM_exprloc.
294
+ * dwarf_query.c: Implemented dwarf_get_die_address_size().
295
+ Corected handling of DW_FORM_exprloc.
296
+ * dwarf_util.c: Added handling of DW_FORM_exprloc and
297
+ DW_FORM_flag_present.
@@ -0,0 +1,131 @@
1
+ 2012-11-30 David Anderson
2
+ * dwarf.h: defines for some added DW_OP_GNU operators
3
+ * dwarf_loc.c: Added support for some DW_OP_GNU operators.
4
+ 2012-11-29 David Anderson
5
+ * dwarf_elf_access.c,dwarf_init_finish.c,dwarf_loc.c,
6
+ dwarf_reloc_arm.h,dwarf_reloc_x86_64.h,libdwarf.h:
7
+ Fix indents so dicheck gives no warnings.
8
+ 2012-11-29 David Anderson
9
+ * dwarf_addr_finder.c: Add const to a couple
10
+ const arrays.
11
+ * gennames.c: Add const to a couple const variables.
12
+ * dwarf_form.c: dwarf_formflag() was incorrectly
13
+ returning 1 instead of the actual flag value when
14
+ non-zero flag value. Now returns the real flag byte value.
15
+ * dwarf_opaque.h: Moved debug_section area info into
16
+ a new array in Dwarf_Debug struct.
17
+ * dwarf_init_finish.c: Instead of a file-static array,
18
+ the array is moved to the Dwarf_Debug struct and accesses
19
+ are adjusted to match.
20
+ * pro_section.c: Add const to an array declaration.
21
+ * libdwarf2.1.mm: Updated dwarf_formflag()
22
+ documentation. Now version is 2.06.
23
+ * libdwarf2.1.pdf: Regenerated.
24
+ 2012-11-22 David Anderson
25
+ * dwarf_loc.c: Removed the last dbg->de_length_size
26
+ instances from _dwarf_get_locdesc() to reflect the
27
+ incoming argument with the offset size (length size).
28
+ 2012-11-21 David Anderson
29
+ * dwarf_loc.c: Updated argument list and implementation for
30
+ dwarf_loclist_from_expr_b(), adding offset size (length size).
31
+ * libdwarf.h: Updated argument list for
32
+ dwarf_loclist_from_expr_b().
33
+ * libdwarf2.1.mm: Updated dwarf_loclist_from_expr_b()
34
+ documentation. Now version is 2.05.
35
+ * libdwarf2.1.pdf: Regenerated.
36
+ 2012-11-20 David Anderson
37
+ * dwarf_line.h: Fixing two small formatting
38
+ inconsistencies.
39
+ 2012-11-17 David Anderson
40
+ * dwarf_original_elf_init.c: Expanded comment about
41
+ HAVE_ELF_C_READ_MMAP (which is not settable
42
+ by configure and is not really needed).
43
+ * configure regenerated with autoconf 2.69
44
+ * libdwarf2.1.mm: Document dwarf_encode_leb128() and
45
+ and dwarf_encode_signed_leb128().
46
+ * libdwarf2.1.pdf: Regenerated.
47
+
48
+ 2012-11-17 David Anderson
49
+ * dwarf_arange.c,dwarf_base_types.h,dwarf_die_deliv.c,
50
+ dwarf_elf_access.c,dwarf_form.c,dwarf_frame.c,
51
+ dwarf_frame2.c,dwarf_harmless.c,dwarf_init_finish.c,
52
+ dwarf_line.c,dwarf_line.h,dwarf_loc.c,dwarf_macro.c,
53
+ dwarf_original_elf_init.c,dwarf_print_lines.c,dwarf_query.c
54
+ dwarf_ranges.c,dwarf_reloc_arm.h,dwarf_reloc_mips.h,
55
+ dwarf_reloc_ppc.h,dwarf_reloc_ppc64.h,dwarf_reloc_x86_64.h,
56
+ dwarf_util.c,dwarf_util.h,pro_forms.c,pro_frame.c,
57
+ pro_incl.h,pro_init.c,pro_section.c: Update copyright
58
+ on files changed recently.
59
+ 2012-11-15 CarlosAlbertoEnciso <carlos.alberto.enciso@gmail.com>
60
+ * dwarf.h: Incorrect comments for registers (64 to 108).
61
+ * dwarf_arange.c: Consistent layout for if statements.
62
+ * dwarf_base_type.h: Minor comment type.
63
+ * dwarf_die_deliv.c: Consistent layout for if and while statements.
64
+ * dwarf_elf_access.c: Consistent layout for if statements.
65
+ For Windows, include header files with relocation definitions.
66
+ Populate new fields 'type' (section type) and 'info' (target section
67
+ for relocation) in data structure 'Dwarf_Obj_Access_Section_s'.
68
+ Minor typo error in function 'is_32bit_abs_reloc' for the case
69
+ 'EM_PPC64', to use the correct symbol 'R_PPC64_DTPREL32' and
70
+ 'R_PPC64_DTPREL32'.
71
+ * dwarf_form.c: Consistent layout for if statements.
72
+ * dwarf_frame.c: Consistent layout for if, for and while statements.
73
+ * dwarf_frame2.c: Consistent layout for if statements.
74
+ * dwarf_harmless.c: Consistent layout for if and for statements.
75
+ * dwarf_init_finish.c: Consistent layout for if statements.
76
+ Use HAVE_ELF_H, HAVE_LIBELF_H, HAVE_LIBELF_LIBELF_H to control
77
+ the inclusion of the libelf symbols.
78
+ New function 'add_debug_section_info' and new data structure
79
+ 'dbg_sect_s' to deal properly with .rel and .rela section types
80
+ independently of the section name. The new algorithm to setup
81
+ the debug sections is implemented in '_dwarf_setup'.
82
+ * dwarf_line.c: Consistent layout for if statements.
83
+ * dwarf_line.h: Consistent layout for if statements.
84
+ * dwarf_loc.c: Consistent layout for if and switch statements.
85
+ * dwarf_macro.c: Consistent layout for if statements.
86
+ * dwarf_original_elf_init.c: Consistent layout for if statements.
87
+ * dwarf_print_lines.c: Consistent layout for if statements.
88
+ * dwarf_query.c: Consistent layout for if and switch statements.
89
+ * dwarf_ranges.c: Consistent layout for if and for statements.
90
+ * dwarf_reloc_arm.h: New file; relocations definitions for ARM.
91
+ * dwarf_reloc_mips.h: New file; relocations definitions for MIPS.
92
+ * dwarf_reloc_ppc.h: New file; relocations definitions for PPC.
93
+ * dwarf_reloc_ppc64.h: New file; relocations definitions for PPC64.
94
+ * dwarf_reloc_x86_64.h: New file; relocations definitions for X86_64.
95
+ * dwarf_sort_line.c: Consistent layout for while statements.
96
+ * dwarf_util.c: Consistent layout for if, for and while statements.
97
+ New functions 'dwarf_encode_leb128', 'dwarf_encode_signed_leb128'
98
+ to encode a value as unsiged LEB128 and signed LEB128.
99
+ * dwarf_util.h: Consistent layout for the macros DECODE_LEB128_UWORD,
100
+ DECODE_LEB128_SWORD, SKIP_LEB128_WORD, CHECK_DIE, READ_UNALIGNED,
101
+ SIGN_EXTEND, READ_AREA_LENGTH to include proper tabbing.
102
+ * libdwarf.h: Consistent layout for some typedef definitions.
103
+ New fields 'type' (section type) and 'info' (target section for
104
+ relocation) in data structure 'Dwarf_Obj_Access_Section_s'.
105
+ Prototypes for new functions 'dwarf_encode_leb128' and
106
+ 'dwarf_encode_signed_leb128', defined in dwarf_util.c.
107
+ * pro_forms.c: Consistent layout for if statements.
108
+ * pro_frame.c: Consistent layout for if statements.
109
+ * pro_incl.h: For Windows, include the stdafx.h header file.
110
+ * pro_init.c: Consistent layout for if statements.
111
+ * pro_section.c: Consistent layout for if statements.
112
+ 2012-11-14 DavidAnderson <davea42@earthlink.net>
113
+ * dwarf_loc.c: DW_OP_GNU_implicit_pointer requires a version stamp
114
+ to work correctly. Created a new function
115
+ dwarf_loclist_from_expr_b()
116
+ to allow clients to expicitly pass the version stamp.
117
+ Most clients can continue to use the old interface.
118
+ * libdwarf.h: Declaring new function dwarf_loclist_from_expr_b()
119
+ * libdwarf2.1.mm: Documenting dwarf_loclist_from_expr_b()
120
+ * libdwarf2.1.pdf: Regenerated.
121
+ 2012-10-31 DavidAnderson <davea42@earthlink.net>
122
+ * CODINGSTYLE: Added some small details here.
123
+ 2012-04-04 DavidAnderson <davea42@earthlink.net>
124
+ * libdwarf.h: A pointer "*" was right next to
125
+ a "/*" so a space introduced between them for clarity.
126
+ Fixed comments on DW_DLC_SIZE_64 and DW_DLC_SIZE_32.
127
+ * dwarf_die_deliv.c: Two local variables were declared in the
128
+ middle of code, accidentally creating C99 dependencies.
129
+ Both trivially fixed with no change in logic.
130
+ 2012-01-01 DavidAnderson <davea42@earthlink.net>
131
+ * A new year starts.
@@ -0,0 +1,238 @@
1
+ 2013-12-26 David Anderson
2
+ * pro_section.c, pro_types.c, pro_vars.c, pro_weaks.c, pro_forms.c,
3
+ pro_frame.c,pro_funcs.c,pro_init.c,pro_line.c,pro_macinfo.c,
4
+ pro_pubnames.c,pro_reloc.c,pro_reloc_stream.c,pro_reloc_symbolic.c,
5
+ pro_expr.h,pro_macinfo.h,pro_reloc.h,pro_reloc_stream.h,
6
+ pro_reloc_symbolic.h,pro_section.h,pro_types.h,pro_util.h:
7
+ Remove trailing whitespace from the code.
8
+ 2013-11-24 David Anderson
9
+ * pro_expr.c(dwarf_add_expr_gen): Moved use of a pointer
10
+ to be after where the pointer tested for NULL.
11
+ * pro_forms.c(local_add_AT_address): Moved use of a pointer
12
+ to be after where the pointer tested for NULL.
13
+ Both bugs found by the STACK code analysis tool from MIT.
14
+ 2013-10-31 David Anderson
15
+ * dwarf_error.c: Added DW_DLE_AT_FIXUP_NULL and
16
+ DW_DLE_AT_FIXUP_DUP.
17
+ * libdwarf.h.in: Added those two defines plus dwarf_add_AT_reference_b()
18
+ and dwarf_fixup_AT_reference_die() for CLASS REFERENCE attribute
19
+ handling. Also, dwarf_add_AT_with_ref_sig8() for refsig8
20
+ references.
21
+ * libdwarf2p.1.mm: version 1.34 20 October. Document new interfaces.
22
+ Fixed typo in dwarf_add_AT_targ_address_b() documentation.
23
+ * libdwarf2p.1.pdf: Regenerated.
24
+ * pro_die.c. Added commentary.
25
+ * pro_forms.c: Added reference support with dwarf_add_AT_reference_b()
26
+ and refactoring to avoid duplicating code.
27
+ Added dwarf_add_AT_with_ref_sig8()
28
+ * pro_section.c: now only adds DW_AT_sibling automatically
29
+ if it was not present already. Still only adds it
30
+ in the same automatically-selected places.
31
+ Some renaming of local variables for clarity around line 1743.
32
+ One line reformatted, it was looking very odd, line 2217.
33
+ 2013-10-17 David Anderson
34
+ * dwarf_error.c: Add DW_DLE_DEBUGPUBTYPES_ERROR string.
35
+ * libdwarf.h.in: Add DW_DLE_DEBUGPUBTYPES_ERROR and fix
36
+ DW_DLE_LAST. Add dwarf_add_pubtype() interface.
37
+ * libdwarf2.1.mm: References to Dwarf_Pubtype changed
38
+ to Dwarf_Type, using the same interface type
39
+ as for .debug_types (an SGI extension). Now at rev 2.15.
40
+ Clarified that pubnames and pubtypes only apply to
41
+ .debug_info.
42
+ * libdwarf2.1.pdf: Regenerated.
43
+ * pro_opaque.h: Added DEBUG_PUBTYPES and updated
44
+ NUM_DEBUG_SECTIONS.
45
+ * pro_pubnames.c: Added dwarf_add_pubtype() support.
46
+ * pro_section.c: Added support for pubtypes.
47
+ 2013-10-14 David Anderson
48
+ * libdwarf.h.in: Dwarf_Callback_Func_c,
49
+ Dwarf_Callback_Func_b and Dwarf_Callback_Func name argument
50
+ was lacking a const qualifier leading to compiler warnings.
51
+ Now has const qualifier.
52
+ 2013-08-15 David Anderson
53
+ * dwarf_alloc.c: Now uses dwarf_printf instead of printf.
54
+ And frees the dwarf_printf dp_buffer if appropriate.
55
+ * dwarf_line.c, dwarf_print_lines.c: Now use dwarf_printf
56
+ instead of printf.
57
+ * dwarf_line.c: Update copyright year.
58
+ * dwarf_opaque.h: Add de_printf_callback to Dwarf_Debug struct.
59
+ Add dwarf_printf to function prototypes.
60
+ * dwarf_util.c: Implement dwarf_printf.
61
+ * libdwarf.h.in: Now specifies struct Dwarf_Printf_Callback_Info_s and
62
+ dwarf_register_printf_callback();
63
+ * libdwarf2.1.mm: Version 2.14. Fixed three tables with too-long lines.
64
+ Documented the new printf callback registration functions.
65
+ * libdwarf2.1.pdf: Regenerated.
66
+ 2013-08-13 David Anderson
67
+ * dwarf_init_finish.c:
68
+ * dwarf_query.c: Added dwarf_highpc_b() so consumers can deal
69
+ with DW_AT_high_pc with form constant (a feature of DWARF4).
70
+ * libdwarf.h.in: Added dwarf_highpc_b(),
71
+ dwarf_add_AT_any_value_sleb(), dwarf_add_AT_any_value_uleb().
72
+ to give producers more flexibility.
73
+ Moved the Dwarf_Form_Class declaration closer to the
74
+ head of the file so the new function prototypes can reference it.
75
+ * libdwarf2.1.mm: Version 2.13. Added dwarf_highpc_b().
76
+ * libdwarf2.1.pdf: Regenerated.
77
+ * libdwarf2p.1.mm: Version 1.33. Documents
78
+ dwarf_add_AT_any_value_sleb() and
79
+ dwarf_add_AT_any_value_uleb().
80
+ Fixes a one-character typo that was truncating the document severely.
81
+ * libdwarf2p.1.pdf: Regenerated.
82
+ * pro_forms.c: Implements dwarf_add_AT_any_value_sleb() and
83
+ dwarf_add_AT_any_value_uleb().
84
+ 2013-08-09 David Anderson
85
+ * dwarf_init_finish.c: Spelling, change _dwarf_assume_string_bad->
86
+ _dwarf_assume_string_in_bound to reflect the actual meaning.
87
+ * dwarf_alloc.c: Change a debug message for DWARF_SIMPLE_MALLOC
88
+ to write to stdout, not stderr. All non-fatal messages now
89
+ print to stdout.
90
+ * libdwarf2.1.mm: Now version 2.12. Corrected the
91
+ description of dwarf_set_stringcheck().
92
+ * libdwarf2.1.pdf: Regenerated.
93
+ 2013-08-08 David Anderson
94
+ * dwarf_form.c: When a FORM_string attribute is in
95
+ debug_types it is now correctly dealt with.
96
+ 2013-08-07 David Anderson
97
+ * dwarf_init_finish.c: Changed a nonfatal error to
98
+ write it to stdout instead of stderr to make it easier
99
+ to understand the context of the error (which involves
100
+ the number of debug sections, not something anyone
101
+ should ever see).
102
+ 2013-07-28 David Anderson
103
+ * dwarf_abbrev.c, dwarf_frame.c, dwarf_frame3.c,dwarf_line.c,
104
+ pro_reloc_stream.c, pro_section.c:
105
+ Rename local variables to avoid
106
+ compiler warnings about local variables reusing
107
+ outer scope (including global) names.
108
+ * dwarf_elf_access.c: Add AARCH64 support.
109
+ * dwarf_reloc_arm.h: Add AARCH64 support.
110
+ * libdwarf2.1.mm: dwarf_highpc() documentation admits
111
+ it does not work properly for DWARF4 in all cases.
112
+ dwarf_highpc() needs to be fixed.
113
+ * libdwarf2.1.pdf: Regenerated
114
+ 2013-06-08 David Anderson
115
+ * libdwarf2.1.mm: Improved the documentation of
116
+ dwarf_highpc() function to suggest how to interpret
117
+ the value (pc or offset).
118
+ * libdwarf2.1.pdf: Regenerated.
119
+ 2013-03-08 David Anderson
120
+ * dwarf_elf_access.c: Now we handle K10M and L10M
121
+ as having relocations named as in x86, x86_64.
122
+ 2013-02-07 David Anderson
123
+ * dwarf_elf_access.c: FreeBSD did not have R_PPC64_ADDR32
124
+ as a relocation name, so changed one name to be the name
125
+ usable in Ubuntu and FreeBSD, R_PPC_ADDR32.
126
+ 2013-02-01 David Anderson
127
+ * libdwarf2.1.mm: Improved the documentation of the
128
+ badly-named functions dwarf_whatform() and
129
+ dwarf_whatform_direct().
130
+ * libdwarf2.1.pdf: Regenerated.
131
+ * libdwarf.h.in: The arguments to dwarf_whatform[_direct]()
132
+ are renamed for clarity. They are commented out, so
133
+ this is just improving documentation.
134
+ 2013-01-20 David Anderson
135
+ * libdwarf.h: Removed.
136
+ * libdwarf.h.in: Added. Identical content to standard libdwarf.
137
+ * configure.in: Generates libdwarf.h.
138
+ Notices if struct _Elf in libelf.h and generates libdwarf.h
139
+ appropriately.
140
+ * configure: Regenerated
141
+ * README now mentions the libdwarf.h generation at configure time.
142
+ 2013-01-28 David Anderson
143
+ * dwarf_frame.c: Fix a macro so it does not test unsigned
144
+ numbers as being less than zero. Fixes a compiler warning.
145
+ * malloc_check.c: Add void as the parameter list of a
146
+ parameter-less function. Fixes a compiler warning.
147
+ 2013-01-26 David Anderson
148
+ * libdwarf.h: Remove the lc_number3 field to restore
149
+ interface binary compatibility with earlier releases.
150
+ * dwarf_loc.c, dwarf_loc.h: No longer uses the removed
151
+ lc_number3 or lr_number3 fields.
152
+ 2013-01-25 David Anderson
153
+ * dwarf_alloc.c: Changed some local names to avoid
154
+ compiler warnings about redefining names in inner contexts.
155
+ * dwarf_frame2.c: Changed some local names to avoid
156
+ compiler warnings about redefining names in inner contexts.
157
+ Added const to some declarations to avoid warnings
158
+ about const being cast away.
159
+ * dwarf_init_finish.c: Added const to some declarations
160
+ to avoid warnings about const being cast away.
161
+ Changed some local names to avoid
162
+ compiler warnings about redefining names in inner contexts.
163
+ * dwarf_line.c, dwarf_print_lines.c: Added const to some declarations
164
+ to avoid warnings about const being cast away.
165
+ Added static to function definition to reflect its use
166
+ and to avoid warning about lack of a visible prototype.
167
+ * gennames.c: Using C89/90 void to declare functions with
168
+ no arguments to avoid compiler warnings about using old style
169
+ declarations.
170
+ Changed some local names to avoid
171
+ compiler warnings about redefining names in inner contexts.
172
+ Added const to some declarations to avoid warnings
173
+ about const being cast away.
174
+ * pro_incl.h: WRITE_UNALIGNED macros now cast with const
175
+ to avoid warnings about const being cast away.
176
+ * pro_macinfo.c,pro_section.c,pro_section.h: Added const
177
+ to some declarations to avoid warnings about const being cast away.
178
+ 2013-01-25 David Anderson
179
+ * common.c: Add 'const' on string declarations to avoid
180
+ compiler warnings.
181
+ * dwarf_loc.h: Add the new field lc_number3 to handle
182
+ DW_OP_GNU_const_type properly.
183
+ * dwarf_loc.c: Handle DW_OP_GNU_const_type properly.
184
+ * libdwarf.h: Add lr_number3 so we can handle DW_OP_GNU_const_type
185
+ properly. This destroys binary compatibility. Not a good idea.
186
+ See Jan 26, above.
187
+ 2013-01-25 David Anderson
188
+ * dwarf_loc.c: Use cc_length_size, not cc_length to get
189
+ the offset size. Nasty bug.
190
+ * dwarf_opaque.h: Change commentary to clarify the cc_length
191
+ field content to hopefully avoid making that mistake again.
192
+ 2013-01-15 David Anderson
193
+ * dwarf.h: defines for some added DW_OP_GNU operators
194
+ * dwarf_loc.c: Added support for some DW_OP_GNU operators.
195
+ * config.h.in, configure.in: Define and set HAVE_STRUCT_UNDERSCORE_ELF
196
+ as FreeBSD names struct _Elf instead of struct Elf.
197
+ * configure: Regenerated.
198
+ * dwarf_alloc.c: Initialize a local var at declaration, add const
199
+ to array of strings type declaration.
200
+ * dwarf_alloc.h: Change ah_structs_per_chunk to Dwarf_Sword
201
+ to eliminate a compiler warning.
202
+ * dwarf_arange.c: Change a couple Dwarf_Unsigned to Dwarf_Signed
203
+ to eliminate a compiler warning.
204
+ * dwarf_die_deliv.c: Change local to Dwarf_Unsigned to eliminate
205
+ signed compare warning (and actually signed was wrong anyway!).
206
+ * dwarf_error.c: Fix comparison to eliminate signed/unsigned
207
+ compare warning.
208
+ * dwarf_form.c: Index variable changed to unsigned to
209
+ eliminate signed/unsigned comparison warning.
210
+ * dwarf_frame.c: Local variables changed to unsigned to
211
+ eliminate signed/unsigned comparison warnings.
212
+ * dwarf_frame3.c: Local variables changed to unsigned to
213
+ eliminate signed/unsigned comparison warnings.
214
+ * dwarf_init_finish.c: Local variable changed to unsigned to
215
+ eliminate signed/unsigned comparison warning.
216
+ * dwarf_leb.c: Local variable changed to unsigned to
217
+ eliminate signed/unsigned comparison warning.
218
+ * dwarf_line.c: Changed index variable to unsigned to
219
+ eliminate signed/unsigned comparison warning.
220
+ * dwarf_loc.c: Delete two unused local variables.
221
+ * dwarf_loc.c: Delete two unused local variables.
222
+ * dwarf_macro.c: Fixed comparisons
223
+ eliminate signed/unsigned comparison warning.
224
+ * dwarf_opaque.h: Changed cc_abbrev_offset and de_fde_count
225
+ to unsigned (which they should have been all along) to
226
+ eliminate signed/unsigned comparison warnings.
227
+ * dwarf_print_lines.c: Local variable changed to unsigned to
228
+ eliminate signed/unsigned comparison warning.
229
+ * dwarf_util.c: Add include of pro_encode_nm.h to avoid
230
+ a compiler warning. Changed index variable to unsigned to
231
+ eliminate signed/unsigned comparison warning.
232
+ * libdwarf.h: Add ability to handle struct _Elf.
233
+ * pro_alloc.c: Move an include of malloc.h as it is
234
+ not needed if stdlib.h is present.
235
+ * pro_forms.c: Changed index variable to unsigned to
236
+ eliminate signed/unsigned comparison warning.
237
+ * pro_util.h: Add specific allowance for FreeBSD include and
238
+ relocation.