<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Oct 16, 2014 at 1:16 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 16 October 2014 14:27, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>
> This patch seems to have broke out internal test. I'm still investigating,<br>
> but it looks like it made global object's constructors to be called twice in<br>
> some situation. Do you have any idea why this patch could cause such<br>
> behavior?<br>
<br>
</span>No, sorry. I wouldn't expect this to have any difference in code<br>
produced by llvm itself. Do you see any use of section symbols in<br>
expressions in the .s? Does it work if you use GAS instead of MC?<br></blockquote><div><br></div><div>I compared the DSOs built with and without this patch, and found that although the size of .ctor sections are the same, the bad DSO contains repetition. So some constructors are called more than once (and probably some are not called at all). That seems the direct cause of the issue.</div><div><br></div><div>The test is gigantic and having a lot of dependencies. It takes a little bit more time to understand what's going on there.</div></div></div></div>