Commit Graph

296 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 0e5704607b build compiler-rt with -fPIC, otherwise the run-time libs will not link with -pie, at least on linux
llvm-svn: 146499
2011-12-13 18:58:47 +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
Daniel Dunbar 6e09995159 SDK/linux: Fix braindead pasto, caught by Matt Beaumont-Gay.
llvm-svn: 146188
2011-12-08 21:50:03 +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
Daniel Dunbar a8ad183a4c platform/clang_linux: Switch builtin and profile libraries to build using the
stub SDK.
 - This allows us to build both the m32 and m64 variants without worrying about
   whether or not the user has the headers for the alternate arch installed.

llvm-svn: 146132
2011-12-08 02:39:54 +00:00
Daniel Dunbar 8142a9f02b SDKs: Sketch an initial stub SDK for Linux, I believe this suffices for building
the main compiler-rt and profile modules, at least on x86.

llvm-svn: 146131
2011-12-08 02:39:23 +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
Daniel Dunbar 6d4db897a9 www: Add some more notes to compiler-rt web page.
llvm-svn: 146047
2011-12-07 18:43:12 +00:00
Kostya Serebryany 4236c97ccd build all C++ files in compiler-rt with -fno-exceptions
llvm-svn: 145967
2011-12-06 21:11:50 +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
Daniel Dunbar 1ad92487ff platform/clang_linux: Add profile and asan libs on x86.
llvm-svn: 145950
2011-12-06 18:25:42 +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 5cd49adb2d platform/clang_darwin: Add asan runtime library configuration.
llvm-svn: 145649
2011-12-01 23:35:59 +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 6da8946202 build/make: Add rule for .cc files.
llvm-svn: 145646
2011-12-01 23:35:49 +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