Hi, Rafael,<br><br>Thanks a lot for the explanation!<br><br>Could you explain a bit more (sorry I'm not from a compiler background)? So, what's the difference in the analysis perspective? What does "reading ELF files and archives" and "creating a list of symbols passed to llvm's internalize pass" do?<br>
<br>I checked a little bit the corresponding .ll file generated according to the .bc file. It seems that symbols like struct and function names are preserved. What is missing here? Is it possible for you to give an simple example?<br>
<br>Thanks a lot! <br>Tianyin <br><br><br><div class="gmail_quote">On Tue, Jun 26, 2012 at 3:04 PM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@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 class="HOEnZb"><div class="h5">On 26 June 2012 16:46, Tianyin Xu <<a href="mailto:tixu@cs.ucsd.edu">tixu@cs.ucsd.edu</a>> wrote:<br>

> Hi,<br>
><br>
> I'm sorry if the question doesn't fit this mailing list. It seems that LLVM<br>
> does not have a user support mailing list so I post it here.<br>
><br>
> We're using the LLVM tool chain as our static analysis infrastructure. So,<br>
> basically we use LLVM to generate an aggregated .bc file and analyze the .bc<br>
> file.<br>
><br>
> The question I want to ask is what's the difference between using the LLVM<br>
> gold plugin to generate the .bc file and using llvm-link?<br>
><br>
> Previously, we use gold plugin which is quite handy. However, for some<br>
> special code base, we can only get a bunch of small .bc file, each of which<br>
> corresponding to a C or CPP file. So I'm thinking to use llvm-link to link<br>
> them together into one big .bc file. Here comes this question.<br>
<br>
</div></div>Gold is a full linker, so it is able to do things llvm-link is not,<br>
like reading ELF files and archives. Being a full linker, it is also<br>
able to create a list of symbols that are needed and pass that to<br>
llvm's internalize pass.<br>
<div class="im"><br>
> Thanks a lot for the help!<br>
><br>
> Best regards,<br>
> Tianyin<br>
<br>
<br>
</div>Cheers,<br>
Rafael<br>
</blockquote></div>