Alexander Potapenko
f519564d7c
Make compiler-rt/trunk/lib/asan compileable with Visual Studio 2008 on Windows.
...
Patch by Timur Iskhodzhanov (timurrrr@google.com )
To test:
$ cl /c *.c*
in the asan directory.
The code fails to link if you omit the "/c" part but that's one of the
next steps,
as well as a few TODO's I've put into the Windows-specific code.
llvm-svn: 149130
2012-01-27 15:15:04 +00:00
Evgeniy Stepanov
84c44a8b8b
EHABI-based stack trace on ARM.
...
The change removes the unused FLAG_fast_unwind, and forces EHABI-based unwind
on ARM, and fast (FP-based) unwind everywhere else.
llvm-svn: 148468
2012-01-19 11:34:18 +00:00
Kostya Serebryany
86d4492627
[asan] fix ReadFileToBuffer to correctly handle files from /proc/ (asan issue 27)
...
llvm-svn: 148311
2012-01-17 18:00:07 +00:00
Alexander Potapenko
553c208d22
This patch moves the code reading /proc/self/environ into AsanGetEnv
...
in asan_linux.cc, because /proc is unavailable on Mac.
Instead the Mac version of AsanGetEnv iterates over the array of
environment variables obtained from _NSGetEnviron()
llvm-svn: 148114
2012-01-13 12:59:48 +00:00
Evgeniy Stepanov
837fe5bcc9
Call asan_init from .preinit_array.
...
Protected by an #ifdef, disabled by default.
llvm-svn: 147932
2012-01-11 08:17:19 +00:00
Kostya Serebryany
0c8fa7b8ed
[asan] remove OS-dependent includes from asan_interceptors.h
...
llvm-svn: 147916
2012-01-11 02:32:40 +00:00
Kostya Serebryany
edb4a8a128
[asan] don't include unistd.h in the headers
...
llvm-svn: 147811
2012-01-09 23:11:26 +00:00
Kostya Serebryany
65518014e2
[asan] don't use strstr/strncat from libc, use our own versions instead
...
llvm-svn: 147807
2012-01-09 22:20:49 +00:00
Kostya Serebryany
5be458ccfd
[asan] refactoring: move some common linux/mac code to asan_posix.cc
...
llvm-svn: 147788
2012-01-09 19:18:27 +00:00
Kostya Serebryany
9fd01e5ea5
[asan] refactoring: move all interceptors to a single file
...
llvm-svn: 147784
2012-01-09 18:53:15 +00:00
Kostya Serebryany
3f4b9bb4a0
[asan] do not use new/delete for the internal thread structure
...
llvm-svn: 147674
2012-01-06 19:44:11 +00:00
Kostya Serebryany
25d6c1b3c3
[asan] move more code into OS-specific files
...
llvm-svn: 147671
2012-01-06 19:11:09 +00:00
Kostya Serebryany
adebf0caf5
[asan] cleanup: remove the SIGILL-related code (rt part)
...
llvm-svn: 147665
2012-01-06 18:02:04 +00:00
Kostya Serebryany
2b08718bba
[asan] move more stuff to OS-specific files
...
llvm-svn: 147647
2012-01-06 02:12:25 +00:00
Kostya Serebryany
cd271f5440
[asan] implement our own /proc/self/maps reader and use it on linux instead of sysinfo.h
...
llvm-svn: 147581
2012-01-05 00:44:33 +00:00
Kostya Serebryany
d2d043be45
[asan] force the __asan_unregister_globals to reside in the runtime library
...
llvm-svn: 147329
2011-12-28 23:35:46 +00:00
Kostya Serebryany
a772096156
[asan] refactoring: don't #include <sys/mman.h> in non-os-specific files
...
llvm-svn: 147328
2011-12-28 23:28:54 +00:00
Kostya Serebryany
6c4bd806fa
[asan] use custom libc-free getenv; a bit of refactoring around mmap calls
...
llvm-svn: 147326
2011-12-28 22:58:01 +00:00
Kostya Serebryany
2b87e403c4
[asan] no ucontext on Android. patch by eugeni.stepanov@gmail.com
...
llvm-svn: 147320
2011-12-28 20:22:21 +00:00
Kostya Serebryany
76eca5e53a
[asan] enable memset/memcpy/memmove interceptors in asan-rt (in addition to those in the compiler module)
...
llvm-svn: 147319
2011-12-28 19:55:30 +00:00
Kostya Serebryany
46c70d33d7
[asan] make sure __asan_report_* functions are not inlined (so that they are not optimized away and are kept in the resulting library). Patch by glider@google.com
...
llvm-svn: 147302
2011-12-28 00:59:39 +00:00
Kostya Serebryany
dd1386f882
new() has slightly different signature on Android. This patch adds the
...
llvm-svn: 147300
2011-12-27 23:11:09 +00:00
Kostya Serebryany
6d37656c1a
[asan] revert r146529: we do need to build asan-rt as a shared library. Will need to find a different way to modify preinit_array
...
llvm-svn: 146703
2011-12-15 23:08:00 +00:00
Kostya Serebryany
7fb33a3d40
[asan] poison the internal asan heap memory, just in case. Change Printf to Report when debugging globals.
...
llvm-svn: 146663
2011-12-15 17:41:30 +00:00
Kostya Serebryany
9bd5208965
[asan] insert __asan_init into ".preinit_array" section. Linux-only.
...
llvm-svn: 146529
2011-12-14 00:19:03 +00:00
Kostya Serebryany
72fde3727e
[asan] make use-after-return mode more robust: allow to call instrumented functions while reporting an error
...
llvm-svn: 146231
2011-12-09 01:49:31 +00:00
Kostya Serebryany
b50a539eba
[asan] move build-time config options from makefile to source (otherwise we need config options in all makefiles)
...
llvm-svn: 146161
2011-12-08 18:30:42 +00:00
Kostya Serebryany
f0d799a6bc
[asan] fix the error message for 16-byte accesses (it previously printed 'unknown-crash')
...
llvm-svn: 146075
2011-12-07 21:30:20 +00:00
Kostya Serebryany
ca207f0473
[asan] minor cleanup
...
llvm-svn: 145966
2011-12-06 21:10:15 +00:00
Kostya Serebryany
49a182fa12
[asan] always collect malloc statstics (removed FLAG_stats)
...
llvm-svn: 145838
2011-12-05 19:17:53 +00:00
Kostya Serebryany
93927f9e01
[asan] don't require __cxa_throw to be present in the process. This is the last dependency on libstdc++
...
llvm-svn: 145821
2011-12-05 17:56:32 +00:00
Kostya Serebryany
e4bada2c94
[asan] get rid of std::map. No STL and almost no libstdc++ left.
...
llvm-svn: 145706
2011-12-02 21:02:20 +00:00
Kostya Serebryany
2d27cdf621
[asan] minimize the use of STL. One bit is still left.
...
llvm-svn: 145691
2011-12-02 18:42:04 +00:00
Daniel Dunbar
cf7fb02388
build/asan: Better fix for ASAN i386 build on Darwin, this causes us to see the
...
non-standard struct names.
llvm-svn: 145658
2011-12-02 00:52:55 +00:00
Daniel Dunbar
8a5fd211ab
build/asan: Fix ASAN build for i386, for reasons I don't really understand we
...
get the DARWIN_UNIX03 definition on x86_64 but not on i386.
llvm-svn: 145657
2011-12-02 00:45:48 +00:00
Kostya Serebryany
5dfa4da0b9
[asan] flatten the asan-rt build slightly
...
llvm-svn: 145631
2011-12-01 21:40:52 +00:00
Kostya Serebryany
15dd3f2500
Refactor shadow poisoning done by asan-rt, no funtionality changes; patch by samsonov@google.com
...
llvm-svn: 145505
2011-11-30 18:50:23 +00:00
Kostya Serebryany
019b76f5fd
AddressSanitizer run-time library. Not yet integrated with the compiler-rt build system, but can be built using the old makefile. See details in README.txt
...
llvm-svn: 145463
2011-11-30 01:07:02 +00:00