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,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.