summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan
Commit message (Collapse)AuthorAgeFilesLines
...
* [ASan/Win] Fix a CHECK failure when an exception is thrown from a callback ↵Timur Iskhodzhanov2015-03-111-0/+46
| | | | | | passed to QueueUserWorkItem llvm-svn: 231947
* [asan] Allow users of asan_symbolize.py to forbid fallback to atos/addr2line.Sergey Matveev2015-03-061-0/+3
| | | | llvm-svn: 231492
* Move use of __builtin_longjmp under the same conditions as the onlyJoerg Sonnenberger2015-03-051-9/+9
| | | | | | caller of the function. llvm-svn: 231402
* [sanitizer] use simpler symbolizer interface (GetModuleNameForPc) where ↵Kostya Serebryany2015-03-051-7/+3
| | | | | | applicable llvm-svn: 231337
* [Sanitizer] Fix/suppress compiler warnings in unit tests.Alexey Samsonov2015-03-041-5/+5
| | | | llvm-svn: 231293
* [asan] attempting to fix the windows buildKostya Serebryany2015-03-031-0/+2
| | | | llvm-svn: 231171
* [asan] Since x32 has 32-bit pointers, it should use the same code sequence ↵Kostya Serebryany2015-03-031-2/+2
| | | | | | as ia32 for AddressSanitizer asm_flags test. Patch by H.J. Lu llvm-svn: 231052
* [ASan/Win] Work around PR22545: call LLVM global_dtors in the MD atexit()Timur Iskhodzhanov2015-03-022-72/+36
| | | | llvm-svn: 231000
* asan: fix windows build after commit 230978Dmitry Vyukov2015-03-021-17/+0
| | | | llvm-svn: 230980
* asan: fix signal handling during stoptheworldDmitry Vyukov2015-03-024-109/+0
| | | | | | | | | | | The problem is that without SA_RESTORER flag, kernel ignores the handler. So tracer actually did not setup any handler. Add SA_RESTORER flag when setting up handlers. Add a test that causes SIGSEGV in stoptheworld callback. Move SignalContext from asan to sanitizer_common to print better diagnostics about signal in the tracer thread. http://reviews.llvm.org/D8005 llvm-svn: 230978
* [asan] Demote "trying to poison/unpoison memory region" messages...Sergey Matveev2015-03-021-2/+2
| | | | | | ... to verbosity level 3. Because log spam. llvm-svn: 230974
* [CMake] Make sure we built one variant of i386/i686 runtime libraries.Alexey Samsonov2015-02-261-1/+1
| | | | llvm-svn: 230683
* Reland r230019 - [ASan] Make the argument of ↵Timur Iskhodzhanov2015-02-251-0/+3
| | | | | | | | '__sanitizer_annotate_contiguous_container' is not aligned error message easier to understand This incorporates the fix for ARM architecture suggested by Renato Golin. llvm-svn: 230506
* Reland r230419 - add __asan_default_suppressions() hook with a fix for WindowsTimur Iskhodzhanov2015-02-252-0/+14
| | | | llvm-svn: 230501
* Revert 230419, 230425, 230432.Nico Weber2015-02-252-12/+0
| | | | | | | They don't build on Windows. http://lab.llvm.org:8011/builders/sanitizer-windows/ went red for example. llvm-svn: 230461
* [asan] one more attempt to fix windows buildKostya Serebryany2015-02-251-0/+1
| | | | llvm-svn: 230432
* [asan] attempting to fix the windows build Kostya Serebryany2015-02-251-5/+4
| | | | llvm-svn: 230425
* [asan] add __asan_default_suppressions() hookKostya Serebryany2015-02-251-0/+12
| | | | llvm-svn: 230419
* [asan] add suppressions for odr violationsKostya Serebryany2015-02-253-2/+14
| | | | llvm-svn: 230409
* [ASan/Win] Add support for sanitizer allocator hooks, __asan_default_options ↵Timur Iskhodzhanov2015-02-242-7/+18
| | | | | | and __asan_on_error llvm-svn: 230344
* [ASan] Disable strict init-order checking if dlopen() is called.Alexey Samsonov2015-02-241-0/+6
| | | | | | | | | | | | | | | | Revise the fix to https://code.google.com/p/address-sanitizer/issues/detail?id=178: always disable strict init-order checking the first time dlopen() is called: at this point shared library is allowed to access globals defined in the main executable, as they are guaranteed to be initialized. Revise the test cases: * simplify init-order-dlopen.cc test case: make it Linux-specific (there's no strict init-order checking on other platforms anyway), and single-threaded. * reinforce init-order-pthread-create.cc test case: make sure that init-order checker would produce a false positive unless we turn it off at the moment we call pthread_create(). llvm-svn: 230288
* [asan] when registering globals, use the same unwinder as we use for malloc, ↵Kostya Serebryany2015-02-231-1/+1
| | | | | | instead of the one used for FATAL crash (which may be too slow) llvm-svn: 230256
* Revert "[ASan] Make the argument of ↵Renato Golin2015-02-221-2/+0
| | | | | | | | | | '__sanitizer_annotate_contiguous_container' is not aligned error message easier to understand" This reverts commit r230019, as it was breaking the ARM sanitizer buildbot and let other errors be introduced since it wasn't fixed/reverted in time. llvm-svn: 230179
* [Sanitizer] Refactor SuppressionContext class.Alexey Samsonov2015-02-202-17/+24
| | | | | | | | | | | | | | SuppressionContext is no longer a singleton, shared by all sanitizers, but a regular class. Each of ASan, LSan, UBSan and TSan now have their own SuppressionContext, which only parses suppressions specific to that sanitizer. "suppressions" flag is moved away from common flags into tool-specific flags, so the user now may pass ASAN_OPTIONS=suppressions=asan_supp.txt LSAN_OPIONS=suppressions=lsan_supp.txt in a single invocation. llvm-svn: 230026
* [ASan] Make the argument of '__sanitizer_annotate_contiguous_container' is ↵Timur Iskhodzhanov2015-02-201-0/+2
| | | | | | not aligned error message easier to understand llvm-svn: 230019
* [ASan/Win] Work around PR22545 - unregister globals when using the MD runtimeTimur Iskhodzhanov2015-02-202-9/+90
| | | | llvm-svn: 230018
* [ASan/Win] Thread sanitizer common interface through asan_win_dll_thunk.ccTimur Iskhodzhanov2015-02-191-0/+36
| | | | llvm-svn: 229860
* [Sanitizers] Move the common sanitizer interface from ↵Timur Iskhodzhanov2015-02-191-2/+5
| | | | | | | | sanitizer_internal_defs.h to a new sanitizer_interface_internal.h file Reviewed at http://reviews.llvm.org/D7758 llvm-svn: 229858
* Remove support for building sanitizers from Makefile/autoconf build on Linux.Alexey Samsonov2015-02-181-8/+6
| | | | | | | This is a re-application of r229554 restricted to Linux build only. Apple still uses Makefile/autoconf to build Clang and sanitizers. llvm-svn: 229756
* Revert "Remove support for building sanitizers from Makefile/autoconf build."Matthias Braun2015-02-172-6/+38
| | | | | | | | | This reverts commit r229556. Reverting this for now as internal apple builds rely on this functionality. llvm-svn: 229585
* Remove support for building sanitizers from Makefile/autoconf build.Alexey Samsonov2015-02-172-38/+6
| | | | | | | | They autotools build has a number of missing features, supports less OS, architectures, build configurations, doesn't have any tests and is hard to support in sync with CMake build. llvm-svn: 229556
* [LSan] Make parent tool responsible for initializing LSan flags.Alexey Samsonov2015-02-172-18/+36
| | | | | | | | | | | | | | | | | | | | | Summary: LSan can be combined with a parent tool (for now it's only ASan). Also, we allow LSAN_OPTIONS to override certain common flags. It means we have to parse LSAN_OPTIONS early enough, before the rest of the parent tool (including chunks of sanitizer_common) is initialized. In future, we can use the same approach for UBSan, after we embed it into ASan runtime in a similar way. Test Plan: regression test suite Reviewers: earthdok, eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7577 llvm-svn: 229519
* [asan] Support 'su' rooted devices in ASan setup script.Evgeniy Stepanov2015-02-161-41/+117
| | | | | | | | | | | | | | | | | Android devices may not support 'adb root', but be rooted with 'su' binary. This patch makes it possible to install ASAN to such devices. When --use-su flag is specified, most 'adb ...' commangs are changed to 'adb su -c "..."'. Some other notes: * 'readlink' changed to 'ls -l', since not all devices have readlink in their firmware. * removing ASan library step moved to very end, because 'su' may not run properly without this library until shell will be restarted. Patch by Dmitry <ripp at yandex-team dot ru>. llvm-svn: 229368
* [Sanitizer] Change InitializeFlags() signatures. NFC.Alexey Samsonov2015-02-123-5/+6
| | | | | | | These functions are always used to initialize singleton flags(), as well as other global data (common_flags()). llvm-svn: 228894
* [ASan] Print out a diagnostic when a global is unregisteredTimur Iskhodzhanov2015-02-111-0/+2
| | | | llvm-svn: 228838
* Fix ASan's Noinst unit testsKuba Brecka2015-02-105-1/+21
| | | | | | | | We currently skip all "Noinst" unit tests on OS X, which was probably caused when we removed the "allow_reexec" flag. The MaybeReexec function fails to re-execute when the runtime is linked statically, because there is no dylib to use. This patch adds an explicit DisableReexec function that is used from asan_noinst_test.cc and the runtime then doesn't try to re-execute. Reviewed at http://reviews.llvm.org/D7493 llvm-svn: 228740
* [compiler-rt] Make MaybeReexec properly process DYLD_INSERT_LIBRARIES when ↵Kuba Brecka2015-02-061-49/+60
| | | | | | | | | | | | using non-absolute paths MaybeReexec() in asan_mac.cc checks for presence of the ASan dylib in DYLD_INSERT_LIBRARIES, and if it is there, it will process this env. var. and remove the dylib from its value, so that spawned children don't have this variable set. However, the current implementation only works when using a canonical absolute path to the dylib, it fails to remove the dylib for example when using @executable_path. This patch changes the processing of DYLD_INSERT_LIBRARIES to comparing values only based on filenames (ignoring directories). Reviewed at http://reviews.llvm.org/D7160 llvm-svn: 228392
* Revert "[ASan] Add the new __asan_mz_* symbols to asan_interface_internal.h"Juergen Ributzka2015-02-042-19/+1
| | | | | | Reverting r228137 to unbreak the build bots. llvm-svn: 228172
* [ASan] Add the new __asan_mz_* symbols to asan_interface_internal.hAlexander Potapenko2015-02-042-1/+19
| | | | | | to fix the interface_symbols_darwin.c test. llvm-svn: 228137
* [ASan] Remove ifdefs for MAC_OS_X_VERSION_10_6, as ASan assumes OSX >= 10.6Alexander Potapenko2015-02-031-18/+4
| | | | llvm-svn: 227968
* [ASan] Add __asan_ prefix for "mz_*" allocation/deallocation functionsAlexander Potapenko2015-02-031-20/+37
| | | | | | and make them global so that they're not removed by `strip -x`. llvm-svn: 227967
* Enabling testing ASAN on AArch64Renato Golin2015-02-031-1/+2
| | | | | | | | Also, disabling BuiltinLongJmpTest, as it fails for ARM and PPC as well. Patch by Christophe Lyon. llvm-svn: 227966
* [ASan] Add use_madv_dontdump flag.Yury Gribov2015-02-031-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D7294 llvm-svn: 227959
* [ASan/Win] Add some diagnostics to help investigate Mprotect failuresTimur Iskhodzhanov2015-02-021-1/+7
| | | | llvm-svn: 227803
* [asan][mips] Fix MIPS64 Asan mappingKumar Sukhani2015-01-311-2/+9
| | | | llvm-svn: 227683
* [Sanitizers] Introduce GET_LINK_MAP_BY_DLOPEN_HANDLE() macroViktor Kutuzov2015-01-301-1/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D7233 llvm-svn: 227570
* Replace code dup with a macro.Yury Gribov2015-01-301-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D7172 llvm-svn: 227559
* [compiler-rt] OS X: Update the CMake and Make builds to explicitely use ↵Kuba Brecka2015-01-291-0/+5
| | | | | | | | libc++, mmacosx-version-min and SDKs In both CMake and Makefiles, we are inconsistent about the use of libstdc++ vs. libc++, SDKs and minimum deployment targets for OS X. Let's fix the detection of SDKs, and let's explicitely set that we link against libc++ and mmacosx-version-min is 10.7. llvm-svn: 227509
* [asan] Add one more wait-for-device in the Android setup script.Evgeniy Stepanov2015-01-291-0/+1
| | | | llvm-svn: 227473
* Fix indents on asan_symbolize.py's argument parsing code. No behavior change.Nico Weber2015-01-281-10/+13
| | | | llvm-svn: 227327
OpenPOWER on IntegriCloud