submitted the clang part: r162259.<div>Looking at the rest (there are minor problems, I may be able to fix them myself). <br><div><br></div><div><br></div><div>--kcc <br><br><div class="gmail_quote">On Tue, Aug 21, 2012 at 12:52 AM, Reid Watson <span dir="ltr"><<a href="mailto:reidw@google.com" target="_blank">reidw@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">OK, I re-reviewed what was contained in the patches.<br>
I had a few non-reviewed experiments accidentally included in the<br>
previous patches.<br>
I've attached the correct versions, containing only the properly<br>
reviewed changes.<br>
Sincere apologies for the trouble!<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Aug 20, 2012 at 1:14 PM, Reid Watson <<a href="mailto:reidw@google.com">reidw@google.com</a>> wrote:<br>
> Sorry, minor problem with the compiler-rt patch.<br>
><br>
> Please commit the attached version of the compiler-rt patch instead of<br>
> the previous one.<br>
><br>
> On Mon, Aug 20, 2012 at 10:57 AM, Reid Watson <<a href="mailto:reidw@google.com">reidw@google.com</a>> wrote:<br>
>> I've incorporated all the review comments in the attached patches.<br>
>> The tool is off by default, and enabled by adding -mllvm<br>
>> -asan-initialization-order to clang.<br>
>><br>
>> I don't have commit access, so I'd appreciate it if someone could<br>
>> commit these for me.<br>
>><br>
>> All the best,<br>
>> Reid<br>
>><br>
>> On Thu, Aug 16, 2012 at 6:09 PM, Reid Watson <<a href="mailto:reidw@google.com">reidw@google.com</a>> wrote:<br>
>>> I'll add in the prefix before the final version for commit.<br>
>>><br>
>>> The goal is to detect globals with dynamic initialization per the C++<br>
>>> standard, so that ASan knows which globals can only be accessed during<br>
>>> .  It's valid to access a statically initialized global inside of an<br>
>>> initializer, even if that global resides in a different TU.  Thus,<br>
>>> LLVM/ASan need to be able to distinguish between<br>
>>> dynamically/statically initialized globals.  I'm not certain this is<br>
>>> optimal, but there haven't been any unexpected false positives with<br>
>>> it.  We may be missing a few case, and the optimizer can certainly end<br>
>>> up leaving us with false negatives, but those are much better than<br>
>>> false positives.<br>
>>><br>
>>> On Thu, Aug 16, 2012 at 5:27 PM, Eric Christopher <<a href="mailto:echristo@apple.com">echristo@apple.com</a>> wrote:<br>
>>>><br>
>>>><br>
>>>> On Aug 16, 2012, at 1:05 AM, Kostya Serebryany <<a href="mailto:kcc@google.com">kcc@google.com</a>> wrote:<br>
>>>><br>
>>>>> +llvm-commits<br>
>>>>><br>
>>>>> Reid,<br>
>>>>><br>
>>>>> The LLVM and compiler-rt patches look good.<br>
>>>>> Please fix the remaining small issues (see my code review comments) and commit.<br>
>>>>> Hold on with the output tests for a bit since Alexey Samsonov is migrating them to cmake (please coordinate with him and commit as a separate patch).<br>
>>>>><br>
>>>>> The stress test should contain X files, Y linker initialized globals and Z dynamically initialized globals.<br>
>>>>> Such test only makes sense where all 3 numbers are large.<br>
>>>>> I guess you can commit a single .sh script into compiler-rt/lib/asan/scripts<br>
>>>><br>
>>>> The metadata should at least be prefixed with something like llvm.asan.<whatever> instead of just the name. That way it's more identifiable.<br>
>>>><br>
>>>> What's the idea behind the metadata use anyhow?<br>
>>>><br>
>>>> -eric<br>
</div></div></blockquote></div><br></div></div>