[Dwarf-Discuss] [EXTERNAL] Re: Support for SourceLink in DWARF

Eugene Rozenfeld Eugene.Rozenfeld at microsoft.com
Thu May 5 13:37:03 PDT 2022

Hi Michael and Tony,

The github reference for SourceLink has both the schema for the json file (https://github.com/dotnet/designs/blob/main/accepted/2020/diagnostics/source-link.md#source-link-json-schema) and several examples of the info contained there (https://github.com/dotnet/designs/blob/main/accepted/2020/diagnostics/source-link.md#examples). Please let me know what needs to be clarified and I'll be happy to provide additional information.



-----Original Message-----
From: Dwarf-Discuss <dwarf-discuss-bounces at lists.dwarfstd.org> On Behalf Of Michael Eager via Dwarf-Discuss
Sent: Wednesday, May 04, 2022 7:14 PM
To: Eugene Rozenfeld <Eugene.Rozenfeld at microsoft.com>; dwarf-discuss at lists.dwarfstd.org
Subject: [EXTERNAL] Re: [Dwarf-Discuss] Support for SourceLink in DWARF

Hi Eugene --

Please work with Tony Tye (cc'ed), the champion on this issue, to draft a more complete proposal.  Much of the description on the Github reference for SourceLink is about the implementation in a PDB file and less about the what information is contained and how it is used.

On 5/4/22 18:54, Eugene Rozenfeld via Dwarf-Discuss wrote:
> Hello,
> I work on the Linux tools team at Microsoft and I'd like to comment on the issue  https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdwarfstd.org%2FShowIssue.php%3Fissue%3D181223.1&data=05%7C01%7CEugene.Rozenfeld%40microsoft.com%7Ce2f2311ad7b6419653ad08da2e3cfb99%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637873136819887860%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=vhy1WMTrcJzYM%2F4HRnaq5D1xzPMxfpyqIK%2FZ182%2F%2Fqk%3D&reserved=0 that proposes to add info similar to SourceLink to the DWARF format.
> We are interested in pushing this forward both as a developer experience improvement and as a step in improving secure supply chain guarantees. It's important to be able to figure out where the sources come from if we want to check the binary integrity.
> The issue discusses two approaches: one involves augmenting the DWARF format and the other one relies on buildid's and debuginfod servers. We believe the approach whereby an arbitrary URL for source retrieval (e.g., github, VSTS, etc.) can be specified offers greater applicability and flexibility over relying on buildid and debuginfod servers. For instance, it can accommodate scenarios where storing debuginfo along with sources on a debuginfod server may not always be feasible.
> The issue discusses two approaches to modifying the  DWARF format: one is augmenting the existing file table to allow the specification of a URL (the proposed resolution) and the other one is a per CU URL table that would allow the equivalent of SourceLink wildcards. The tradeoff is simplicity vs. potential DWARF file size saving if many source files are involved in the compilation. We are ok with either resolution. The important thing is a standard way to encode the source file information so that the producers and consumers agree.
> Thank you,
> Eugene
> _______________________________________________
> Dwarf-Discuss mailing list
> Dwarf-Discuss at lists.dwarfstd.org
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> .dwarfstd.org%2Flistinfo.cgi%2Fdwarf-discuss-dwarfstd.org&data=05%
> 7C01%7CEugene.Rozenfeld%40microsoft.com%7Ce2f2311ad7b6419653ad08da2e3c
> fb99%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637873136819887860%7
> CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1
> haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=O%2FOoUs%2BdLeybBIIprxna
> ahOeKGwfQOkJt7lONyE%2BDLw%3D&reserved=0

Michael Eager
Dwarf-Discuss mailing list
Dwarf-Discuss at lists.dwarfstd.org

More information about the Dwarf-Discuss mailing list