Commit Graph

469 Commits

Author SHA1 Message Date
Alexander Potapenko 8e9d772c5a Force __asan_set_death_callback into the resulting binary.
llvm-svn: 151808
2012-03-01 14:39:21 +00:00
Timur Iskhodzhanov 972720e564 [ASan] Replace CRT .dll malloc with our implementation at asan_init() time
llvm-svn: 151715
2012-02-29 11:43:03 +00:00
Alexander Potapenko 7e07f56811 Introduce __asan_set_error_report_callback() to allow the client program post-process the error reports.
If the callback is set, Report() and Printf() print the reports into a buffer (together with stderr), which is then passed to the client.

llvm-svn: 151528
2012-02-27 14:06:48 +00:00
Evgeniy Stepanov d84e16e6a3 Replace some #ifdef(s) with plain if(s).
llvm-svn: 151526
2012-02-27 13:07:29 +00:00
Alexey Samsonov a1a3a2ffc3 AddressSanitizer: add some checks to AsanChunkFifoList::PushList
llvm-svn: 151521
2012-02-27 09:06:10 +00:00
Kostya Serebryany 6ad2115575 [asan] don't compile gtest with asan when building asan tests
llvm-svn: 151391
2012-02-24 20:49:36 +00:00
Timur Iskhodzhanov 0f9c9a5332 [ASan] Intercept CreateThread on Windows
llvm-svn: 151366
2012-02-24 15:28:43 +00:00
Alexey Samsonov 53e191e77e AddressSanitizer: quick fix - undef INT32_MIN etc to avoid macro redefinition
llvm-svn: 151165
2012-02-22 16:12:46 +00:00
Alexey Samsonov d6651509d0 AddressSanitizer: get rid of stdlib.h and add (smaller) stddef.h instead
llvm-svn: 151162
2012-02-22 14:07:06 +00:00
Timur Iskhodzhanov 36d297d27f [ASan] Intercept functions on Windows - first version
llvm-svn: 151161
2012-02-22 13:59:49 +00:00
Alexey Samsonov a5b3130e86 AddressSanitizer: get rid of limits.h, use constants for fixed size integral types instead.
llvm-svn: 151159
2012-02-22 12:54:04 +00:00
Evgeniy Stepanov abaf196be3 [asan] Remove mentions of pthread*_t from interceptors.
Some platforms do not define pthread_t in stdlib.h.

llvm-svn: 151158
2012-02-22 12:31:25 +00:00
Alexey Samsonov 2df8afa075 AddressSanitizer: fix Makefile.old - gtest should depend on libasan
llvm-svn: 151157
2012-02-22 11:59:44 +00:00
Timur Iskhodzhanov 94602b48ee [ASan] Fix style + suppress 'long' lint warnings
llvm-svn: 151149
2012-02-22 09:28:14 +00:00
Evgeniy Stepanov d179ec614e Update source code links in LICENSE.TXT.
mach_override has been moved to a different path.
sysinfo is gone.

llvm-svn: 151148
2012-02-22 09:21:02 +00:00
Alexander Potapenko 2c0ed61c7a Move the contents of AsanProcMaps::Dump() into AsanDumpProcessMaps() for Posix systems.
Define AsanDumpProcessMaps as unimplemented on Windows.

This should fix the Windows build.

llvm-svn: 151147
2012-02-22 09:11:55 +00:00
Timur Iskhodzhanov 3a32ed913b [ASan] Fix a wrong filename mentioned in a comment
llvm-svn: 151145
2012-02-22 08:56:25 +00:00
Alexander Potapenko c259ab3cac Dump the process memory map if any of the mappings interleaves with the shadow.
llvm-svn: 151141
2012-02-22 08:27:32 +00:00
Alexander Potapenko fce2ca9f66 Add AsanProcMaps::Dump()
llvm-svn: 151139
2012-02-22 08:13:47 +00:00
Timur Iskhodzhanov a1c987ff38 [ASan] Add __asan_init to the list of C dynamic initializers to support /MD on Windows
llvm-svn: 151059
2012-02-21 16:24:23 +00:00
Alexander Potapenko 47038cae29 Fix the lib32 and lib64 targets.
llvm-svn: 151057
2012-02-21 14:11:52 +00:00
Timur Iskhodzhanov f2061453bd [ASan] Remove one FIXME - re-enable "free-not-malloced" reports on Windows
llvm-svn: 151051
2012-02-21 09:58:39 +00:00
Alexander Potapenko 0be25d562c Check that the FakeStack size is non-zero before looking into it.
Sometimes DescribeStackAddress is called before another thread's FakeStack is initialized, which could previously cause a check to fire.

