Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [asan] refactor the use-after-return API so that the size class is computed ↵ | Kostya Serebryany | 2013-09-10 | 1 | -9/+0 | |
| | | | | | | at compile time instead of at run-time. compiler-rt part llvm-svn: 190406 | |||||
* | Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where ↵ | Timur Iskhodzhanov | 2013-08-13 | 1 | -65/+59 | |
| | | | | | | SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used llvm-svn: 188261 | |||||
* | [ASan] Change the ABI of __asan_before_dynamic_init function: now it takes ↵ | Alexey Samsonov | 2013-03-26 | 1 | -4/+4 | |
| | | | | | | pointer to private string with module name. This string serves as a unique module ID in ASan runtime. compiler-rt part llvm-svn: 178014 | |||||
* | [asan] Change the way we report the alloca frame on stack-buff-overflow. | Kostya Serebryany | 2013-03-22 | 1 | -2/+7 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. compiler-rt part, llvm part will follow. 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 <<<<<<<<<<<<<< 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' llvm-svn: 177723 | |||||
* | [asan] while generating the description of a global variable, emit the ↵ | Kostya Serebryany | 2013-03-18 | 1 | -2/+3 | |
| | | | | | | module name in a separate field, thus not duplicating this information if every description. This decreases the binary size (observed up to 3%). https://code.google.com/p/address-sanitizer/issues/detail?id=168 . This changes the asan API version. compiler-rt part, llvm-part will follow llvm-svn: 177253 | |||||
* | [tsan] simplify tsan-vs-gvn test since gvn vs tsan is now fixed; fix lint | Kostya Serebryany | 2013-02-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 175037 | |||||
* | [asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives ↵ | Kostya Serebryany | 2013-02-12 | 1 | -1/+5 | |
| | | | | | | roughly 5% speedup. Since this is an ABI change, bump the asan ABI version by renaming __asan_init to __asan_init_v1. compiler-rt part llvm-svn: 174958 | |||||
* | [ASan] Split ASan interface header into private and public parts. Add a test ↵ | Alexey Samsonov | 2013-01-31 | 1 | -0/+131 | |
that makes sure users can include interface header llvm-svn: 174058 |