summaryrefslogtreecommitdiffstats
path: root/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
...
* [libFuzzer] print new functions as they are discovered in the fork modeKostya Serebryany2019-02-154-11/+33
| | | | llvm-svn: 354092
* [libFuzzer] fix the unit testsKostya Serebryany2019-02-153-12/+14
| | | | llvm-svn: 354088
* [libFuzzer] when doing the merge, keep track of the coveraged edges, not ↵Kostya Serebryany2019-02-154-25/+33
| | | | | | just features llvm-svn: 354087
* [libFuzzer] when doing the merge, keep track of the coveraged edges, not ↵Kostya Serebryany2019-02-149-58/+90
| | | | | | just features llvm-svn: 354076
* Set hidden attribute on lprofMergeValueProfDataAna Pazos2019-02-143-0/+67
| | | | | | | | | | | | | | | | | | | | | Summary: The changes in https://reviews.llvm.org/D44847 cause load time failure due to lprofMergeValueProfData in Android libs enabled with profile generation: "dlopen failed: cannot locate symbol "lprofMergeValueProfData" referenced by..." Marking lprofMergeValueProfData as hidden so the correct in-module definition is picked by the linker. Reviewers: davidxl Reviewed By: davidxl Subscribers: efriedma, xur, davidxl, llvm-commits Differential Revision: https://reviews.llvm.org/D55893 llvm-svn: 354064
* [libFuzzer] better stats for the fork modeKostya Serebryany2019-02-141-5/+44
| | | | llvm-svn: 354061
* Revert "Temporarily disable calls to getgrnam/getgrnam_r in test due to it ↵Douglas Yung2019-02-141-4/+2
| | | | | | | | | | hitting unrelated issues in EGLIBC 2.19." This reverts commit r353594. We have updated our internal build bot to a newer version of LIBC which does not have this problem. llvm-svn: 354014
* [msan] Don't delete MSanAtExitRecordVitaly Buka2019-02-142-1/+40
| | | | | | | | | | | | | | | | | | Summary: Pre 2.27 libc can run same atexit handler twice We will keep MSanAtExitRecord and reset fun to mark it as executed. Fix PR40162 Reviewers: eugenis Subscribers: jfb, jdoerfert, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58221 llvm-svn: 354005
* [libFuzzer] trying to fix the bot (can't reproduce the build failure locally)Kostya Serebryany2019-02-141-1/+2
| | | | llvm-svn: 354000
* [libFuzzer] add threads to the fork mode: now you can pass -fork=N to run N ↵Kostya Serebryany2019-02-143-90/+147
| | | | | | concurrent workers. Fork mode is still work-in-progress. llvm-svn: 353997
* Dmitry Vyukov2019-02-1314-10/+466
| | | | | | | | | | | | | | | | | | | | | | | tsan: add fiber support This patch adds functions for managing fibers: __tsan_get_current_fiber() __tsan_create_fiber() __tsan_destroy_fiber() __tsan_switch_to_fiber() __tsan_set_fiber_name() See the added tests for use examples. Author: yuri (Yuri Per) Reviewed in: https://reviews.llvm.org/D54889 [The previous commit of this change was reverted, this is a resubmit with a squashed fix for check_analyze.sh and COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED] llvm-svn: 353947
* Revert "tsan: update check_analyze.sh"Diana Picus2019-02-131-1/+7
| | | | | | This reverts commit r353820, to go with the revert of r353817. llvm-svn: 353942
* Revert "tsan: add fiber support"Diana Picus2019-02-1313-464/+2
| | | | | | | This reverts commit r353817 because we think it broke AARch64 and PowerPC buildbots. llvm-svn: 353939
* [profile] Provide lprofGetHostName for all windows environmentsMartin Storsjo2019-02-131-1/+1
| | | | | | | | | This function doesn't use anything MSVC specific but works fine for any _WIN32 target. Differential Revision: https://reviews.llvm.org/D58106 llvm-svn: 353918
* [CMake] Avoid clang dependencies in the runtimes buildPetr Hosek2019-02-131-1/+1
| | | | | | | Dependencies like clang aren't available in the runtimes build, this was accidentally omitted in D57992. llvm-svn: 353914
* [libFuzzer] a bit of refactoring of the fork modeKostya Serebryany2019-02-137-76/+156
| | | | llvm-svn: 353910
* [Sanitizer][NFC] Darwin: limit parallism for sanitizer_common testsJulian Lettner2019-02-131-0/+6
| | | | | | | Many sanitizer_common tests (ASan, TSan) run with a "sanitized process space" so we need to limit their parallism. llvm-svn: 353909
* [xray][tests][RHDTS] Add -lstdc++ after LLVM libs, resolving link error with ↵Hubert Tong2019-02-131-2/+3
| | | | | | | | | | | | | | | | | | | | | RHDTS Summary: A link error was encountered when using the Red Hat Developer Toolset. In the RHDTS, `libstdc++.so` is a linker script that may resolve symbols to a static library. This patch places `-lstdc++` later in the ordering. Reviewers: sfertile, nemanjai, tstellar, dberris Reviewed By: dberris Subscribers: dberris, mgorny, delcypher, jdoerfert, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D58144 llvm-svn: 353905
* [tsan] #undef one-letter macrosEvgeniy Stepanov2019-02-121-0/+8
| | | | | | | | buildgo.sh puts most of sanitizer_common together in a single source file. These single-letter macros end up affecting a lot of unrelated code; #undef them as early as possible. llvm-svn: 353902
* [libFuzzer] move the implementation of the fork mode into a separate fileKostya Serebryany2019-02-126-93/+165
| | | | llvm-svn: 353891
* tsan: update check_analyze.shDmitry Vyukov2019-02-121-7/+1
| | | | | | | Update numbers after 353817. This was extensively benchmarked in https://reviews.llvm.org/D54889 llvm-svn: 353820
* tsan: add fiber supportDmitry Vyukov2019-02-1213-2/+464
| | | | | | | | | | | | | | | | | This patch adds functions for managing fibers: __tsan_get_current_fiber() __tsan_create_fiber() __tsan_destroy_fiber() __tsan_switch_to_fiber() __tsan_set_fiber_name() See the added tests for use examples. Author: yuri (Yuri Per) Reviewed in: https://reviews.llvm.org/D54889 llvm-svn: 353817
* tsan: Introduce in_symbolizer() function for Thread sanitizerDmitry Vyukov2019-02-124-22/+28
| | | | | | | | | This change is preparation for fiber support. Author: yuri (Yuri Per) Reviewed in: https://reviews.llvm.org/D58104 llvm-svn: 353805
* [CMake] Avoid internal dependencies in the runtimes buildPetr Hosek2019-02-121-1/+1
| | | | | | | When performing runtimes build, dependencies like clang and clang-headers aren't available. This was accidentally omitted in D57992. llvm-svn: 353796
* [libFuzzer] make the fork mode less verboseKostya Serebryany2019-02-125-28/+52
| | | | llvm-svn: 353794
* [libFuzzer] teach the fork mode to ignore OOMs and timeoutsKostya Serebryany2019-02-127-11/+47
| | | | llvm-svn: 353792
* [sanitizer] Don't compile GetPathAssumingFileIsRelativeToExec on FuchsiaPetr Hosek2019-02-121-9/+20
| | | | | | | | This avoids the unused function warning during compilation. Differential Revision: https://reviews.llvm.org/D58082 llvm-svn: 353787
* [CMake][XRay] Silence llvm-config error when checking library supportPetr Hosek2019-02-121-2/+4
| | | | | | | | | | Otherwise this propagates all the way to CMake and results in an error during configuration. We check and handle the result and report warning separately so this is not changing the behavior. Differential Revision: https://reviews.llvm.org/D58086 llvm-svn: 353784
* [libFuzzer] replace slow std::mt19937 with a much faster std::minstd_rand; ↵Kostya Serebryany2019-02-122-4/+5
| | | | | | second attempt after failed r352732, this time with a fix for cmake llvm-svn: 353782
* [libFuzzer] simplify the code for print_coverage=1 so that it doesn't fail ↵Kostya Serebryany2019-02-121-2/+2
| | | | | | on broken debug info llvm-svn: 353781
* [libFuzzer] Make coverage.test work on ARM64Julian Lettner2019-02-121-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This test instruments the following code with coverage, runs the fuzzer once, and asserts that there are uncovered PCs. The ARM64 backend optimizes this code using the `csel` (Conditional select) instruction, which removes all branching from the resulting machine code. The test then fails because we do not have any uncovered PCs. The easiest solution for now is to turn off optimization for the DSOs used in this test. ``` int DSO1(int a) { if (a < 123456) return 0; return 1; } ``` rdar://47646400 Reviewers: kcc Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58087 llvm-svn: 353780
* [libFuzzer] run the -fork=1 tests only on linuxKostya Serebryany2019-02-122-1/+5
| | | | llvm-svn: 353777
* [libFuzzer] extend the -fork=1 functionality. Still not fully usable, but ↵Kostya Serebryany2019-02-1212-36/+110
| | | | | | good enough for the first unit test llvm-svn: 353775
* [NFC] Re-enable XFAILed fuzzer test on iOSJulian Lettner2019-02-111-1/+0
| | | | llvm-svn: 353737
* tsan: Implement pthread_exit() interceptor for Thread sanitizerVitaly Buka2019-02-091-0/+8
| | | | | | | | | | | | This change is preparation for fiber support. Author: yuri (Yuri Per) Reviewed in: https://reviews.llvm.org/D57876 Context: https://reviews.llvm.org/D54889 > llvm-svn: 353385 llvm-svn: 353627
* [tsan] Remove debug logging and disable test on ppc64beVitaly Buka2019-02-091-1/+1
| | | | llvm-svn: 353624
* [tsan] Remove debug logging and disable test on ppc64beVitaly Buka2019-02-091-5/+5
| | | | llvm-svn: 353623
* [tsan] Debug failing test on PPC botVitaly Buka2019-02-091-1/+5
| | | | llvm-svn: 353617
* [tsan] Remove pthread_exit interceptorVitaly Buka2019-02-091-8/+0
| | | | | | Crashes PPC bot llvm-svn: 353604
* [CMake] Don't set <PROJECT>_STANDALONE_BUILDPetr Hosek2019-02-091-1/+1
| | | | | | | | | We shouldn't be treating runtimes builds as standalone builds since we have enough of the context loaded into the runtimes environment. Differential Revision: https://reviews.llvm.org/D57992 llvm-svn: 353601
* [Fuzzer] Fix function prototype in fuzzer::ExternalFunctions. [NFC]David L. Jones2019-02-091-1/+1
| | | | | | | | | | | | | | The __sanitizer_acquire_crash_state function has int return type, but the fuzzer's external function definitions give it bool. Places where __sanitizer_acquire_crash_state is declared: include/sanitizer_common/sanitizer_interface_defs.h lib/sanitizer_common/sanitizer_interface_internal.h lib/sanitizer_common/sanitizer_common.cc lib/fuzzer/FuzzerExtFunctions.def (this is the only bool) llvm-svn: 353596
* Temporarily disable calls to getgrnam/getgrnam_r in test due to it hitting ↵Douglas Yung2019-02-091-2/+4
| | | | | | unrelated issues in EGLIBC 2.19. llvm-svn: 353594
* [libFuzzer] more refactoring; change some of the exit codes (timeout, OOM, ↵Kostya Serebryany2019-02-096-39/+57
| | | | | | interrupt) so that the parent process can distinguish those llvm-svn: 353584
* [libFuzzer] refactor the merging code, NFCKostya Serebryany2019-02-083-37/+52
| | | | llvm-svn: 353576
* [libFuzzer] remove two unused experimental flagsKostya Serebryany2019-02-087-91/+4
| | | | llvm-svn: 353573
* [libFuzzer] introduce an experimental mode -fork=1, where fuzzing happens in ↵Kostya Serebryany2019-02-087-52/+89
| | | | | | a subprocess (still running multiple inputs per process), thus making the fuzzing more resilient to timeouts and OOMs. This is just a skeleton of the code, and some associated refactoring, not a fully working feature yet. llvm-svn: 353570
* Fix Die() after pthread_exit call on macOSVitaly Buka2019-02-081-0/+3
| | | | | | | | | | | | | | | | | | | | Summary: Scoped interceptor should not be used when calling real pthread_exit(). On macOS C++ destructors are not called by pthread_exit(), and later check for empty thread ignore set fails. Patch by Yuri Per. Reviewers: dvyukov, vitalybuka Reviewed By: vitalybuka Subscribers: vitalybuka, thegameg, kubamracek, jfb, llvm-commits, #sanitizers Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D57963 llvm-svn: 353561
* [InstrProf] Fix darwin errors after r353547Francis Visoiu Mistrih2019-02-081-8/+8
| | | | | | | | | | The macros were changed but not updated in the Darwin version. Fail here: http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/53739/ rdar://47925820 llvm-svn: 353560
* [tsan] Remove SCOPED_TSAN_INTERCEPTOR to try to fix ppc botVitaly Buka2019-02-081-1/+0
| | | | llvm-svn: 353552
* [InstrProf] Implement static profdata registrationReid Kleckner2019-02-089-65/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The motivating use case is eliminating duplicate profile data registered for the same inline function in two object files. Before this change, users would observe multiple symbol definition errors with VC link, but links with LLD would succeed. Users (Mozilla) have reported that PGO works well with clang-cl and LLD, but when using LLD without this static registration, we would get into a "relocation against a discarded section" situation. I'm not sure what happens in that situation, but I suspect that duplicate, unused profile information was retained. If so, this change will reduce the size of such binaries with LLD. Now, Windows uses static registration and is in line with all the other platforms. Reviewers: davidxl, wmi, inglorion, void, calixte Subscribers: mgorny, krytarowski, eraman, fedor.sergeev, hiraditya, #sanitizers, dmajor, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D57929 llvm-svn: 353547
OpenPOWER on IntegriCloud