<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Nov 22, 2014 at 11:32 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Sat, Nov 22, 2014 at 11:28 AM, David Majnemer <span dir="ltr"><<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>>>! In D6371#7, @dblaikie wrote:<br>
>>>! In D6371#6, @majnemer wrote:<br>
>>>>! In D6371#4, @dblaikie wrote:<br>
>>> I believe we've been trying to avoid special casing the integrated<br>
>>> assembler as much as possible (I think Rafael removed many instances of<br>
>>> this) - any other signal that would be appropriate to use?<br>
>><br>
>> This patch is working around a directive which the cctools assembler does not have.  Asking it to trigger on another condition would essentially be a proxy for "MC is targeting the cctools assembler" anyway.<br>
><br>
> Could we do this down in the MCStreamer instead?<br>
><br>
> It looks like MCAsmStreamer::EmitVersionMin should just be a no-op, maybe? (or a no-op on Darwin?<br>
<br>
</span>How would we be able to emit the version information for Darwin if it were a no-op? I might be missing something but it sounds like .ios_version_min and .macosx_version_min would not properly round-trip.<br></blockquote></span><div><br>The MCAsmStreamer is for printing textual assembly, as I understand it(?) - and it's this case where want to not use these features, yes?<br></div></div></div></div></blockquote><div><br></div><div>We only want to conditionally disable printing the directives.  By default we infer the version from the triple but it can be explicitly overridden using the directives.  If we were to not print them out in the assembly stream then we would have trouble if we took a clang -S invocation at T1 and assembled it at some later point at T2.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>The MCObjectStreamer is the integrated assembler, that can continue to support this feature - that said, I can't find any support for emitting these directives in there... so I'm not sure where they're handled for the integrated assembler case.<br> </div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span><br>
> Is the version directive valid anywhere else other than LLVM's integrated assembler?)<br>
<br>
</span>AFAIK, only the LLVM integrated assembler understands .ios_version_min and .macosx_version_min.  I've checked the cctools sources and the latest binutils GAS sources as well.<br>
<br>
<a href="http://reviews.llvm.org/D6371" target="_blank">http://reviews.llvm.org/D6371</a><br>
<br>
<br>
</blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>