<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: arial,helvetica,sans-serif; font-size: 10pt; color: #000000'><br><hr id="zwchr"><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><b>From: </b>"Kevin B via llvm-dev Smith" <llvm-dev@lists.llvm.org><br><b>To: </b>"James Y Knight" <jyknight@google.com>, "Steven Wu" <stevenwu@apple.com><br><b>Cc: </b>llvm-dev@lists.llvm.org, "Clang Dev" <cfe-dev@lists.llvm.org><br><b>Sent: </b>Saturday, February 6, 2016 4:30:20 PM<br><b>Subject: </b>Re: [llvm-dev] [RFC] Embedding Bitcode in Object Files<br><br>


<style><!--

@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}

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:"Arial",sans-serif;
        color:#44546A;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.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>

<div class="WordSection1">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">I don't know whether this is an issue in the current implementation, but I wanted to bring up a potential privacy issue.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">In embedding the information, care should be taken to avoid embedding any information that contains personally identifiable information. This can certainly occur</span></p>
<p class="MsoNormal"><span id="DWT3418" style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">if paths need to be embedded, as user names, or other private/confidential information may be present in the naming of directories and paths.</span></p></div></blockquote><br>Is this any more of a problem than the information that gets included in the DWARF sections?<br><br> -Hal<br><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div class="WordSection1"><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">  Generally, I suspect</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">that it would be desirable to have an opt-in strategy for designating in the compiler which pieces of information/options need to be saved, and for all options
 marked</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">as needed, determine whether there is the possibility/likelihood that they may contain personally identifiable information.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);">Kevin B. Smith</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Arial",sans-serif; color: rgb(68, 84, 106);"> </span></p>
<div style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; padding: 0in 0in 0in 4pt;">
<div>
<div style="border-right: medium none; border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(225, 225, 225) -moz-use-text-color -moz-use-text-color; padding: 3pt 0in 0in;">
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="font-size: 11pt; font-family: "Calibri",sans-serif;">From:</span></b><span style="font-size: 11pt; font-family: "Calibri",sans-serif;"> llvm-dev [mailto:llvm-dev-bounces@lists.llvm.org]
<b>On Behalf Of </b>James Y Knight via llvm-dev<br>
<b>Sent:</b> Friday, February 05, 2016 3:13 PM<br>
<b>To:</b> Steven Wu <stevenwu@apple.com><br>
<b>Cc:</b> LLVM Developers Mailing List <llvm-dev@lists.llvm.org>; Clang Dev <cfe-dev@lists.llvm.org><br>
<b>Subject:</b> Re: [llvm-dev] [RFC] Embedding Bitcode in Object Files</span></p>
</div>
</div>
<p class="MsoNormal"> </p>
<div>
<p class="MsoNormal"> </p>
<div>
<p class="MsoNormal"> </p>
<div>
<p class="MsoNormal">On Fri, Feb 5, 2016 at 6:06 PM, Steven Wu <<a href="mailto:stevenwu@apple.com" target="_blank">stevenwu@apple.com</a>> wrote:</p>
<blockquote style="border-width: medium medium medium 1pt; border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); padding: 0in 0in 0in 6pt; margin-left: 4.8pt; margin-right: 0in;">
<div>
<div>
<div>
<p class="MsoNormal"><span style="color: rgb(34, 34, 34);">I don't think we need any path in the command line section. We only record the command-line options that will affect CodeGen. See my example in one of the preview reply:</span></p>
</div>
</div>
<div>
<blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
<p class="MsoNormal">$ clang -fembed-bitcode -O0 test.c -c -###<br>
"clang" "-cc1"  (...lots of options...) "-o" "test.bc" "-x" "c" "test.c"   <--- First stage<br>
"clang" "-cc1" "-triple" "x86_64-apple-macosx10.11.0" "-emit-obj" "-fembed-bitcode" "-O0" "-disable-llvm-optzns" "-o" "test.o" "-x" "ir" "test.bc"  <--- Second stage</p>
</blockquote>
<p class="MsoNormal">I can't think of any source path that can affect CodeGen. There should not be any paths other than the bitcode input path and binary output path exists in the second stage and they are excluded from the command line section as well. -fdebug-prefix-map
 is consumed by the front-end and prefixed paths are a part of the debug info in the metadata. You don't need to encode -fdebug-prefix-map in the bitcode section to reproduce the object file with the same debug info. Did that answer your concern?</p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Great -- it wasn't clear from the first message if you were just embedding the whole command-line as is. If the plan instead to embed only a few relevant options, I agree there should be no issue as far as paths go.</p>
</div>
</div>
</div>
</div>
<br>_______________________________________________<br>LLVM Developers mailing list<br>llvm-dev@lists.llvm.org<br>http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br></blockquote><br><br><br>-- <br><div><span name="x"></span>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<span name="x"></span><br></div></div></body></html>