Debugging Information Format specification available for review (Shane P. McCarron)
Mon, 4 May 1992 20:50:10 GMT

          From comp.compilers

Related articles
Debugging Information Format specification available for review (1992-05-04)
| List of all articles for this month |

Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.fortran,comp.compilers
From: (Shane P. McCarron)
Followup-To: comp.lang.c
Keywords: Fortran, C, C++, debug, standards
Organization: UNIX International
Date: Mon, 4 May 1992 20:50:10 GMT

The UNIX International Programming Languages Special Interest Group has
completed a draft of the DWARF debugger format specification, and is
making it available for industry review. As with all UNIX International
developed specifications, this document is available for distribution
without restriction under an X Window System-like copyright.

Attached below is the Foreword and Introduction from the document. If you
would like to receive a copy, send mail to containing the

send PUBLIC/

for the troff source, or

send PUBLIC/

for the postscript. If you system supports uncompress and uudecode, you
can request that the data be compressed by placing the command 'compress'
in the message.

If you have any questions about the archive service, please contact me.
If you have questions about the Programming Languages SIG or the DWARF
specification, please contact the SIG chair, Dan Oldman, at If you are interested in participating in the ongoing
discussions of the Programming Languages SIG, please send a message
containing your fully qualified internet address and company name to

Shane P. McCarron ATT: +1 201 263-8400 x232
Project Manager UUCP:

              DWARF Debugging Information Format


              This document specifies a new generation of symbolic
              debugging information that has been developed by the UNIX
              International Programming Languages Special Interest Group
              (SIG), and is being circulated for industry review. We
              started from the document DWARF Debugging Information
              Requirements - Issue 2, dated April 4, 1990, made available
              by AT&T to its source licensees, and added a significant
              amount of material to clarify what was originally specified
              and to support additional language constructs that were not
              in the original specification.

              At this point, the SIG believes that this document
              sufficiently supports the debugging needs of C, C++, and
              FORTRAN 77, and we have released it for public comment. We
              will accept comments on this document until June 15, 1992.
              Comments may be directed via email to me or posted to the
              SIG mailing list ( If you are unable to send
              email, paper mail, FAX, or machine readable copy on UNIX,
              MS-DOS, or Macintosh compatible media can be sent to me, and
              I will post it for you.

                                                      Tony D'Annunzio
                                                      Vice President of Technology
                                                      UNIX International
                                                      Waterview Corporate Center
                                                      20 Waterview Boulevard
                                                      Parsippany, NJ 07054
                                                      Phone: +1 201-263-8400
                                                      Fax: +1 201-263-8401

              Revision: 1.0.0 Page 1 January 20, 1992
                                                    Industry Review Draft

                                                                                    Programming Languages SIG

              1. INTRODUCTION

              This document defines the format for the information
              generated by compilers, assemblers and linkage editors that
              is necessary for symbolic, source-level debugging. The
              debugging information format does not favor the design of
              any compiler or debugger. Instead, the goal is to create a
              method of communicating an accurate picture of the source
              program to any debugger in a form that is economically
              extensible to different languages while retaining backward

              The design of the debugging information format is open-
              ended, allowing for the addition of new debugging
              information to accommodate new languages or debugger
              capabilities while remaining compatible with other languages
              or different debuggers.

              1.1 Purpose and Scope

              The debugging information format described in this document
              is designed to meet the symbolic, source-level debugging
              needs of different languages in a unified fashion by
              requiring language independent debugging information
              whenever possible. Individual needs, such as C++ virtual
              functions or Fortran common blocks are accommodated by
              creating attributes that are used only for those languages.

              This document describes DWARF Version 1, which is designed
              to be binary compatible with the debugging information that
              is described in the document DWARF Debugging Information
              Requirements - Issue 2, dated April 4, 1990, and made
              available by AT&T to its source licencess. The April 4,
              1990, document describes the debugging information that is
              generated by the UNIX System V Release 4 C compiler and
              consumed by the System V Release 4 debugger, sdb.

              By ``binary compatibility'' we mean that

                  1. All features intended to support C and Fortran
                          described in the April 4, 1990, document are included
                          in this document, and

                  2. DWARF produced according to this (DWARF Version 1)
                          specification should be considered well formed by a
                          System V Release 4 compatible DWARF consumer, but may
                          contain information that such a consumer is unable to
                          interpret. Consumers are expected to ignore such

              Revision: 1.0.0 Page 3 January 20, 1992
                                                    Industry Review Draft

              DWARF Debugging Information Format

              The intended audience for this document are the developers
              of both producers and consumers of debugging information,
              typically language compilers, debuggers and other tools that
              need to interpret a binary program in terms of its original

              This version of the document is a draft for industry review.
              Vendors developing products based on this draft should be
              aware that the review process may produce changes.

              1.2 Overview

              There are two major pieces to the description of the DWARF
              format in this document. The first piece is the debugging
              information, itself. Section two describes the overall
              structure of that information. Section three describes the
              specific debugging information entries and how they
              communicate the necessary information about the source
              program to a debugger.

              The second piece of the DWARF description is the way the
              debugging information is encoded and represented in an
              object file. The DWARF encoding is presented in section

              Section five describes compatibility constraints on the
              format. Finally, section six describes external

              In the following sections, text in normal font describes
              required aspects of the DWARF format. Text in italics is
              explanatory or supplementary material, and not part of the
              format definition itself.

              1.3 Vendor Extensibility

              This document describes only the features of DWARF that have
              been implemented and tested by at least one vendor (with a
              very few exceptions). It does not attempt to cover all
              languages or even to cover all of the interesting debugging
              information needs for its primary target languages (C, C++,
              Fortran). Therefore the document provides vendors a way to
              define their own debugging information tags, attributes,
              fundamental types, type modifiers, location atoms and
              language names, by reserving a portion of the name space and
              valid values for these constructs for vendor specific
              additions. Future versions of this document will not use
              names or values reserved for vendor specific additions. All
              names and values not reserved for vendor additions, however,
              are reserved for future versions of this document. See
              section 4 for details.

              Revision: 1.0.0 Page 4 January 20, 1992
                                                    Industry Review Draft

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.