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,348 @@
1
+ 2009-12-30 DavidAnderson <davea42@earthlink.net>
2
+ * configure: Regenerated with autoconf 2.64.
3
+ * config.guess, config.sub: Delete these.
4
+ * configure.in, README: The --enable-nonshared
5
+ option was coded incorrectly. The configure
6
+ options are --enable-shared and --disable-nonshared
7
+ work correctly. Options --disable-shared and --enable-nonshared work
8
+ correctly as well (these are the default values).
9
+ 2009-12-29 DavidAnderson <davea42@earthlink.net>
10
+ * gennames.c: Add cast to int in printf so that the printf with *
11
+ as the field width sees an int, not size_t.
12
+ * Makefile.in: Add depenencies for libdwarf.so to match
13
+ libdwarf.a
14
+ 2009-12-26 DavidAnderson <davea42@earthlink.net>
15
+ * libdwarf.h, pro_section.c, pro_reloc_symbolic.c: Reformatted
16
+ a few lines that were badly formatted.
17
+ Initialized local variables where a few were not initialized
18
+ (this did not affect correctness, just readability).
19
+ 2009-11-27 DavidAnderson <davea42@earthlink.net>
20
+ * dwarf_form.c: Was an incorrect implemenation of
21
+ the reading of DW_FORM_sec_offset.
22
+ * libdwarf2.1.mm: Improved the documentation on reading DW_FORM_sec_offset.
23
+ See dwarf_global_formref() documentation.
24
+ * libdwarf2.1.pdf: Regenerate.
25
+ 2009-11-27 DavidAnderson <davea42@earthlink.net>
26
+ * libdwarf.h, dwarf_form.c, dwarf_query.c: Adding
27
+ new form-class for the old DW_AT_MIPS_fde
28
+ SGI/IRIX extension (offset into .debug_frame).
29
+ 2009-11-27 DavidAnderson <davea42@earthlink.net>
30
+ * libdwarf.h: Added dwarf_formexprloc() and a new
31
+ error code for it.
32
+ * dwarf_query.c: The new dwarf_get_form_class()
33
+ function had a typo for the address class.
34
+ * dwarf_form.c: dwarf_formexprloc() added so one can read
35
+ DW_FORM_exprloc location expressions.
36
+ * dwarf_error.c: New error added for dwarf_formexprloc().
37
+ * libdwarf2.1.mm: Document dwarf_formexprloc().
38
+ * libdwarf2.1.pdf: Regenerate.
39
+ 2009-11-27 DavidAnderson <davea42@earthlink.net>
40
+ * libdwarf.h: Defines typedef Dwarf_Sig8 and
41
+ the new function dwarf_formsig8().
42
+ * dwarf_error.c: Now deals with the latest
43
+ error codes, including a new one for dwarf_formsig8().
44
+ * libdwarf2.1.mm: Document dwarf_formsig8().
45
+ * libdwarf2.1.pdf: Regenerate.
46
+ 2009-11-24 DavidAnderson <davea42@earthlink.net>
47
+ * libdwarf.h: Added enum dwarf_form_class_e and
48
+ dwarf_get_form_class() so clients have a simple
49
+ way to get the form-class mentioned in the DWARF
50
+ specification.
51
+ * dwarf_query.c: Implemented dwarf_get_form_class().
52
+ * dwarf_die_deliv.c: Added dwarf_next_cu_header_b()
53
+ function as more useful than dwarf_next_cu_header().
54
+ * dwarf_opaque.h: Added commentary about CU record.
55
+ * dwarf_elf_access.c: Added commentary about the CU header
56
+ data.
57
+ * libdwarf2.1.mm: Document dwarf_next_cu_header_b()
58
+ and suggest users convert to it.
59
+ Document dwarf_get_form_class(). Rev 1.84
60
+ * libdwarf2.1.pdf: Regenerate.
61
+ 2009-11-23 DavidAnderson <davea42@earthlink.net>
62
+ * dwarf_line.c: file_name_is_full_path() did not
63
+ allow for lower case in Windows root path
64
+ detection (with --enable-windowspath at configure
65
+ time). Now it does.
66
+ 2009-11-17 DavidAnderson <davea42@earthlink.net>
67
+ * gennames.c: Check the return value from fgets().
68
+ * dwarf_form.c, dwarf_util.c: Handle DW_FORM_sec_offset, new in DWARF4.
69
+ * libdwarf2.1.mm: Add comment to macro example to clarify its
70
+ limitation (it cannot always work).
71
+ * libdwarf2.1.pdf: Regenerate.
72
+ 2009-09-30 DavidAnderson <davea42@earthlink.net>
73
+ * libdwarf.h: Added dwarf_insert_fde_inst_bytes()
74
+ to simplify copying an fde. Added dwarf_get_cie_index()
75
+ to provide a direct specific way to get a cie index for an fde.
76
+ * libdwarf2.1.mm: Minor reformatting to make things easier to read.
77
+ This is revision 1.82. Documented the new function
78
+ dwarf_get_cie_index().
79
+ * libdwarf2.1.pdf: Regenerated.
80
+ * dwarf.h: Corrected typo, DW_CFA_cfa_offset_extended_sf is
81
+ really spelled DW_CFA_offset_extended_sf.
82
+ Added final new attributes, tag, language.
83
+ * pro_alloc.c: Reformatting a comment so the line is not so long.
84
+ * libdwarf2p.1.mm: Clarified that some arguments in fde
85
+ creation are MIPS/IRIX only (other targets should just pass 0).
86
+ This is revision 1.27. Document the new function
87
+ dwarf_insert_fde_inst_bytes().
88
+ * libdwarf2p.1.pdf: Regenerated.
89
+ * config.h.in: Added HAVE_WINDOWS_PATH.
90
+ * configure.in: Added --enable-windowspath to set
91
+ HAVE_WINDOWS_PATH.
92
+ * configure: Regenerated.
93
+ * pro_section.c: Now allows use of a block of fde instructions
94
+ from dwarf_insert_fde_inst_bytes(). Some indentation fixed too.
95
+ * dwarf_line.c: Added detection of Windows full path if
96
+ HAVE_WINDOWS_PATH defined at library build time.
97
+ * pro_frame.c: Now handles dwarf3 CFA operations (but not the
98
+ expression operands yet). Removed some duplicated code in
99
+ a switch statement. Fixed commentary typos.
100
+ Created new function dwarf_insert_fde_inst_bytes().
101
+ * pro_frame.h: Added fields to support dwarf_insert_fde_inst_bytes().
102
+ * dwarf_arange.c: dwarf_get_arange_cu_header_offset() was
103
+ failing to load .debug_info, so a legitimate use of the function
104
+ might crash a client.
105
+ * dwarf_frame2.c: If there are CIE records but no FDEs this
106
+ is not considered a 'NO ENTRY' case. It is strange
107
+ but not a formal error and we might want to access the orphan
108
+ CIE records (to print them when debugging a compiler, for example).
109
+ * README: Documented --enable-windowspath.
110
+ * dwarf_frame.c: Adding dwarf_get_cie_index() convenience function.
111
+ 2009-09-09 DavidAnderson <davea42@earthlink.net>
112
+ * libdwarf2p.1.mm: Improved the discussion of
113
+ dwarf_transform_to_disk_form.
114
+ * libdwarf2p.1.pdf: Regenerated.
115
+ 2009-08-12 DavidAnderson <davea42@earthlink.net>
116
+ * pro_section.c: The Dwarf_Die argument to fde creation
117
+ functions is really optional (NULL is ok) and only used
118
+ for an IRIX/MIPS extension. So the code now allows
119
+ a NULL Dwarf_Die argument for these functions.
120
+ * libdwarf2p.1.mm: Rev 1.24, 11 Aug 2009 now documents
121
+ the argument as NULL for most users.
122
+ * libdwarf2p.1.pdf: Regenerated Rev 1.24, 11 Aug 2009.
123
+ 2009-08-07 DavidAnderson <davea42@earthlink.net>
124
+ * libdwarf.h: Added to Dwarf_Regtable_Entry_s
125
+ and Dwarf_Regtable_Entry_s comments.
126
+ * libdwarf2.1.mm: Revised dwarf_set_frame_rule_table_size()
127
+ description, making it a bit more complete.
128
+ * libdwarf2.1.pdf: Regenerated, rev 1.81, 07 August 2009.
129
+ 2009-08-05 DavidAnderson <davea42@earthlink.net>
130
+ * libdwarf.h: Interface to dwarf_expand_frame_instructions()
131
+ changed, the original could not really work right.
132
+ * libdwarf2.1.mm: Documented revised dwarf_expand_frame_instructions().
133
+ * libdwarf2.1.pdf: Regenerated, rev 1.80, 05 August 2009.
134
+ * dwarf_frame.c: Fixed dwarf_expand_frame_instructions();
135
+ 2009-08-05 DavidAnderson <davea42@earthlink.net>
136
+ * gennames.c: Change include from getopt.h to unistd.h
137
+ so the code is more universally compilable.
138
+ 2009-07-24 DavidAnderson <davea42@earthlink.net>
139
+ * dwarf_frame.c: Change debug printf to use libdwarf.h DW_PR macros
140
+ instead of %d.
141
+ 2009-07-20 DavidAnderson <davea42@earthlink.net>
142
+ * libdwarf.h: Added DW_DLE_NO_ELF64_SUPPORT.
143
+ * dwarf_elf_access.c: If one has no Elf64 libelf support at build time
144
+ and runtime one finds an Elf64 object then we return
145
+ an error (DW_DLE_NO_ELF64_SUPPORT). Pretending we could handle
146
+ the elf64 was a bug.
147
+ * dwarf_error.c: Adding strings for new error codes.
148
+ * dwarf_elf_access.c: Add error code argument.
149
+ * dwarf_elf_access.h: Add error code argument.
150
+ * dwarf_original_elf_init.c: Report the correct error code instead
151
+ of a generic code.
152
+
153
+ 2009-07-16 DavidAnderson <davea42@earthlink.net>
154
+ * libdwarf.h: Add an error message define relating to rela relocations.
155
+ * dwarf_alloc.c: Add code to free malloc space (related
156
+ to rela relocations).
157
+ * config.h.in: Add ifdef for Sun host machines so rela processing
158
+ does not segv.
159
+ * dwarf_opaque.h: Add a flag to the section data to note that we malloced
160
+ space when rela relocations are involved.
161
+ * dwarf_elf_access.c: Refine is_32bit_abs_reloc() and
162
+ is_64bit_abs_reloc() for easier debugging.
163
+ Add malloc call when doing rela processing
164
+ as some host libelf libraries make some libelf data areas read-only
165
+ (Solaris and Irix for example). The malloc space avoids getting
166
+ a segv.
167
+ 2009-07-13 DavidAnderson <davea42@earthlink.net>
168
+ * dwarf_elf_access.c: some cases had = where == was
169
+ needed in the reloc switch code.
170
+ 2009-07-05 DavidAnderson <davea42@earthlink.net>
171
+ * dwarf_opaque.h: New data for .rela and unify section data
172
+ information. The changes will require consumers supporting
173
+ non-elf-objects to make small (hopefully simple) changes.
174
+ * dwarf_init_finish.c: Note existence of .rela sections.
175
+ * pro_forms.c: Explicitly allow DW_AT_const_value,
176
+ DW_AT_entry_pc, DW_AT_call_file, DW_AT_call_line.
177
+ * dwarf_ranges.c: Use simplified _dwarf_load_section() interface.
178
+ Change an accidental C++ style // comment to oldstyle C comment.
179
+ * dwarf_print_lines.c, dwarf_form.c, dwarf_query.c,
180
+ dwarf_vars.c, dwarf_pubtypes.c, dwarf_frame3.c, dwarf_funcs.c,
181
+ dwarf_arange.c, dwarf_global.c, dwarf_init_finish.c,
182
+ dwarf_line.c, dwarf_opaque.h, dwarf_string.c, dwarf_weaks.c
183
+ dwarf_util.c, dwarf_loc.c, dwarf_frame.c, dwarf_macro.c,
184
+ dwarf_types.c: Use simplified _dwarf_load_section() interface.
185
+
186
+ 2009-07-05 DavidAnderson <davea42@earthlink.net>
187
+ * dwarf_init_finish.c: Unified some common code into
188
+ a new local function , reducing file by 60 lines.
189
+ * dwarf_init_finish.c: Has long checked the wrong field
190
+ for duplicate debug_info and debug_abbrev. Fixed.
191
+ Also noted SGI IRIX only sections by adding comments.
192
+ 2009-07-04 DavidAnderson <davea42@earthlink.net>
193
+ * libdwarf.h: Adding new function dwarf_CU_dieoffset_given_die(),
194
+ and comments on dwarf_get_cu_die_offset_given_cu_header_offset();
195
+ * libdwarf2.1.mm: documenting dwarf_CU_dieoffset_given_die().
196
+ * libdwarf2.1.pdf: Regenerated.
197
+ * dwarf_opaque.h: New structure Dwarf_Section_s consolidates
198
+ section information into one struct per section with
199
+ index and size so we remove many Dwarf_Debug_s fields.
200
+ * dwarf_print_lines.c, dwarf_form.c, dwarf_query.c, dwarf_vars.c,
201
+ dwarf_pubtypes.c, dwarf_frame3.c, dwarf_funcs.c,
202
+ dwarf_alloc.c, dwarf_arange.c, dwarf_init_finish.c ,
203
+ dwarf_ranges.c, dwarf_line.c, dwarf_abbrev.c, dwarf_string.c,
204
+ dwarf_weaks.c, dwarf_frame2.c, dwarf_util.c, dwarf_loc.c,
205
+ dwarf_die_deliv.c, dwarf_frame.c, dwarf_macro.c, dwarf_types.c,
206
+ Reflect Dwarf_Section_s addition using its fields.
207
+ Simplify years list of SGI copyright using y-y replacing comma list.
208
+ Minor reformatting for consistency with 4-space indentation.
209
+ Initialize uninitialized local variables at declaration.
210
+ * dwarf_addr_finder.c, dwarf_print_lines.c: Initialize 'res'
211
+ local variables at declaration to DW_DLV_ERROR.
212
+ * dwarf_global.c: Add dwarf_CU_dieoffset_given_die().
213
+ Reflect Dwarf_Section_s addition using its fields.
214
+ Simplify years list of SGI copyright using y-y replacing comma list.
215
+ Minor reformatting for consistency with 4-space indentation.
216
+ Initialize uninitialized local variables at declaration.
217
+ 2009-06-06 DavidAnderson <davea42@earthlink.net>
218
+ * configure.in: The new option --enable_namestable
219
+ switches build time to generate a runtime binary search
220
+ in the dwarf_get_TAG_name() etc functions instead of the
221
+ default switch statement (for the rare case one knows a
222
+ compiler generates poor switch code).
223
+ * configure: regenerated.
224
+ * libdwarf.h: Correct format mistakes and omissions in
225
+ the Dwarf_Regtable_Entry3_s comments.
226
+ Add prototypes for dwarf_get_TAG_name() and the related
227
+ new functions.
228
+ * dwarf_frame.c: Add {} to clarify some 'if' ranges.
229
+ Remove code updating the DW_FRAME_CFA_COL row when finishing
230
+ up establishing the current frame table. The code should never
231
+ have been there. Fixed some indentation of function
232
+ formal parameters. Removed use of DW_FRAME_CFA_COL
233
+ and use de_frame_cfa_col_number instead.
234
+ In dwarf_get_fde_info_for_reg (the older interface)
235
+ correctly return the cfa table column in the 'old style'.
236
+ * gennames.c: Copied from dwarfdump.c (with changes).
237
+ This generates dwarf_names.c so that libdwarf has
238
+ functions like dwarf_get_TAG_name() which returns
239
+ functions like dwarf_get_TAG_name() which returns
240
+ the tag as a string (through a pointer argument).
241
+ * dwarf.h: The first word of a comment is now capitalized (1 place).
242
+ * common.c: New, used by gennames.c.
243
+ * common.h: New, used by gennames.c
244
+ * Makefile.in: Now contains changes which build and run
245
+ gennames and create dwarf_names.o (which is part
246
+ of libdwarf).
247
+ * libdwarf2.1.mm: Document the new libdwarf functions.
248
+ * libdwarf2.1.pdf: Regenerated as rev 1.76, 6 June 2009.
249
+ 2009-06-05 DavidAnderson <davea42@earthlink.net>
250
+ * dwarf.h: added new DWARF4 attribute (etc) defines.
251
+ 2009-05-10 DavidAnderson <davea42@earthlink.net>
252
+ * dwarf_frame.c: Remove use of DW_FRAME_UNDEFINED_VAL in
253
+ favor of the value in the dbg structure.
254
+ Adding comments about the meaning of an error case.
255
+ 2009-05-07 DavidAnderson <davea42@earthlink.net>
256
+ * Makefile.in: Ensure temp files all get deleted.
257
+ 2009-05-04 DavidAnderson <davea42@earthlink.net>
258
+ * dwarf_die_deliv.c: Update _dwarf_get_size_of_val()
259
+ call (with its new address_size argument).
260
+ * dwarf_frame.c: Use the new ci_address_size instead
261
+ of de_pointer_size.
262
+ * dwarf_frame.h: Added ci_address_size to cie
263
+ in preparation for this value in DWARF4.
264
+ * dwarf_util.h: Adding address_size functions
265
+ and arguments declarations so address_size can vary by CU.
266
+ * dwarf_util.c: Adding address_size functions
267
+ and arguments so address_size can vary by CU.
268
+ * dwarf_loc.c: Adding function dwarf_loclist_from_expr_a()
269
+ as a version with an address size argument.
270
+ * dwarf_frame2.c: Now initializes new ci_address_size field.
271
+ * dwarf_line.c: Now uses address size for CU instead of
272
+ default de_pointer_size.
273
+ * dwarf_ranges.c: File left out of svn before.
274
+ Implements dwarf_get_ranges() and dwarf_get_ranges_a(),
275
+ the latter is new with address size passed in via a DIE pointer.
276
+ * dwarf_arange.c: Added commentary. Removed erroneous
277
+ insistence that every aranges group have the same
278
+ address_size as the main elf object.
279
+ * dwarf_query.c: Adding address size to internal calls.
280
+ * dwarf_print_lines.c: Added '(file number is %d)'
281
+ to -l -v -v -v output as the
282
+ file number and traditional C zero-origin index index of a
283
+ line table header are not the same value
284
+ (see DWARF3 documentation, the end of section 6.2.5.3).
285
+ * libdwarf2.1.mm: Documented dwarf_loclist_from_expr_a()
286
+ and dwarf_get_ranges_a().
287
+ * libdwarf2.1.pdf: Regenerated.
288
+ * libdwarf.h: Add commentary.
289
+ Add dwarf_loclist_from_expr_a() and
290
+ dwarf_get_ranges_a() interfaces so address_size passed in.
291
+ 2009-04-04 DavidAnderson <davea42@earthlink.net>
292
+ * libdwarf.h, dwarf_frame.c: Added dwarf_set_frame_cfa_value().
293
+ Added dwarf_set_frame_rule_initial_value() as proper
294
+ spelling of dwarf_set_frame_rule_inital_value(), keeping
295
+ the old spelling for compatibility.
296
+ * libdwarf2.1.mm: Documented Added dwarf_set_frame_cfa_value(),
297
+ corrected spelling to dwarf_set_frame_rule_initial_value().
298
+ * libdwarf2.1.pdf: Regenerated.
299
+ * dwarf_opaque.h: Added field de_frame_cfa_col_number so that
300
+ we do not need to use magic macros at execution time.
301
+ * dwarf_init_finish.c: Now sets de_frame_cfa_col_number,
302
+ de_frame_same_value_number, and de_frame_undefined_value_number.
303
+ 2009-02-02 DavidAnderson <davea42@earthlink.net>
304
+ * dwarf.h: Added dwarf extensions reported by
305
+ John Bishop.
306
+ 2009-03-30 DavidAnderson <davea42@earthlink.net>
307
+ * dwarf.h: Added dwarf extensions reported
308
+ on the dwarf-workgroup mailing list by John DelSignore.
309
+ 2009-03-19 DavidAnderson <davea42@earthlink.net>
310
+ * libdwarf.h: Expanded comments.
311
+ * dwarf_die_deliv.c: Expanded comments.
312
+ 2009-03-16 DavidAnderson <davea42@earthlink.net>
313
+ * libdwarf.h: Fixed several instances of
314
+ inconsistent indentation. Documented arguments
315
+ to dwarf_uncompress_integer_block().
316
+ 2009-02-17 DavidAnderson <davea42@earthlink.net>
317
+ * dwarf_print_lines.c,dwarf_line.c,dwarf_frame.c: C99-isms
318
+ of // comments and declarations-in-code do not belong in
319
+ libdwarf.
320
+ 2009-02-14 DavidAnderson <davea42@earthlink.net>
321
+ * libdwarf.h: Add support for compile-time definition
322
+ of the format for Dwarf_Unsigned types.
323
+ Using macros for DW_PR_DUx etc.
324
+ * dwarf_print_lines.c: Use the DW_PR_DUx macros.
325
+ * configure.in: Define --enable-nonstandardprintf
326
+ * config.h.in: new #undef HAVE_NONSTANDARD_PRINTF_64_FORMAT
327
+ * configure: Regenerated.
328
+ * config.guess, config.sub: Latest version from GNU.
329
+ * dwarf_line.c: Use the DW_PR_DUx macros.
330
+ * dwarf_frame2.c: Use the DW_PR_DUx macros.
331
+ * README: document --enable-nonstandardprintf
332
+
333
+ 2009-02-13 DavidAnderson <davea42@earthlink.net>
334
+ * libdwarf.h: Added argument to dwarf_print_lines()
335
+ for better error reporting. Added dwarf_check_lineheader()
336
+ which allows some error reporting when not calling dwarf_print_lines().
337
+ * dwarf_print_lines.c: Implements dwarf_check_lineheader() now.
338
+ * dwarf_sort_line.c: Match up with new arguments to
339
+ dwarf_read_line_table_prefix().
340
+ * dwarf_line.c: Implement new arguments to
341
+ dwarf_read_line_table_prefix() for better error reporting.
342
+ Allow erroneous ARM-compiler line table header to be used.
343
+ * dwarf_line.h: Adding new argument to dwarf_read_line_table_prefix
344
+ so we can report back on minor errors in the line table prefix.
345
+ 2009-01-31 DavidAnderson <davea42@earthlink.net>
346
+ * libdwarf.h: Corrected DW_DLE_LAST.
347
+ * dwarf_frame.c: Remove accidental use of C99 mid-block
348
+ variable definition.
@@ -0,0 +1,175 @@
1
+ 2010-10-13 DavidAnderson <davea42@earthlink.net>
2
+ * dwarf.h: Added DW_LANG_Go as 0x0015 per discussion on
3
+ mailing list.
4
+ 2010-09-29 DavidAnderson <davea42@earthlink.net>
5
+ * README: Document that there is no install target and
6
+ update some of the old references to postscript to refer
7
+ to pdf.
8
+ * Makefile.in: A dummy install target provided though it
9
+ gets ignored by make.
10
+ 2010-09-20 DavidAnderson <davea42@earthlink.net>
11
+ * libdwarf/libdwarf.h: Added commentary about markers.
12
+ * libdwarf/libdwarf2p.1.mm: Documented the marker calls.
13
+ * libdwarf/libdwarf2p.1.pdf: Regeenerated, ver 1.29.
14
+ 2010-06-30 DavidAnderson <davea42@earthlink.net>
15
+ * dwarf.h: Add DW_ISA_ARM values for DW_LNS_set_isa.
16
+ 2010-06-01 DavidAnderson <davea42@earthlink.net>
17
+ * README: Document issues with building on MacOSX and
18
+ how to deal with them.
19
+ * Makefile.in: Added comment about ar -s for MacOSX users.
20
+ * dwarf.h: Added comment about the gap in FORM number use
21
+ just before 0x20.
22
+ 2010-03-30 DavidAnderson <davea42@earthlink.net>
23
+ * dwarf_frame2.c: Tightned up a harmless error
24
+ message string and deleted an unused local variable.
25
+ * dwarf_harmless.c: Detected more errors in the implementation
26
+ and fixed them.
27
+ * dwarf_elf_access.c: If EM_MIPS not defined, define it to 8,
28
+ the standard value for EM_MIPS.
29
+ Refine the rela relocations code for MIPS 64 BE vs LE.
30
+ * dwarf_arange.h: Added new fields to properly represent
31
+ segments in aranges as documented in DWARF4.
32
+ * dwarf_arange.c: dwarf_get_aranges was thinking
33
+ an entry with 0,0 (end of a set) was the end of the aranges
34
+ for a CU. But that is not guaranteed by the DWARF standards,
35
+ there can be multiple sets in one CU, see the standard,
36
+ section 7.20 (DWARF2,3,4).
37
+ Created local function, removing lots of duplicated code.
38
+ Added some support for DWARF4 segment value in tuples.
39
+ Added dwarf_get_arange_info_b() so all DWARF4 information
40
+ can be retrieved by client code.
41
+ * libdwarf.h: Aded new interface dwarf_get_arange_info_b(),
42
+ 2010-03-28 DavidAnderson <davea42@earthlink.net>
43
+ * libdwarf.h: Adding dwarf_get_harmless_error_list(),
44
+ dwarf_insert_harmless_error(), and
45
+ dwarf_set_harmless_error_list_size() functions.
46
+ Some errors that are detectable are not sufficient
47
+ to warrant rejecting an object or refusing to process it.
48
+ * dwarf_harmless.c: Implementing
49
+ the harmless error functions.
50
+ * dwarf_harmless.h: Declaration of the libdwarf_internal
51
+ dwarf_harmless_init and dwarf_harmless_cleanout functions.
52
+ * dwarf_error.c: Added DW_DLE_DEBUG_FRAME_LENGTH_NOT_MULTIPLE
53
+ error string.
54
+ * dwarf_util.h: Clarify some comments on READ_AREA_LENGTH
55
+ macro.
56
+ * dwarf_opaque.h: Add structure and field to record
57
+ harmless errors for a dbg.
58
+ * dwarf_frame.h: Add commentary. Change ci_length from
59
+ Dwarf_Word to Dwarf_Unsigned for consistency with other such
60
+ length fields.
61
+ * Makefile.in: Add dwarf_harmless.o to the list of objects.
62
+ * dwarf_alloc.c: Add call to dwarf_harmless_cleanout() on
63
+ close of a dbg.
64
+ * dwarf_init_finish.c: Add call to dwarf_harmless_init
65
+ to initialize the fields for recording harmless errors.
66
+ * dwarf_frame2.c: Add handling of Arm "armcc+" augmentation
67
+ string. Create validate_length() local function to check
68
+ that the fde/cie length matches the requirements of the
69
+ specification, implementing the
70
+ DW_DLE_DEBUG_FRAME_LENGTH_NOT_MULTIPLE test (a harmless error).
71
+ Removed an earlier formally incorrect test.
72
+ * libdwarf2.1.mm: Documented the harmless error calls.
73
+ The version is now 1.90.
74
+ * libdwarf2.1.pdf: Regenerated as 1.90.
75
+ 2010-02-14 DavidAnderson <davea42@earthlink.net>
76
+ * dwarf.h: Add GNU template defines.
77
+ * libdwarf.h: Add new error code DW_DLE_NOT_REF_FORM for
78
+ the DWARF 4 case where DW_FORM_data4/8 no longer
79
+ valid global reference forms.
80
+ * libdwarf2.1.mm: Document the manner that DW_OP_implicit_value
81
+ is returned as a location description set.
82
+ * libdwarf2.1.pdf: Regenerate. Rev 1.89.
83
+ * dwarf_error.c: Add two new DW_DLE error strings.
84
+ * dwarf_frame.h: define DW_DEBUG_FRAME_VERSION4 for
85
+ DWARF4 support. Add address size and segment size fields
86
+ to the internal CIE structure.
87
+ * dwarf_query.c: The form-class code was not correct,
88
+ DWARF4 has DW_FORM_sec_offset, not DWARF3.
89
+ Some places did not use the CU context address size
90
+ when reading an address.
91
+ * dwarf_form.c: Use the CU-context address size
92
+ instead of the overall object address/offset size.
93
+ Initialize all local variables at the point of declaration.
94
+ Refine some commentary.
95
+ Use the CU version number to guide processing of some FORMs.
96
+ * dwarf_print_lines.c, dwarf_query.c: Use the CU-context
97
+ address size instead of the overall object address/offset size.
98
+ Handle DW_LNE user extensions as well as possible.
99
+ * dwarf_arange.c: Delete some erroneous code (already ifdefd out)
100
+ as the address size need not match the de_pointer_size.
101
+ If segment-selector non-zero, read it properly.
102
+ DWARF2 and DWARF3 left this documented in an incorrect
103
+ and unusable fashion (DWARF4 documents it properly).
104
+ * dwarf_die_deliv.c: Delete erroneous code (previously ifdefd out)
105
+ as the address size need not match the de_pointer_size.
106
+ * dwarf_sort_line.c, dwarf_line.c: Deal with DW_DLE extended
107
+ line operations past those defined by the standard
108
+ (such as user-defined operations).
109
+ * dwarf_line.h: For user-defined line extended operations, provide
110
+ a sanity check of DW_LNE_LEN_MAX.
111
+ * dwarf_base_types.h: Add DW_CIE_VERSION4 for DWARF4.
112
+ Add other defines so each defined version number (sections
113
+ differ) has a name for the relevant section.
114
+ * dwarf_frame2.c: Add address size to argument lists so the proper
115
+ CIE address size (a new field in DWARF4 CIEs) are honored.
116
+ Also read the new DWARF4 segment_size field.
117
+ Use the address size instead of the object-derived de_pointer_size.
118
+ * dwarf_util.c: Return address_size instead of de_pointer_size.
119
+ * dwarf_loc.c: DWARF4 uses DW_FORM_sec_offset, not
120
+ DW_FORM_data4 or DW_FORM_data8 when specifying offsets to
121
+ other sections. Add DWARF4 DW_OP_implicit_value and
122
+ DW_OP_stack_value.
123
+ * dwarf_frame.c: Initialize a local variable at the point
124
+ of declaration.
125
+ 2010-02-04 DavidAnderson <davea42@earthlink.net>
126
+ * libdwarf2.1.mm: Fix a spelling error.
127
+ * libdwarf2.1.mm: Regenerate. Rev 1.88.
128
+ 2010-02-01 DavidAnderson <davea42@earthlink.net>
129
+ * dwarf_frame.c: The DW_CFA_remember_state and DW_CFA_restore_state
130
+ operations were not recording/restoring the cfa_rule, now they do.
131
+ 2010-01-27 DavidAnderson <davea42@earthlink.net>
132
+ * dwarf_form.c: form_refsig8() had an uninitialized
133
+ local variable.
134
+ 2010-01-25 DavidAnderson <davea42@earthlink.net>
135
+ * libdwarf2.1.mm: Rev 1.87. Improved the discussion
136
+ of frame information.
137
+ * libdwarf2.1.pdf: regenerated.
138
+ 2010-01-25 DavidAnderson <davea42@earthlink.net>
139
+ * pro_opaque.h, pro_init.c, pro_section.c,
140
+ pro_reloc_stream.c, pro_reloc_symbolic.c: Rename the function
141
+ pointer members de_func and de_func_b to
142
+ de_callback_func and de_callback_func_b respectively.
143
+ 2010-01-17 DavidAnderson <davea42@earthlink.net>
144
+ * dwarf.h, libdwarf.h: Updated commentary about frame interfaces.
145
+ * libdwarf2.1.mm: New descriptions of DW_FRAME_CFA_COL
146
+ and DW_FRAME_CFA_COL3. Document rev 1.86 .
147
+ * libdwarf2.1.pdf: Regenerated.
148
+ * libdwarf2p.1.mm: Fixed a couple of typos. Rev 1.28.
149
+ * libdwarf2p.1.pdf: Regenerated.
150
+ * configure.in: Added support for configure
151
+ --enable-oldframcol.
152
+ * config.h.in: Added support for configure
153
+ --enable-oldframcol.
154
+ * dwarf_init_finish.c: Added support for configure
155
+ --enable-oldframecol (see DW_FRAME_CFA_COL and
156
+ DW_FRAME_CFA_COL3). By default the frame column
157
+ is now DW_FRAME_CFA_COL3. --enable-oldframecol
158
+ changes the default to DW_FRAME_CFA_COL.
159
+ * configure: Regenerated.
160
+ * dwarf_opaque.h: Added one blank line and deleted
161
+ one, hopefully aiding clarity.
162
+ * dwarf_frame.c: Added commentary about the frame
163
+ interfaces to emphasize the newer ones.
164
+ 2010-01-13 DavidAnderson <davea42@earthlink.net>
165
+ * dwarf_print_lines.c: Changed 'include files count'
166
+ to 'files count'.
167
+ 2010-01-04 DavidAnderson <davea42@earthlink.net>
168
+ * pro_section.c, pro_opaque.h: A pretty-print tool
169
+ generated some odd formatting (long ago) and there
170
+ were silly blank lines present as well. This makes things more
171
+ readable.
172
+ 2010-01-03 DavidAnderson <davea42@earthlink.net>
173
+ * common.h, common.c: Remove <cr> line end characters.
174
+ Update copyright for 2010.
175
+ * All other files: Update copyright year.