Dmitry Vyukov
dd95cd148b
tsan: fix lint warnings
...
llvm-svn: 169369
2012-12-05 10:16:02 +00:00
Alexander Potapenko
0a4e0f6d35
Fix a use-after-unmap bug in /proc/self/maps caching. The cached buffer was occasionally deleted in the MemoryMappingLayout destructor.
...
llvm-svn: 169335
2012-12-04 23:30:00 +00:00
Alexander Potapenko
e2b6d08459
Use a struct to hold the /proc/self/maps buffer on Linux.
...
llvm-svn: 169155
2012-12-03 21:21:22 +00:00
Alexander Potapenko
7811425843
Add caching to the MemoryMappingLayout class on Linux. This is necessary for the cases when a sandbox prevents ASan from reading the mappings
...
from /proc/self/maps.
The mappings are currently being cached on each access to /proc/self/maps. In the future we'll need to add an API that allows the client to notify ASan about the sandbox.
llvm-svn: 169076
2012-12-01 02:39:45 +00:00
Kostya Serebryany
734f1eb5f4
[asan/tsan] do not use __WORDSIZE macro, as it is glibc-private thing. Instead, define our own SANITIZER_WORDSIZE
...
llvm-svn: 168424
2012-11-21 12:38:58 +00:00
Kostya Serebryany
87e0464bfb
[asan] better support for powerpc and sparc targets (thanks to H.J. Liu and David Miller)
...
llvm-svn: 168358
2012-11-20 08:57:26 +00:00
Kostya Serebryany
cb9f62189b
[asan] support PowerPC and SPARC in sanitizer_linux.cc
...
llvm-svn: 168301
2012-11-19 07:53:36 +00:00
Kostya Serebryany
1f8922cf71
[asan] use #if defined __x86_64__ instead of #if __WORDSIZE == 64 in sanitizer_linux.cc
...
llvm-svn: 167883
2012-11-13 23:13:17 +00:00
Alexey Samsonov
ae9b18b607
[Sanitizer] add sanity checks for communication with external symbolizer
...
llvm-svn: 167617
2012-11-09 14:45:30 +00:00
Evgeniy Stepanov
49e8576a09
[*San]: handle EINTR.
...
llvm-svn: 165006
2012-10-02 13:41:40 +00:00
Dmitry Vyukov
56faa551b9
tsan: fix mac build
...
llvm-svn: 165004
2012-10-02 12:58:14 +00:00
Alexey Samsonov
97ca306641
[Sanitizer] Hoist functions to get/set stack size and re-exec from memory-sanitizer branch to sanitizer_common
...
llvm-svn: 164020
2012-09-17 09:12:39 +00:00
Alexey Samsonov
f6d2125829
[Sanitizer] implement readlink as syscall on Linux
...
llvm-svn: 163213
2012-09-05 14:48:24 +00:00
Alexey Samsonov
cc62211fbf
[Sanitizer] Rename ProcessMaps to MemoryMappingLayout and fix Windows build by providing stub implementation
...
llvm-svn: 162671
2012-08-27 13:48:48 +00:00
Alexey Samsonov
ef7758f561
[Sanitizer] move OS-dependent pieces of symbolizer to separate source files
...
llvm-svn: 161862
2012-08-14 13:00:32 +00:00
Alexey Samsonov
7acdc1738f
[Sanitizer] When obtaining the data for loaded modules, add address ranges of loadable segments only. Looks like address range of PT_TLS segment may intersect with loadable segments of other modules.
...
llvm-svn: 160498
2012-07-19 07:51:20 +00:00
Alexey Samsonov
961276af26
[Sanitizer] Extend a symbolizer code. Implemented for Linux only. Use dl_iterate_phdr to get virtual addresses of mapped module sections. To symbolize an address from a module, map this module to memory and obtain pointers to debug info sections. Later these pointers can be passed to constructor of DWARF context-in-memory from LLVM DebugInfo lib.
...
llvm-svn: 159652
2012-07-03 08:24:14 +00:00
Kostya Serebryany
5766a9e015
[asan] fix lint
...
llvm-svn: 159429
2012-06-29 14:14:32 +00:00
Kostya Serebryany
d32d537d63
[asan] get rid of libc's sscanf as it causes infinite recursion on Fedora.
...
llvm-svn: 159424
2012-06-29 13:05:36 +00:00
Kostya Serebryany
98390d0b71
[tsan] a bit more lint and Makefile changes to run tests from sanitizer_common
...
llvm-svn: 158821
2012-06-20 15:19:17 +00:00
Alexey Samsonov
58a3c58ec9
[Sanitizer] move different wrappers from TSan to common sanitizer runtime
...
llvm-svn: 158655
2012-06-18 08:44:30 +00:00
Alexey Samsonov
0c53a38abb
[Sanitizer] move portable GetEnv to common sanitizer runtime
...
llvm-svn: 158451
2012-06-14 14:07:21 +00:00
Alexey Samsonov
cf4d3a027d
[Sanitizer] Fix mac build.
...
llvm-svn: 158141
2012-06-07 07:32:00 +00:00
Alexey Samsonov
4b1f1031e6
[Sanitizer] factor out GetThreadStackTopAndBottom from ASan runtime to common.
...
llvm-svn: 158140
2012-06-07 07:13:46 +00:00
Alexey Samsonov
28a9895ee0
[Sanitizer] __asan::AsanProcMaps -> __sanitizer::ProcessMaps.
...
llvm-svn: 158139
2012-06-07 06:15:12 +00:00
Kostya Serebryany
64166ca86b
[tsan,asan] comment out O_CLOEXEC as it causes build failures on old linux kernels
...
llvm-svn: 158071
2012-06-06 14:11:31 +00:00
Alexey Samsonov
ca2b5d7abb
[Sanitizer] move internal_filesize and internal_dup2 from TSan to sanitizer_common.
...
llvm-svn: 158052
2012-06-06 07:30:33 +00:00
Alexey Samsonov
5bbf8290a7
[Sanitizer] rename sanitizer_defs.h to sanitizer_internal_defs.h
...
llvm-svn: 158001
2012-06-05 14:25:27 +00:00
Alexey Samsonov
7ac77d6b29
[Sanitizer] add sanitizer_posix.cc. Move more various functions into sanitizer_libc: sscanf, munmap, memchr
...
llvm-svn: 157994
2012-06-05 09:49:25 +00:00
Alexey Samsonov
03c8b846c4
[Sanitizer] add internal_{close,read,write} functions to sanitizer_libc
...
llvm-svn: 157990
2012-06-05 08:32:53 +00:00
Alexey Samsonov
dde1f11fe6
[Sanitizer] Add sanitizer_win.cc for windows-specific implementations of libc functions. Add internal_open.
...
llvm-svn: 157985
2012-06-05 07:05:10 +00:00
Alexey Samsonov
2c5fc3bb11
Created files sanitizer_linux.cc and sanitizer_mac.cc for platform-specific implementations of common functions. Turned asan_mmap into __sanitizer::internal_mmap.
...
llvm-svn: 157930
2012-06-04 14:27:50 +00:00