Issue 050711.1: Specification of compiled units which are not 'named disk files'

Author: Matthew Gretton-Dann
Champion: Matthew Gretton-Dann
Date submitted: 2005-07-11
Date revised:
Date closed:
Type: Error
Status: Accepted
DWARF Version: 3
Section: 6.3.2
Page: 100

[This follows on from a discussion earlier this year on the dwarf-discuss 
mailing list entitled: Referring to the stdin 'file' in .debug_macinfo 
sections.  The first email in the discussion was sent by me on Thu, 21 Apr 
2005.]

Section 6.3.2 of Draft 9 of the DWARF Standard says:

..If the base source file for a compilation is submitted to the compiler via 
some means other than via a named disk file (e.g. via the standard input 
stream on a UNIX system) then the compiler should still produce ... the file 
name indicated (indirectly) by the DW_MACINFO_start_file entry of the pair 
should designate a line number information file name entry consisting of a 
null string.

Unfortuantely a null string is also taken to terminate the list of files in 
a .debug_line section (see 6.2.4 item 11).  And so implementations that follow
the above can cause incorrect .debug_line sections to be produced.

PROPOSAL (as suggested by Michael Eager)

change the end of the first paragraph of Section 6.3.2 to read:

..entry of the pair should designate a line number information file name 
entry consisting of a filename '-'.