483 Commits

Author SHA1 Message Date
Kostya Serebryany
b0712f8e68 [asan] output test for memcmp
llvm-svn: 152594
2012-03-13 01:04:06 +00:00
Timur Iskhodzhanov
2f48b870f3 [ASan] Add back the support for /MT; intercept statically-linked functions
llvm-svn: 152557
2012-03-12 11:45:09 +00:00
Timur Iskhodzhanov
fead7f5aa5 [ASan] Use WriteFile instead of fwrite in AsanWrite
llvm-svn: 152540
2012-03-11 12:45:12 +00:00
Kostya Serebryany
b0f9354168 [asan] use O(log(N)) algorithm instead of O(N) in __asan_get_ownership
llvm-svn: 152467
2012-03-10 01:30:01 +00:00
Kostya Serebryany
8aff411add [asan] add a (disabled) stress test for __asan_get_ownership
llvm-svn: 152362
2012-03-09 01:48:18 +00:00
Kostya Serebryany
f7fc1d4859 [asan]: fix off-by-one error in stack unwinder (asan issue #44; reproduced thanks to 'csmith' fuzzer)
llvm-svn: 152347
2012-03-08 22:25:08 +00:00
Kostya Serebryany
c7835f301e [asan] don't use dl_iterate_phdr on linux, go back to using /proc/self/maps. Hopefully fixes the problem reported by our mozilla friends.
llvm-svn: 152341
2012-03-08 21:19:07 +00:00
Timur Iskhodzhanov
bc08fed082 [ASan] Fix lint warning
llvm-svn: 152226
2012-03-07 11:33:15 +00:00
Timur Iskhodzhanov
d8dd07f2ff [ASan/Win] Intercept _msize, required for running SQLite
llvm-svn: 152224
2012-03-07 11:19:26 +00:00
Alexander Potapenko
b780ad9117 Force __asan_handle_no_return into the binary built with ASan.
llvm-svn: 152117
2012-03-06 11:45:59 +00:00
Eli Friedman
e781266905 Make sure to properly ifdef out an unused function on OSX < 10.6. PR12136. Patch from Jeremy Huddleston.
llvm-svn: 152085
2012-03-06 01:21:14 +00:00
Daniel Dunbar
030e0a866c platform/clang_darwin: Fix a comment.
llvm-svn: 152058
2012-03-05 20:46:09 +00:00
Daniel Dunbar
cdf9bf7048 make/clang_darwin: Tweak CheckArches function to force the integrated-as and use
the stub SDK to try and ensure we always pick up the right archs when they
should be able to be used.
 - Also, warn when we drop an architecture.

This is a reapplication of r150232 that should stick now that we have the
integrated assembler on for ARM.

llvm-svn: 152057
2012-03-05 20:46:06 +00:00
Evgeniy Stepanov
f485c3ccbd [asan] Add a negative test for memcpy of long double.
llvm-svn: 151888
2012-03-02 10:42:10 +00:00
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