Commit Graph

160 Commits

Author SHA1 Message Date
Kostya Serebryany 9366d42e91 [asan] fix a bug (issue 19) where dlclose and the following mmap caused a false positive. run-time part.
llvm-svn: 146687
2011-12-15 21:55:34 +00:00
Kostya Serebryany e8a7d2aef8 [asan] regression test for asan issue 19, currently fails.
llvm-svn: 146681
2011-12-15 20:38:14 +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 e85da73553 [asan] fix the test runner to detect build breakages; add a test for -pie
llvm-svn: 146528
2011-12-14 00:05:22 +00:00
Kostya Serebryany 1d337a5e06 [asan] fix some more format warnings in sysinfo/sysinfo.cc
llvm-svn: 146526
2011-12-13 23:34:59 +00:00
Kostya Serebryany d47a91ad2a [asan] canonicalise the output for double-free and wrong-free. fixes asan issue 18
llvm-svn: 146501
2011-12-13 19:16:36 +00:00
Kostya Serebryany 0698b852ed [asan] fix asan-rt interceptors on Snow Leopard. Patch by glider@google.com
llvm-svn: 146263
2011-12-09 18:18:54 +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 7487a0ae1f [asan] fix output test to not require debug symbols in asan run-time
llvm-svn: 146212
2011-12-09 00:18:21 +00:00
Kostya Serebryany 7c01c1af19 [asan] better test for use-after-return mode
llvm-svn: 146203
2011-12-08 23:30:48 +00:00
Kostya Serebryany 9b5673cf5a [asan] fresh version of mach_override; added mach_override/README.txt. Patch by glider@google.com
llvm-svn: 146166
2011-12-08 19:14:07 +00:00
Kostya Serebryany 9752158954 [asan] update the soon-to-be-depricated asan makefile to use the new path for asan-rt (affects only linux)
llvm-svn: 146162
2011-12-08 18:46:33 +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 8b815e1a08 [asan] GCD tests on Mac: prevent optimization and enable. Patch by glider@google.com
llvm-svn: 145953
2011-12-06 19:10:48 +00:00
Kostya Serebryany 8b277533b6 [asan] remove format warnings in sysinfo/sysinfo.cc
llvm-svn: 145886
2011-12-06 01:08:31 +00:00
Kostya Serebryany ab7940f6e1 [asan]: test a pure C file with -faddress-sanitizer; lint fixes
llvm-svn: 145848
2011-12-05 20:44:30 +00:00
Kostya Serebryany 0e069e2aa9 [asan] add the test for bug 11468
llvm-svn: 145839
2011-12-05 19:20:57 +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 92ebcadfe4 [asan] cleanup memset/memmove/memcpy interceptors and enable them on Mac. Patch by samsonov@google.com
llvm-svn: 145826
2011-12-05 18:56:29 +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 551a1739b8 [asan] get rid of some more dependency on libstdc++
llvm-svn: 145743
2011-12-03 02:23:25 +00:00
Kostya Serebryany 26c5df4733 [asan] micro-benchmark for use-after-return fake stack
llvm-svn: 145739
2011-12-03 01:44:48 +00:00
Kostya Serebryany b89f2a6e78 [asan] put back -O2 which was lost quite some time ago and caused noticeable perf drop in malloc-intensive apps. doh.
llvm-svn: 145723
2011-12-02 23:04:12 +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 c5be44aaa2 [asan] quick fix for mac build, second attempt. Sorry for spam.
llvm-svn: 145694
2011-12-02 18:52:35 +00:00
Kostya Serebryany 196cd6af90 [asan] quick fix for mac build
llvm-svn: 145692
2011-12-02 18:48: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 2003d39f7c build: Add ModuleName per-subdir variable as a way to organize the different
sets of functions/objects into high level groups. Currently we have "builtins"
(the main compiler-rt code), "profile", and "asan".
 - Use this to define CommonFunctions and ArchFunctions to only reference the
   builtins functions.

llvm-svn: 145674
2011-12-02 02:42:07 +00:00
Daniel Dunbar 4e3a11ba57 lib/asan: Fix possible type mismatches.
llvm-svn: 145664
2011-12-02 01:36:38 +00:00
Daniel Dunbar 9c665e36d4 lib/asan: Attempt to ensure __WORDSIZE gets defined, it is not always set by
Darwin's stdint.h for example.

llvm-svn: 145663
2011-12-02 01:32:27 +00:00
Kostya Serebryany 70e163b507 add/update LICENSE.TXT files for the third_party code used by asan
llvm-svn: 145659
2011-12-02 01:12:36 +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
Daniel Dunbar 12024d00a7 asan: Fill in integration with compiler-rt/make build.
llvm-svn: 145648
2011-12-01 23:35:56 +00:00
Daniel Dunbar 5dc7770bf7 asan: Suppress a -Wbitwise-op-parentheses.
llvm-svn: 145647
2011-12-01 23:35:51 +00:00
Daniel Dunbar fc4a4a3cbc asan: #if 0 out some unused functions (we build with -Werror).
llvm-svn: 145645
2011-12-01 23:35:47 +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 f318e29102 test asan at -O0
llvm-svn: 145532
2011-11-30 22:27:30 +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 9d1eee9e2a fix asan-rt build on Mac. Patch by glider@google.com
llvm-svn: 145496
2011-11-30 17:33:13 +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
Daniel Dunbar e2ed5fb636 lib/int_util: My refactoring to allow shared utility code had a fatal flaw when
multiple .a files would end up with duplicate strong definitions. This could
cause link failures in certain scenarios when both definitions got loaded.
 - The best solution I see for this (aside from not factoring out the utility
   code) is to mark the definitions weak. Better solutions appreciated!

llvm-svn: 145427
2011-11-29 19:44:14 +00:00
Daniel Dunbar fb16114782 lib: Import GCDA profiling support from LLVM.
- I'm in the process of moving this here but it will live in both places until
   the ancilliary support is ready.
 - Currently unused.

llvm-svn: 144865
2011-11-17 00:12:10 +00:00
Daniel Dunbar 82f9c199e8 lib/int_math: Some versions of GCC don't provide __builtin_isfinite. Support
them.

llvm-svn: 144810
2011-11-16 18:56:55 +00:00
Daniel Dunbar 960d55e9ff lib/ppc: Fix a refacto.
llvm-svn: 144809
2011-11-16 18:56:53 +00:00
Daniel Dunbar 2139c52d33 lib: Finish int_math.h definitions using compiler builtins and eliminate
implementation use of <math.h>.

llvm-svn: 144786
2011-11-16 07:33:06 +00:00
Daniel Dunbar ddf1890a5e lib: Starting thinning out the dependency on math.h by using compiler builtins
where available.

llvm-svn: 144785
2011-11-16 07:33:00 +00:00