<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 10, 2014 at 4:21 PM, Duncan P. N. Exon Smith <span dir="ltr"><<a href="mailto:dexonsmith@apple.com" target="_blank">dexonsmith@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
> On 2014-Nov-10, at 14:53, Rafael Espíndola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br>
><br>
> On 10 November 2014 17:33, Tom Roeder <<a href="mailto:tmroeder@google.com">tmroeder@google.com</a>> wrote:<br><br>
>> Is there currently a way for me to give the gold plugin a list of names that<br>
>> shouldn't be internalized?<br>
><br>
> The current plugin doesn't even use internalize. It depends on the<br>
> linker's decision of what should be kept. Given that, your best option<br>
> is convincing the linker that the symbol is needed. One way to do it<br>
> is with the -u option:<br>
><br>
> $ ./build/bin/clang  test.o -flto -o test -Wl,-plugin-opt=save-temps<br>
> -Wl,-u -Wl,f<br>
<br>
</div></div>If you're able to modify IR, you should also be able to keep `@f` around<br>
by adding it to `@llvm.used`.<br>
<br></blockquote><div>For the record, the "-Wl,-u", "-Wl,name" method worked perfectly for me, so I didn't need to try modifying the IR in this case. Thanks! </div></div><br></div></div>