llvm-svn: 151046
2012-02-21 08:45:41 +00:00
Alexey Samsonov 789456bf68 AddressSanitizer: Don't include GrandCentralDispatch headers in asan headers on Mac
llvm-svn: 151044
2012-02-21 08:30:57 +00:00
Alexey Samsonov 2d2f1711b7 AddressSanitizer: don't use /tmp for temporary file in output tests.
llvm-svn: 151042
2012-02-21 07:08:38 +00:00
Alexey Samsonov 0d0b406aba AddressSanitizer: use custom strtol/atoll functions
llvm-svn: 150812
2012-02-17 16:15:09 +00:00
Alexey Samsonov 8e7bfceb98 AddressSanitizer: fix lint
llvm-svn: 150802
2012-02-17 08:31:10 +00:00
Alexey Samsonov fbb50f19ad AddressSanitizer: revert r150683 - we can't get rid of headers that easily
llvm-svn: 150699
2012-02-16 17:00:45 +00:00
Evgeniy Stepanov 5d47e9164c [asan] Allocator tweaks for low memory systems.
llvm-svn: 150689
2012-02-16 13:35:11 +00:00
Alexey Samsonov ca37969c24 AddressSanitizer: don't include pthread.h and signal.h in interceptors on Mac
llvm-svn: 150683
2012-02-16 11:26:52 +00:00
Kostya Serebryany 10dbd68bd2 [asan] don't do AsanDie twice
llvm-svn: 150641
2012-02-16 00:40:18 +00:00
Alexey Samsonov 1e7e2370aa AddressSanitizer: don't include pthread.h in asan_interceptors.cc on Linux
llvm-svn: 150573
2012-02-15 09:14:26 +00:00
Alexey Samsonov 278c25f241 AddressSanitizer: simplify IntervalsAreSeparate function
llvm-svn: 150569
2012-02-15 08:27:34 +00:00
Timur Iskhodzhanov d2a9075de0 [ASan] Define an internal implementation of strchr to make stack OOB tests pass on Windows
llvm-svn: 150499
2012-02-14 19:33:04 +00:00
Evgeniy Stepanov 2ee5950dd0 [asan] Add lots of missing visibility attributes.
llvm-svn: 150479
2012-02-14 13:46:06 +00:00
Kostya Serebryany fcd535ba6c [asan] implement __asan_set_death_callback
llvm-svn: 150414
2012-02-13 21:24:29 +00:00
Alexander Potapenko 438447a7f3 Fix compilation on Mac.
llvm-svn: 150400
2012-02-13 17:14:31 +00:00
Alexander Potapenko 234d8c2168 Lint fix
llvm-svn: 150399
2012-02-13 17:11:19 +00:00
Alexander Potapenko 720aaefb8d Move the non-trivial implementation of AsanShadowRangeIsAvailable to asan_mac.cc
to avoid crashes on Linux and Win.

llvm-svn: 150398
2012-02-13 17:09:40 +00:00
Alexander Potapenko ef4521e239 Check whether the shadow memory range intersects with an existing mapping.
This should help to detect problems with ASLR or linker tricks early.

llvm-svn: 150391
2012-02-13 15:11:23 +00:00
Alexey Samsonov ea308d876b AddressSanitizer: re-enable lint for output tests
llvm-svn: 150386
2012-02-13 14:18:36 +00:00
Alexey Samsonov 54671b63be AddressSanitizer: fix llvm headers in output tests
llvm-svn: 150385
2012-02-13 14:05:07 +00:00
Alexey Samsonov 633c8be0ae AddressSanitizer: remove match_output.py, split expected output into OS-specific and OS-independent parts
llvm-svn: 150384
2012-02-13 13:59:24 +00:00
Evgeniy Stepanov c5d845dc09 [asan] Add a missing include.
llvm-svn: 150382
2012-02-13 12:37:56 +00:00
Evgeniy Stepanov 450c123218 [asan] Add a missing return.
It is technically reachable on Android, where pthread_exit is not
marked noreturn.

llvm-svn: 150381
2012-02-13 12:36:44 +00:00
Alexey Samsonov 92a0b806a6 AddressSanitizer: Convert templates for output tests to FileCheck format and move them inside sources
llvm-svn: 150375
2012-02-13 12:21:58 +00:00
Evgeniy Stepanov b25d0d2318 [asan] Return type of index() is char*.
This is important for Android, where we can't keep system headers
from leaking into asan_interceptors.cc.

llvm-svn: 150374
2012-02-13 12:12:32 +00:00
Evgeniy Stepanov da7522b551 [asan] Disable signal&sigaction interceptors on Android.
llvm-svn: 150373
2012-02-13 12:04:36 +00:00
Evgeniy Stepanov 45fd36110b [asan] Default visibility for __asan_handle_no_return.
llvm-svn: 150372
2012-02-13 11:55:24 +00:00
Evgeniy Stepanov 56ae29f92d [asan] Fix a crash in GetCurrent() of an undead thread.
llvm-svn: 150371
2012-02-13 11:53:24 +00:00