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.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +28 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/ext/rdwarf/depend +5 -0
- data/ext/rdwarf/extconf.rb +29 -0
- data/ext/rdwarf/libdwarf/CHANGES +102 -0
- data/ext/rdwarf/libdwarf/CODINGSTYLE +71 -0
- data/ext/rdwarf/libdwarf/COPYING +28 -0
- data/ext/rdwarf/libdwarf/ChangeLog +619 -0
- data/ext/rdwarf/libdwarf/ChangeLog2006 +835 -0
- data/ext/rdwarf/libdwarf/ChangeLog2007 +217 -0
- data/ext/rdwarf/libdwarf/ChangeLog2008 +263 -0
- data/ext/rdwarf/libdwarf/ChangeLog2009 +348 -0
- data/ext/rdwarf/libdwarf/ChangeLog2010 +175 -0
- data/ext/rdwarf/libdwarf/ChangeLog2011 +297 -0
- data/ext/rdwarf/libdwarf/ChangeLog2012 +131 -0
- data/ext/rdwarf/libdwarf/ChangeLog2013 +238 -0
- data/ext/rdwarf/libdwarf/ChangeLog2014 +399 -0
- data/ext/rdwarf/libdwarf/LGPL.txt +504 -0
- data/ext/rdwarf/libdwarf/LIBDWARFCOPYRIGHT +40 -0
- data/ext/rdwarf/libdwarf/Makefile.in +220 -0
- data/ext/rdwarf/libdwarf/NEWS +535 -0
- data/ext/rdwarf/libdwarf/README +235 -0
- data/ext/rdwarf/libdwarf/checkexamples.c +1179 -0
- data/ext/rdwarf/libdwarf/cmplrs/dwarf_addr_finder.h +55 -0
- data/ext/rdwarf/libdwarf/common.c +62 -0
- data/ext/rdwarf/libdwarf/common.h +38 -0
- data/ext/rdwarf/libdwarf/config.h.in +146 -0
- data/ext/rdwarf/libdwarf/configure +5581 -0
- data/ext/rdwarf/libdwarf/configure.in +167 -0
- data/ext/rdwarf/libdwarf/dw-linetableheader.txt +39 -0
- data/ext/rdwarf/libdwarf/dwarf.h +1342 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.c +291 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.h +45 -0
- data/ext/rdwarf/libdwarf/dwarf_addr_finder.c +676 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.c +685 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.h +38 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.c +595 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.h +62 -0
- data/ext/rdwarf/libdwarf/dwarf_base_types.h +157 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.c +1802 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.c +1348 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_error.c +492 -0
- data/ext/rdwarf/libdwarf/dwarf_error.h +53 -0
- data/ext/rdwarf/libdwarf/dwarf_form.c +1302 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.c +2454 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.h +418 -0
- data/ext/rdwarf/libdwarf/dwarf_frame2.c +1533 -0
- data/ext/rdwarf/libdwarf/dwarf_frame3.c +282 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.h +33 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.c +520 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.h +97 -0
- data/ext/rdwarf/libdwarf/dwarf_global.c +612 -0
- data/ext/rdwarf/libdwarf/dwarf_global.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.c +228 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.h +31 -0
- data/ext/rdwarf/libdwarf/dwarf_incl.h +61 -0
- data/ext/rdwarf/libdwarf/dwarf_init_finish.c +1263 -0
- data/ext/rdwarf/libdwarf/dwarf_leb.c +159 -0
- data/ext/rdwarf/libdwarf/dwarf_line.c +1822 -0
- data/ext/rdwarf/libdwarf/dwarf_line.h +446 -0
- data/ext/rdwarf/libdwarf/dwarf_line2.c +98 -0
- data/ext/rdwarf/libdwarf/dwarf_line_table_reader_common.c +1583 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.c +1525 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.h +149 -0
- data/ext/rdwarf/libdwarf/dwarf_loc2.c +833 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.c +479 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.h +35 -0
- data/ext/rdwarf/libdwarf/dwarf_opaque.h +778 -0
- data/ext/rdwarf/libdwarf/dwarf_original_elf_init.c +219 -0
- data/ext/rdwarf/libdwarf/dwarf_print_lines.c +631 -0
- data/ext/rdwarf/libdwarf/dwarf_pubtypes.c +132 -0
- data/ext/rdwarf/libdwarf/dwarf_query.c +1594 -0
- data/ext/rdwarf/libdwarf/dwarf_ranges.c +194 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_arm.h +308 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_mips.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc.h +242 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc64.h +272 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_x86_64.h +127 -0
- data/ext/rdwarf/libdwarf/dwarf_sort_line.c +665 -0
- data/ext/rdwarf/libdwarf/dwarf_string.c +82 -0
- data/ext/rdwarf/libdwarf/dwarf_stubs.c +38 -0
- data/ext/rdwarf/libdwarf/dwarf_tied.c +423 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearch.h +125 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearchhash.c +675 -0
- data/ext/rdwarf/libdwarf/dwarf_types.c +121 -0
- data/ext/rdwarf/libdwarf/dwarf_types.h +32 -0
- data/ext/rdwarf/libdwarf/dwarf_util.c +913 -0
- data/ext/rdwarf/libdwarf/dwarf_util.h +324 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.c +125 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.c +579 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.h +68 -0
- data/ext/rdwarf/libdwarf/dwgetopt.c +181 -0
- data/ext/rdwarf/libdwarf/dwgetopt.h +51 -0
- data/ext/rdwarf/libdwarf/gennames.c +531 -0
- data/ext/rdwarf/libdwarf/install.sh +119 -0
- data/ext/rdwarf/libdwarf/libdwarf.h.in +3746 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.mm +9805 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.mm +2807 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarfdefs.h +81 -0
- data/ext/rdwarf/libdwarf/malloc_check.c +327 -0
- data/ext/rdwarf/libdwarf/malloc_check.h +52 -0
- data/ext/rdwarf/libdwarf/mips_extensions.mm +1266 -0
- data/ext/rdwarf/libdwarf/mips_extensions.pdf +0 -0
- data/ext/rdwarf/libdwarf/pro_alloc.c +179 -0
- data/ext/rdwarf/libdwarf/pro_alloc.h +33 -0
- data/ext/rdwarf/libdwarf/pro_arange.c +310 -0
- data/ext/rdwarf/libdwarf/pro_arange.h +51 -0
- data/ext/rdwarf/libdwarf/pro_die.c +431 -0
- data/ext/rdwarf/libdwarf/pro_die.h +59 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.c +108 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.h +39 -0
- data/ext/rdwarf/libdwarf/pro_error.c +96 -0
- data/ext/rdwarf/libdwarf/pro_error.h +43 -0
- data/ext/rdwarf/libdwarf/pro_expr.c +575 -0
- data/ext/rdwarf/libdwarf/pro_expr.h +36 -0
- data/ext/rdwarf/libdwarf/pro_finish.c +45 -0
- data/ext/rdwarf/libdwarf/pro_forms.c +1271 -0
- data/ext/rdwarf/libdwarf/pro_frame.c +572 -0
- data/ext/rdwarf/libdwarf/pro_frame.h +120 -0
- data/ext/rdwarf/libdwarf/pro_funcs.c +50 -0
- data/ext/rdwarf/libdwarf/pro_incl.h +91 -0
- data/ext/rdwarf/libdwarf/pro_init.c +327 -0
- data/ext/rdwarf/libdwarf/pro_line.c +373 -0
- data/ext/rdwarf/libdwarf/pro_line.h +112 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.c +457 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.h +31 -0
- data/ext/rdwarf/libdwarf/pro_opaque.h +513 -0
- data/ext/rdwarf/libdwarf/pro_pubnames.c +60 -0
- data/ext/rdwarf/libdwarf/pro_reloc.c +253 -0
- data/ext/rdwarf/libdwarf/pro_reloc.h +38 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.c +256 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.h +52 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.c +245 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.h +45 -0
- data/ext/rdwarf/libdwarf/pro_section.c +2233 -0
- data/ext/rdwarf/libdwarf/pro_section.h +100 -0
- data/ext/rdwarf/libdwarf/pro_types.c +274 -0
- data/ext/rdwarf/libdwarf/pro_types.h +34 -0
- data/ext/rdwarf/libdwarf/pro_util.h +38 -0
- data/ext/rdwarf/libdwarf/pro_vars.c +52 -0
- data/ext/rdwarf/libdwarf/pro_weaks.c +51 -0
- data/ext/rdwarf/rdwarf.c +765 -0
- data/ext/rdwarf/rdwarf.h +52 -0
- data/ext/rdwarf/rdwarf_names_gen.rb +109 -0
- data/lib/rdwarf.rb +181 -0
- data/lib/rdwarf/version.rb +3 -0
- data/rdwarf.gemspec +30 -0
- 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.
|