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