<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/Instrumentation, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/Instrumentation?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/Instrumentation?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-03-28T22:40:08Z</updated>
<entry>
<title>Minor simplification.</title>
<updated>2013-03-28T22:40:08Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-03-28T22:40:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f2a2806baf3763d551a9f361124b608b2eed66fa'/>
<id>urn:sha1:f2a2806baf3763d551a9f361124b608b2eed66fa</id>
<content type='text'>
Go ahead and use the full path for both the .gcno and .gcda files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178302 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[tsan] make sure memset/memcpy/memmove are not inlined in tsan mode</title>
<updated>2013-03-28T11:21:13Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2013-03-28T11:21:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f464481db0c3b5404004b510921ca454803fd1d0'/>
<id>urn:sha1:f464481db0c3b5404004b510921ca454803fd1d0</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178230 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use the full path when outputting the `.gcda' file.</title>
<updated>2013-03-26T22:47:50Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-03-26T22:47:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=39c41c3c93e0d223792acb093adce21a714b01c6'/>
<id>urn:sha1:39c41c3c93e0d223792acb093adce21a714b01c6</id>
<content type='text'>
If we compile a single source program, the `.gcda' file will be generated where
the program was executed. This isn't desirable, because that place may be at an
unpredictable place (the program could call `chdir' for instance).

Instead, we will output the `.gcda' file in the same place we output the `.gcno'
file. I.e., the directory where the executable was generated. This matches GCC's
behavior.

&lt;rdar://problem/13061072&gt; &amp; PR11809


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178084 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[ASan] Change the ABI of __asan_before_dynamic_init function: now it takes pointer to private string with module name. This string serves as a unique module ID in ASan runtime. LLVM part</title>
<updated>2013-03-26T13:05:41Z</updated>
<author>
<name>Alexey Samsonov</name>
<email>samsonov@google.com</email>
</author>
<published>2013-03-26T13:05:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ca825ea24de2f3d819845ee01796dc6c7a45170d'/>
<id>urn:sha1:ca825ea24de2f3d819845ee01796dc6c7a45170d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178013 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[asan] Change the way we report the alloca frame on stack-buff-overflow.</title>
<updated>2013-03-22T10:37:20Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2013-03-22T10:37:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3016056769639878b4f152838f0cf16d2e482339'/>
<id>urn:sha1:3016056769639878b4f152838f0cf16d2e482339</id>
<content type='text'>
Before: the function name was stored by the compiler as a constant string
and the run-time was printing it.
Now: the PC is stored instead and the run-time prints the full symbolized frame.
This adds a couple of instructions into every function with non-empty stack frame,
but also reduces the binary size because we store less strings (I saw 2% size reduction).
This change bumps the asan ABI version to v3.

llvm part.

Example of report (now):
==31711==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffa77cf1c5 at pc 0x41feb0 bp 0x7fffa77cefb0 sp 0x7fffa77cefa8
READ of size 1 at 0x7fffa77cf1c5 thread T0
    #0 0x41feaf in Frame0(int, char*, char*, char*) stack-oob-frames.cc:20
    #1 0x41f7ff in Frame1(int, char*, char*) stack-oob-frames.cc:24
    #2 0x41f477 in Frame2(int, char*) stack-oob-frames.cc:28
    #3 0x41f194 in Frame3(int) stack-oob-frames.cc:32
    #4 0x41eee0 in main stack-oob-frames.cc:38
    #5 0x7f0c5566f76c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
    #6 0x41eb1c (/usr/local/google/kcc/llvm_cmake/a.out+0x41eb1c)
Address 0x7fffa77cf1c5 is located in stack of thread T0 at offset 293 in frame
    #0 0x41f87f in Frame0(int, char*, char*, char*) stack-oob-frames.cc:12  &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; this is new
  This frame has 6 object(s):
    [32, 36) 'frame.addr'
    [96, 104) 'a.addr'
    [160, 168) 'b.addr'
    [224, 232) 'c.addr'
    [288, 292) 's'
    [352, 360) 'd'




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177724 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>tsan: handle vptr loads specially</title>
<updated>2013-03-22T08:51:22Z</updated>
<author>
<name>Dmitry Vyukov</name>
<email>dvyukov@google.com</email>
</author>
<published>2013-03-22T08:51:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ab78ac1a2d55cd81e42f4688fbaa7bd689e6291f'/>
<id>urn:sha1:ab78ac1a2d55cd81e42f4688fbaa7bd689e6291f</id>
<content type='text'>
This is required to determine ctor/dtor vs virtual call races.
http://llvm-reviews.chandlerc.com/D566



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177717 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[msan] Add an option to disable poisoning of shadow for undef values.</title>
<updated>2013-03-21T09:38:26Z</updated>
<author>
<name>Evgeniy Stepanov</name>
<email>eugeni.stepanov@gmail.com</email>
</author>
<published>2013-03-21T09:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=930a4fa8e5ef7d9937635d9058d6ab315fa4a314'/>
<id>urn:sha1:930a4fa8e5ef7d9937635d9058d6ab315fa4a314</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177630 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Call the new llvm_gcov_init function to register the environment.</title>
<updated>2013-03-20T21:13:59Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-03-20T21:13:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8640c6a5227b75666e02424e2181289692138348'/>
<id>urn:sha1:8640c6a5227b75666e02424e2181289692138348</id>
<content type='text'>
Use the new `llvm_gcov_init' function to register the writeout and flush
functions. The initialization function will also call `atexit' for some cleanups
and final writout calls. But it does this only once. This is better than
checking for the `main' function, because in a library that function may not
exist.
&lt;rdar://problem/12439551&gt;


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177579 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Register the GCOV writeout functions so that they're emitted serially.</title>
<updated>2013-03-19T21:03:22Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-03-19T21:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=18764716861243c58a711a92190624dc2f6aafc9'/>
<id>urn:sha1:18764716861243c58a711a92190624dc2f6aafc9</id>
<content type='text'>
We don't want to write out &gt;1000 files at the same time. That could make things
prohibitively expensive. Instead, register the "writeout" function so that it's
emitted serially.
&lt;rdar://problem/12439551&gt;


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177437 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Emit the linkage name instead of the function name, when available. This means</title>
<updated>2013-03-19T01:37:55Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2013-03-19T01:37:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5d22d02fac5ef25414c0fdd843b0fabba4998d6e'/>
<id>urn:sha1:5d22d02fac5ef25414c0fdd843b0fabba4998d6e</id>
<content type='text'>
that we'll prefer to emit the mangled C++ name (pending a clang change).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177371 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
