<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Sony delivers the GNU objdump and a proprietary utility which have DWARF-dumping features.  So in that sense, we don't mind what you do with llvm-dwarfdump. 
 Being able to extract subtrees sounds like a cool feature, I will say; Katya was just asking me about that yesterday.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">We have a longer term ideal (I won't call it a plan, although it might be considered an intention) to deliver the LLVM utilities instead, so more robust testing
 along the lines Dave suggested would be beneficial.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--paulr<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></a></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> David Blaikie [mailto:dblaikie@gmail.com]
<br>
<b>Sent:</b> Friday, September 08, 2017 2:33 PM<br>
<b>To:</b> Adrian Prantl; llvm-dev<br>
<b>Cc:</b> Eric Christopher; Robinson, Paul; Jonas Devlieghere<br>
<b>Subject:</b> Re: [RFC] llvm-dwarfdump's command line interface<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, Sep 8, 2017 at 2:25 PM Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">I would like to grow llvm-dwarfdump to become a drop-in replacement for the dwarfdump utility that is currently shipping on Darwin. (You can search the web for "darwin dwarfdump manpage" to see the currently supported feature set.)<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><br>
For anyone looking: <a href="http://www.manpagez.com/man/1/dwarfdump/">http://www.manpagez.com/man/1/dwarfdump/</a> <br>
 <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">Doing this means implementing the missing features, such as the ability to print only subsets of DIEs, looking up DIEs by name or address, and the option to produce more diff-friendly output. I'm fairly certain that these additional features
 will be beneficial on all LLVM-suported platforms.<br>
To turn it into a drop-in replacement on Darwin, I will also need to re-orgnize the command line interface a bit. In particular (and this is pretty much the only difference)<br>
<br>
$ llvm-dwarfdump --debug-dump=info<br>
$ llvm-dwarfdump --debug-dump=apple-objc<br>
<br>
becomes<br>
<br>
$ dwarfdump --debug-info<br>
$ dwarfdump --apple-objc<br>
<br>
respectively.<br>
My question is, how attached are users on other platforms to the current command line interface?<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><br>
I'm not especially attached - though I imagine it's pretty cheap to support both (though I don't personally mind if you want to migrate from one to the other - will just take a bit to relearn the muscle memory).<br>
<br>
One other thing: If we're moving towards a point where llvm-dwarfdump is not just a tool for LLVM developers but a shipping product, might be worth being a bit more rigorous about testing for it (historically sometimes dwarfdump functionality hasn't been tested
 - committed along with the LLVM functionality it was implemented to test - or the only testing is with checked in object files, which are a bit hard to maintain). Either looking at the DWARF YAML support and maybe fleshing it out a bit/making it more usable,
 or maybe assembly based tests? Not sure.<br>
 <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">I could easily create a separate command line parser for Darwin that mimicks Darwin dwarfdump (like llvm-objdump does), or we could just change the command line interface for llvm-dwarfdump. I know that there is also a dwarfdump utility
 on Linux (based on libdwarf?) that has an entirely different command line interface from both llvm-dwarfdump and Darwin dwarfdump.<br>
Do people see value in keeping the llvm-dwarfdump command line interface or would changing it to the above format be acceptable?<br>
<br>
thanks for your input!<br>
Adrian<o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>