<div dir="ltr">On Wed, Jan 3, 2018 at 5:04 PM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Saleem Abdulrasool <<a href="mailto:compnerd@compnerd.org">compnerd@compnerd.org</a>> writes:<br>
<br>
> So you are suggesting that the backend take the opaque blob, peer through<br>
> it, map it to something else and then encode that?<br>
<br>
</span>The llvm backend? No, it should probably be done by whatever produced<br>
the IR. If viewing this a part of the file format, having the FE create<br>
a metadata asking for (add_lib_enum_value, "foo.a") is not too different<br>
than than asking for a particular visibility or dll import.<br></blockquote><div><br></div><div>Okay, so, that is a different conversation..  Im discussing purely the encoding from LLVM IR -> object file.  The frontend changes would still need to be made, and those can be discussed at that point.  Im suggesting that we treat the current behavior similar to the PE/COFF and MachO mechanism: it is effectively a response file.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
> This means that every<br>
> single new flag (also consider vendor extensions and non-GNU linkers) would<br>
> need their own mapping and would need additional support for every single<br>
> variant of an option.  This makes adding support for a flag extremely<br>
> expensive IMO.<br>
<br>
</span>Is some sense that is the idea: forcing each feature to be documented<br>
and discussed. What feature other than "add that lib" do you have in mind?<br></blockquote><div><br></div><div>What about trying to do something like the "-framework" option (thinking along the various things that swift has to deal with, which don't exist yet) or the embedded AST modules (for swift debugging) or additional search paths.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Cheers,<br>
Rafael<br>
</blockquote></div><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>