[Dwarf-Discuss] DWARF and online-compiled programs (Simon Brand)

Pedro Alves palves at redhat.com
Mon Jun 13 03:28:37 PDT 2016


(sorry for the double-post for those to got it, hadn't realized
this address wasn't subscribed to the list, and thus got rejected.)

On 06/13/2016 09:07 AM, Simon Brand wrote:

> Also, the source might not be "in memory", as it might be placed in a
> binary segment which is not loaded. The debugger should be interpreting
> the location as something like the ELF virtual address to locate the
> source in the object file.

In that case, wouldn't it be better to instead represent the source
as another debug string, with DW_FORM_string, or
.debug_str/DW_FORM_strp, or .debug_str_offsets/DW_FORM_strx, etc. ?

For example, add a new attribute, e.g., DW_AT_source, and in 3.1.1
where DW_AT_name is described:

 Compilation unit entries may have the following attributes:
 ...
 2. A DW_AT_name attribute whose value is a null-terminated string containing
 the full or relative path name of the primary source file from which the
 compilation unit was derived.

Change it to say either DW_AT_name or DW_AT_source.  Something like:

 2. Either a DW_AT_name attribute whose value is a null-terminated string
 containing the full or relative path name of the primary source file from
 which the compilation unit was derived, or a DW_AT_source attribute whose
 value is a null-terminated string containing the full contents of the source
 code from which the compilation unit was derived.

Thanks,
Pedro Alves



More information about the Dwarf-Discuss mailing list