* NEWS: Add information on compressed debug sections.
authorCraig Silverstein <csilvers@google.com>
Sun, 20 Apr 2008 00:03:25 +0000 (00:03 +0000)
committerCraig Silverstein <csilvers@google.com>
Sun, 20 Apr 2008 00:03:25 +0000 (00:03 +0000)
      * 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
gdb/NEWS
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/doc/gdbint.texinfo

index 7d08e32..4d80d5f 100644 (file)
@@ -1,3 +1,7 @@
+2008-04-19  Craig Silverstein  <csilvers@google.com>
+
+       * NEWS: Add information on compressed debug sections.
+
 2008-04-19  Vladimir Prus  <vladimir@codesourcery.com>
 
        * 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   <csilvers@google.com>
+2008-04-18  Craig Silverstein  <csilvers@google.com>
 
        * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
        * config.in, configure: Regenerate.
index 7d10ce5..7dc4121 100644 (file)
--- 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
 
index ad57779..d888281 100644 (file)
@@ -1,3 +1,10 @@
+2008-04-19  Craig Silverstein  <csilvers@google.com>
+
+       * 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  <aristovski@qnx.com>
 
        * gdb.texinfo (GDB/MI Simple Examples): Added 'disp' field to the
index 0a7576c..d033530 100644 (file)
@@ -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
index 38e9b43..d578347 100644 (file)
@@ -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