[llvm] r180094 - Tell MSan that memory initialized by libz is valid

Reid Kleckner rnk at google.com
Sat Apr 27 06:43:58 PDT 2013


No, not by default.  It depends on DynamoRIO and parts of Dr. Memory
for syscall interception.  It also adds considerable overhead which is
worth avoiding if you are in the fortunate position of being able to
compile the world minus libc.

I was working on DynamoRIO to try to make the dynamic part faster, but
it's hard.  :)

On Thu, Apr 25, 2013 at 4:36 PM, Rafael Ávila De Espíndola
<rafael.espindola at gmail.com> wrote:
> What about the dynamic instrumentation? It is not enabled by default?
>
> Sent from my iPhone
>
> On 2013-04-25, at 15:13, Reid Kleckner <rnk at google.com> wrote:
>
>> On Thu, Apr 25, 2013 at 2:06 PM, Nick Lewycky <nicholas at mxc.ca> wrote:
>>> On 04/23/2013 05:17 AM, Alexey Samsonov wrote:
>>>>
>>>> Author: samsonov
>>>> Date: Tue Apr 23 07:17:46 2013
>>>> New Revision: 180094
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=180094&view=rev
>>>> Log:
>>>> Tell MSan that memory initialized by libz is valid
>>>
>>>
>>> Why doesn't msan instrument this correctly? Or is libz not initializing all
>>> this memory?
>>
>> LLVM is using libz installed on the system, so it's not compiled with
>> msan.  Therefore msan can't see it initialize the memory.  One way to
>> solve this is to write custom interceptors around the interfaces that
>> mark output buffers and parameters as initialized.
>>
>> The alternative is to compile the world, which Evgeniy was pretty much
>> able to do for LLVM until libz was added.
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list