1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
January 26, 2010
Changed the default frame-data register names from MIPS to
a generic set of registers.
Try '-x abi=mips' to get the traditional old MIPS register
naming.
June 22, 2009
Added the -S option to dwarfdump.
June 10, 2009
Moved the gennames.c code to libdwarf.
May 4, 2009
Replaced awk source-generation of certain functions
with new gennames.c code.
Now we can print an object with an address_size that
varies by compilation unit.
April 4, 2009
Corrected aspects of the frame-printing by ensuring we pass
all the information libdwarf needs for fully consistent behavior.
Three newly defined libdwarf calls calls made to ensure
that better behavior (specifically having dwarfdump consistently
recognize when registers are the cfa, undefined-value or same-value
pseudo registers). Updated dwarfdump.conf to set these same
things consistently.
Mar 22, 2009
The -f and -F flags no longer also imply -i (it just
did not make sense to tie them (cannot recall why
it might have been tied before).
Mar 20, 2009
Moved print_* functions from print_sections.c to individual
source files. Hopefully making the code a bit easier
to read.
Feb 16, 2009
Added the -C option. It is a sort of 'pedantic' option
as it turns on warnings about certain commonly used
non-standard tag->tag and tag->attr relationships.
Added the tag_attr_ext.list tag_tree_ext.list files which
define the 'common use' extensions.
Feb 14, 2009
Added configure option --enable-nonstandardprintf
which makes it easy to get printf of Dwarf_Unsigned (etc)
types correct even for non-standard compilers.
December 30, 2008
Now we print the .debug_ranges section (with -N)
and the data for DW_AT_ranges (with -i).
December 8, 2008
The -M option now causes printing of FORM details.
And -v adds details about abbreviation 'indexes' into
an abbreviation table (.debug_abbrev)
providing more detail for folks debugging or
improving their understanding of DWARF data.
April 9, 2008
Added -H <num> to limit the number of compilation-units/FDEs
dwarfdump prints in one run. Added -n to eliminate function-name
printing in .debug_frame output (with a large-enough debug_info
section function-name printing is too slow). The function name
printing will be fixed in another release.
December 8, 2007
Had to add an ugly configure conditional as libelf has
unconditional use of off64_t in recent libelf.h
July 3, 2007
Now with -v dwarf expression blocks in frame operations
are printed expanded out.
July 2, 2007
Added a new abi -x abi=general usable for any cpu with
up to 1000 registers.
May 7, 2007
Sun Microsystems contributes new dwarf.h extensions and a new -G option
to dwarfdump -i (so one can see the 'global' offset to DIEs).
Thanks to Chris Quenelle of Sun.
April 17, 2006
New -x name=<conf file> -x abi=<abiname> and configuration file
enable sensible printing of a wide range of .debug_frame eh_frame
correctly without recompiling dwarfdump or touching libdwarf.h or
dwarf.h.
March 29, 2005
Now handles DWARF3. For non-MIPS objects, the list of register
names in print_sections.c is not appropriate, #define
DWARFDUMP_TURN_OFF_MIPS_REG_NAMES to turn off the MIPS names.
December 1, 2005
Added new DWARF3 TAGs and ATtributes to the -k lists,
clarified the -k reporting, and made the build more robust
in the face of errors in the *.list relationship-spec-files.
August 1, 2005
Now print_die.c deals with long loclists without a coredump.
Added esb.h esb.c (and testesb.c for testing) to encapsulate
getting space for possibly-long strings.
Now print_die.c uses snprintf() not sprintf (hopefully this
will not inconvenience anyone, snprintf() has been available
on most systems for years now).
Altered print of location lists a little bit - for better appearance.
July 15, 2005
Now completely frees all allocated memory. Various
routines were not calling dealloc() code and
new libdwarf dealloc routines are now used where those
are needed.
Now prints DWARF3 .debug_pubtypes section (with -a or -y).
The .debug_pubtypes section and SGI-specific .debug_typenames
are equvalent so they are treated alike.
Mar 21, 2005
The -f flag now prints only .debug_frame data. The .eh_frame section
(GNU exceptions data) now prints with -F (not -a).
Printing gcc 3.3 or 3.4 .eh_frame with zR augmentation
does not work at this time, so do not use -F
to print such an object.
The line section print now prints a CU-DIE offset for each such DIEs
line information. This makes it much easier to correctly associate
-l (or -v -l) output with -v -v -l when debugging a faulty
linetable in an executable.
With -v -v -l (two -v) the output of line info continues to be a
completely different format than zero or one -v, the two-v
form showing the detailed line table opcodes.
With g++ 3.3.3 one sees bad line addresses at times as the
DW_LNE_set_address address for header files do not always
get their relocations applied. I am told this is fixed in 3.4.x.
Mar 18, 2005
In correcting printing of macro information the format
of the macro (-m) output has changed substantially.
Much more complete now. Still could use enhancement.
Oct 28, 2004
Updated contact address in copyright: SGI moved 1/4 mile
to a new address: 1500 Crittenden Lane.
Oct 02, 2003
Now fully supports .debug_loc section.
June 14, 2001
Now calling a new function dwarf_get_arange_cu_header_offset()
in libdwarf and printing the returned cu header offset for
aranges entries. Making it easier to track down internal
errors in the dwarf2 data. Also added small other
consistency checks, printing a message and exit()ing on
error.
April 14, 2000
The libdwarf copyright has changed to
version 2.1 of the GNU Lesser General Public License.
Anyone holding a version of libdwarf that was published
before this new copyright
is allowed to use
the copyright published in that earlier libdwarf source
on the earlier source
or to use
this new copyright on the earlier source,
at their option.
July 21, 1999
Added gnu extensions to the frame information printer
and handling for egcs eh_frame printing.
libdwarf changes mean this now can print little-endian
object dwarf on a big-endian system and vice-versa.
December, 1998
added dwarfdump to the dwarf public source distribution.
June, 1994
libdwarf consumer interface changed completely so updated to match.
May, 1993
Initial version of dwarfdump for dwarf version 2
written at sgi.
|