From 31fffb02125a6c8a1182af5718e9fc49b23e0ed8 Mon Sep 17 00:00:00 2001 From: Craig Silverstein Date: Sun, 20 Apr 2008 00:03:25 +0000 Subject: [PATCH] * NEWS: Add information on compressed debug sections. * doc/gdb.texinfo (Requirements): Add an optional requirement on zlib. * doc/gdbint.texinfo (Debugging File Formats): Add new subsection for Compressed DWARF 2. --- gdb/ChangeLog | 6 +++++- gdb/NEWS | 5 ++++- gdb/doc/ChangeLog | 7 +++++++ gdb/doc/gdb.texinfo | 12 ++++++++++++ gdb/doc/gdbint.texinfo | 23 +++++++++++++++++++++++ 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7d08e32efea..4d80d5fa35a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2008-04-19 Craig Silverstein + + * NEWS: Add information on compressed debug sections. + 2008-04-19 Vladimir Prus * mi/mi-cmd-var.c (varobj_update_one): Print new @@ -27,7 +31,7 @@ * Makefile.in (linespec.o, mi-interp.o): Add dependencies. -2008-04-18 Craig Silverstein +2008-04-18 Craig Silverstein * configure.ac (AC_SEARCH_LIBS): Add check for zlib. * config.in, configure: Regenerate. diff --git a/gdb/NEWS b/gdb/NEWS index 7d10ce506bf..7dc4121e580 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -3,11 +3,14 @@ *** Changes since GDB 6.8 +* GDB can now read compressed debug sections, as produced by GNU gold +with the --compress-debug-sections=zlib flag. + * Watchpoints can now be set on unreadable memory locations, e.g. addresses which will be allocated using malloc later in program execution. * The qXfer:libraries:read remote procotol packet now allows passing a - list of section offsets. +list of section offsets. * New features in the GDB remote stub, gdbserver diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index ad5777904d5..d88828100d3 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,10 @@ +2008-04-19 Craig Silverstein + + * gdb.texinfo (Requirements): Add an optional requirement on + zlib. + * gdbint.texinfo (Debugging File Formats): Add new subsection for + Compressed DWARF 2. + 2008-04-16 Aleksandar Ristovski * gdb.texinfo (GDB/MI Simple Examples): Added 'disp' field to the diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 0a7576c51b7..d033530daab 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22732,6 +22732,18 @@ Remote shared library lists (@pxref{Library List Format}) MS-Windows shared libraries (@pxref{Shared Libraries}) @end itemize +@item zlib +@cindex compressed debug sections +@value{GDBN} will use the @samp{zlib} library, if available, to read +compressed debug sections. Some linkers, such as GNU gold, are capable +of producing binaries with compressed debug sections. If @value{GDBN} +is compiled with @samp{zlib}, it will be able to read the debug +information in such binaries. + +The @samp{zlib} library is likely included with your operating system +distribution; if it is not, you can get the latest version from +@url{http://zlib.net}. + @end table @node Running Configure diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 38e9b4354d2..d578347b967 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -2201,6 +2201,29 @@ DWARF 2 is an improved but incompatible version of DWARF 1. The DWARF 2 reader is in @file{dwarf2read.c}. +@subsection Compressed DWARF 2 + +@cindex Compressed DWARF 2 debugging info +Compressed DWARF 2 is not technically a separate debugging format, but +merely DWARF 2 debug information that has been compressed. In this +format, every object-file section holding DWARF 2 debugging +information is compressed and prepended with a header. (The section +is also typically renamed, so a section called @code{.debug_info} in a +DWARF 2 binary would be called @code{.zdebug_info} in a compressed +DWARF 2 binary.) The header is 12 bytes long: + +@itemize @bullet +@item +4 bytes: the literal string ``ZLIB'' +@item +8 bytes: the uncompressed size of the section, in big-endian byte +order. +@end itemize + +The same reader is used for both compressed an normal DWARF 2 info. +Section decompression is done in @code{zlib_decompress_section} in +@file{dwarf2read.c}. + @subsection SOM @cindex SOM debugging info -- 2.30.2