summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merging r353905:release_80Tom Stellard2019-06-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r353905 | hubert.reinterpretcast | 2019-02-12 16:55:30 -0800 (Tue, 12 Feb 2019) | 17 lines [xray][tests][RHDTS] Add -lstdc++ after LLVM libs, resolving link error with 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 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@362765 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r359606:Tom Stellard2019-05-291-0/+7
| | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r359606 | amyk | 2019-04-30 13:09:00 -0700 (Tue, 30 Apr 2019) | 12 lines [compiler-rt][builtins][sanitizers] Update compiler-rt test cases for compatibility with system's toolchain This patch aims to: - Guard ompiler-rt/test/builtins/Unit/compiler_rt_logb_test.c with macros, so the test runs on GLIBC versions >= 2.23. This is because the test relies on comparing its computed values to libm. Oolder versions might not compute to the same value as the compiler-rt value. - Update compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cc so that std::string is not used, since false positives may be detected. Differential Revision: https://reviews.llvm.org/D60644 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@362024 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r360825:Tom Stellard2019-05-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r360825 | atanasyan | 2019-05-15 15:27:19 -0700 (Wed, 15 May 2019) | 14 lines [mips] Always use _LARGEFILE_SOURCE / _FILE_OFFSET_BITS for building MIPS 32-bit When MIPS 32-bit compiler-rt is building on 32-bit host or using 32-bit `DLLVM_HOST_TRIPLE` the `_LARGEFILE_SOURCE` and the `_FILE_OFFSET_BITS=64` macros defined by statements from the `HandleLLVMOptions.cmake`. In case of building 32-bit libraries on 64-bit host using default host triple these macros are not defined. As a result assertions check a consistency between the `struct_kernel_stat_sz` constant and the `struct_kernel_stat_sz` start to fail. To resolve this problem and enable building both 32/64-bit versions of MIPS compiler-rt libraries on 64-bit host at once always explicitly define the `_LARGEFILE_SOURCE` and the `_FILE_OFFSET_BITS=64` macros for MIPS 32-bit. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@361568 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r360212:Tom Stellard2019-05-151-0/+2
| | | | | | | | | | | | | | | ------------------------------------------------------------------------ r360212 | kamil | 2019-05-07 17:44:41 -0700 (Tue, 07 May 2019) | 6 lines Fix build on NetBSD 8.99.38 With recent changes the dev/nvmm/nvmm_ioctl.h header is no longer a standalone NVMM header. Disable it until the NVMM operations will stabilize and be included in the ioctl(2) interceptors. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@360811 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r354402:Hans Wennborg2019-02-201-1/+1
| | | | | | | | | | | | | ------------------------------------------------------------------------ r354402 | eugenis | 2019-02-20 00:41:42 +0100 (Wed, 20 Feb 2019) | 3 lines [msan] Fix name_to_handle_at test on overlayfs. Udev supports name_to_handle_at. Use /dev/null instead of /bin/cat. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@354460 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r353224:Hans Wennborg2019-02-064-16/+3
| | | | | | | | | | | | ------------------------------------------------------------------------ r353224 | kamil | 2019-02-05 23:20:25 +0100 (Tue, 05 Feb 2019) | 2 lines Update the ioctl(2) list in sanitizers with NetBSD 8.99.34 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@353292 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r352381:Hans Wennborg2019-01-291-4/+0
| | | | | | | | | | | | | | | ------------------------------------------------------------------------ r352381 | stefan.graenitz | 2019-01-28 17:14:57 +0100 (Mon, 28 Jan 2019) | 5 lines [CMake] Quick-Fix FileCheck target does not exist when building against LLVM install-tree with COMPILER_RT_INCLUDE_TESTS=ON The issue came up during release testing for LLVM 8: https://bugs.llvm.org/show_bug.cgi?id=40443 Differential Revision: https://reviews.llvm.org/D57224 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@352490 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r352234:Hans Wennborg2019-01-252-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r352234 | dim | 2019-01-25 20:36:47 +0100 (Fri, 25 Jan 2019) | 38 lines Fix XRayTest link on FreeBSD (and likely NetBSD too) Summary: As reported on llvm-testers, during 8.0.0-rc1 testing I got errors while building of `XRayTest`, during `check-all`: ``` [100%] Generating XRayTest-x86_64-Test /home/dim/llvm/8.0.0/rc1/Phase3/Release/llvmCore-8.0.0-rc1.obj/./lib/libLLVMSupport.a(Signals.cpp.o): In function `llvm::sys::PrintStackTrace(llvm::raw_ostream&)': Signals.cpp:(.text._ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x24): undefined reference to `backtrace' Signals.cpp:(.text._ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x254): undefined reference to `llvm::itaniumDemangle(char const*, char*, unsigned long*, int*)' clang-8: error: linker command failed with exit code 1 (use -v to see invocation) gmake[3]: *** [projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/build.make:73: projects/compiler-rt/lib/xray/tests/unit/XRayTest-x86_64-Test] Error 1 gmake[3]: Target 'projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/build' not remade because of errors. gmake[2]: *** [CMakeFiles/Makefile2:33513: projects/compiler-rt/lib/xray/tests/unit/CMakeFiles/TXRayTest-x86_64-Test.dir/all] Error 2 gmake[2]: Target 'CMakeFiles/check-all.dir/all' not remade because of errors. gmake[1]: *** [CMakeFiles/Makefile2:737: CMakeFiles/check-all.dir/rule] Error 2 gmake[1]: Target 'check-all' not remade because of errors. gmake: *** [Makefile:277: check-all] Error 2 [Release Phase3] check-all failed ``` This is because the `backtrace` function requires `-lexecinfo` on BSD platforms. To fix this, detect the `execinfo` library in `cmake/config-ix.cmake`, and add it to the unit test link flags. Additionally, since the code in `sys::PrintStackTrace` makes use of `itaniumDemangle`, also add `-lLLVMDemangle`. (Note that this is more of a general problem with libLLVMSupport, but I'm looking for a quick fix now so it can be merged to the 8.0 branch.) Reviewers: dberris, hans, mgorny, samsonov Reviewed By: dberris Subscribers: krytarowski, delcypher, erik.pilkington, #sanitizers, emaste, llvm-commits Differential Revision: https://reviews.llvm.org/D57181 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@352251 91177308-0d34-0410-b5e6-96231b3b80d8
* Creating release_80 branch off revision 351319Hans Wennborg2019-01-160-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@351321 91177308-0d34-0410-b5e6-96231b3b80d8
* [TSan] Use switches when dealing with enumsJulian Lettner2019-01-163-86/+87
| | | | | | | | | | | | | | | | | | Summary: Small refactoring: replace some if-else cascades with switches so that the compiler warns us about missing cases. Maybe found a small bug? Reviewers: dcoughlin, kubamracek, dvyukov, delcypher, jfb Reviewed By: dvyukov Subscribers: llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D56295 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351288 91177308-0d34-0410-b5e6-96231b3b80d8
* compiler-rt/test: Bring back -pie on Android.Peter Collingbourne2019-01-151-1/+1
| | | | | | | | Looks like the sanitizer-x86_64-linux-android bot started failing because -pie is still needed when targeting API levels < 16 (which is the case by default for arm and i686). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351270 91177308-0d34-0410-b5e6-96231b3b80d8
* [libFuzzer] Remove unstable edge handlingJonathan Metzman2019-01-1511-294/+9
| | | | | | | | | | Summary: Remove code for handling unstable edges from libFuzzer since it has not been found useful. Differential Revision: https://reviews.llvm.org/D56730 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351262 91177308-0d34-0410-b5e6-96231b3b80d8
* compiler-rt/test: Add a couple of convenience features for Android.Peter Collingbourne2019-01-154-1/+18
| | | | | | | | | | | | | | | | Add a ANDROID_SERIAL_FOR_TESTING CMake variable. This lets you run the tests with multiple devices attached without having to set ANDROID_SERIAL. Add a mechanism for pushing files to the device. Currently most sanitizers require llvm-symbolizer and the sanitizer runtime to be pushed to the device. This lets the sanitizer make this happen automatically before running the tests by specifying the paths in the lit.site.cfg file. Differential Revision: https://reviews.llvm.org/D56712 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351260 91177308-0d34-0410-b5e6-96231b3b80d8
* [profile] Sync up InstrProfData.inc with llvm copy /NFCRong Xu2019-01-151-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351257 91177308-0d34-0410-b5e6-96231b3b80d8
* compiler-rt/test: Clean up Android specific workarounds in lit.common.cfg.Peter Collingbourne2019-01-151-3/+4
| | | | | | | | | | | | -pie -Wl,--enable-new-dtags are no longer needed because the driver passes them by default as of r316606. Prepend -fuse-ld=gold instead of appending it so that the linker can be overridden using COMPILER_RT_TEST_COMPILER_CFLAGS. Differential Revision: https://reviews.llvm.org/D56697 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351252 91177308-0d34-0410-b5e6-96231b3b80d8
* Update year in license filesHans Wennborg2019-01-151-1/+1
| | | | | | | In last year's update (D48219) it was suggested that the release manager might want to do this, so here we go. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351194 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert little bad rebasing.David Carlier2019-01-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351191 91177308-0d34-0410-b5e6-96231b3b80d8
* [Sanitizer] Intercept sl_add api on FreeBSD/NetBSDDavid Carlier2019-01-158-5/+92
| | | | | | | | | | | Reviewers: krytarowski, vitalybuka Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D56670 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351189 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] alignment-assumption-blacklist.cpp test apparently passes on ↵Roman Lebedev2019-01-151-5/+0
| | | | | | android, un-XFAIL it. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351184 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] fuzzer-alignment-assumption.test: fixup the expected column numberRoman Lebedev2019-01-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351181 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][UBSan] Sanitization for alignment assumptions.Roman Lebedev2019-01-1520-0/+449
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is the compiler-rt part. The clang part is D54589. This is a second commit, the original one was r351106, which was mass-reverted in r351159 because 2 compiler-rt tests were failing. Now, i have fundamentally changed the testing approach: i malloc a few bytes, intentionally mis-align the pointer (increment it by one), and check that. Also, i have decreased the expected alignment. This hopefully should be enough to pacify all the bots. If not, i guess i might just drop the two 'bad' tests. Reviewers: filcab, vsk, #sanitizers, vitalybuka, rsmith, morehouse Reviewed By: morehouse Subscribers: rjmccall, krytarowski, rsmith, kcc, srhines, kubamracek, dberris, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D54590 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351178 91177308-0d34-0410-b5e6-96231b3b80d8
* Explicitly set C++ standard for `Posix/no-fd.cc` ASan test.Dan Liew2019-01-151-1/+1
| | | | | | | | | | | | | | | | | Summary: The test uses `nullptr` which can break running the test if the compiler happens to be using something older than C++11 as the default language standard. Avoid this by explicitly setting the standard. rdar://problem/47253542 Reviewers: eugenis, yln, vitalybuka Subscribers: kubamracek, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D56667 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351169 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert alignment assumptions changesVlad Tsyrklevich2019-01-1520-369/+0
| | | | | | | Revert r351104-6, r351109, r351110, r351119, r351134, and r351153. These changes fail on the sanitizer bots. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351159 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence failing testsVlad Tsyrklevich2019-01-152-2/+2
| | | | | | | | | r351134 tried to disable these tests by using 'UNSUPPORTED: *' but '*' is not supported for UNSUPPORTED like it is for XFAIL. Update these tests to use XFAIL for now in order to silence x86_64-linux and x86_64-linux-android. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351153 91177308-0d34-0410-b5e6-96231b3b80d8
* [libFuzzer][MSVC] Use alternatename for ext functionsJonathan Metzman2019-01-153-57/+84
| | | | | | | | | | | | | | | | | Summary: Use alternatename for external functions only when using MSVC since Clang doesn't support it and MSVC doesn't support Clang's method (weak aliases). Reviewers: morehouse Reviewed By: morehouse Subscribers: rnk, thakis, mgorny Differential Revision: https://reviews.llvm.org/D56514 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351152 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] UBSan: just completely disable two alignment-assumption tests ↵Roman Lebedev2019-01-142-8/+4
| | | | | | | | | | | | | for now. And they are faling on clang-cmake-armv7-full too. *ONLY* these two. I'm not sure what to make of it. Perhaps doing a malloc and checking that pointer will make them fail as expected? git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351134 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] UBSan: Disable 3 of the new alignment assumption tests on android.Roman Lebedev2019-01-143-5/+10
| | | | | | | | | | | Once again, just like with r338296, these tests seem to only have failed sanitizer-x86_64-linux-android, so let's just disable them, since that seems like the pre-established practice here.. To be noted, they failed on some configs there, but not all, so it is not XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351119 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] Add option to disable libc++ buildShoaib Meenai2019-01-141-9/+13
| | | | | | | | | | | | | Having libc++ checked out doesn't necessarily mean it should be built; for example, the same source tree might be used for multiple build configurations, and libc++ might not build in some of those configurations. Add an option to compiler-rt's build to disable building libc++. This defaults to ON, so it shouldn't change any existing build configurations. Differential Revision: https://reviews.llvm.org/D56479 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351117 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] Update ubsan_interface.inc with alignment assumption handlersRoman Lebedev2019-01-141-0/+2
| | | | | | | Somehow this escaped my local testing. A follow-up for r351106. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351110 91177308-0d34-0410-b5e6-96231b3b80d8
* [test] Disable sunrpc tests when rpc/xdr.h is missingMichal Gorny2019-01-149-12/+20
| | | | | | | | | | | | | | | | | Disable tests requiring sunrpc when the relevant headers are missing. In order to accommodate that, move the header check from sanitizer_common to base-config-ix, and define the check result as a global variable there. Use it afterwards both for definition needed by sanitizer_common, and to control 'sunrpc' test feature. While at it, remove the append_have_file_definition macro that was used only once, and no longer fits the split check-definition. Bug report: https://github.com/google/sanitizers/issues/974 Differential Revision: https://reviews.llvm.org/D47819 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351109 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][UBSan] Sanitization for alignment assumptions.Roman Lebedev2019-01-1419-0/+366
| | | | | | | | | | | | | | | | | | Summary: This is the compiler-rt part. The clang part is D54589. Reviewers: filcab, vsk, #sanitizers, vitalybuka, rsmith, morehouse Reviewed By: morehouse Subscribers: rjmccall, krytarowski, rsmith, kcc, srhines, kubamracek, dberris, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D54590 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351106 91177308-0d34-0410-b5e6-96231b3b80d8
* [asan] Add fallback for Thumb after r350139Diana Picus2019-01-143-2/+13
| | | | | | | | | | | | | | This reverts r350806 which marked some tests as UNSUPPORTED on ARM and instead reintroduces the old code path only for Thumb, since that seems to be the only target that broke. It would still be nice to find the root cause of the breakage, but with the branch point for LLVM 8.0 scheduled for next week it's better to put things in a stable state while we investigate. Differential Revision: https://reviews.llvm.org/D56594 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351040 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Move android's GetPageSize to a header (NFC)Evgeniy Stepanov2019-01-122-4/+13
| | | | | | | No need to pay function call overhead for a function that returns a constant. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350983 91177308-0d34-0410-b5e6-96231b3b80d8
* sanitizer_common: Change gen_dynamic_list.py to take a -o argument instead ↵Peter Collingbourne2019-01-112-12/+15
| | | | | | | | | | | of writing to stdout. This makes the script a little more gn friendly; gn does not support redirecting the output of a script. Differential Revision: https://reviews.llvm.org/D56579 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350980 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Fix standalone build after LLVM exports utility targetsStefan Granitz2019-01-111-2/+0
| | | | | | | LLVM started exporting targets for utilites with https://reviews.llvm.org/rL350959, which broke compiler-rt standalone builds because it was used to define FileCheck manually. Changed this, so FileCheck gets imported now. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350973 91177308-0d34-0410-b5e6-96231b3b80d8
* [Sanitizer] Disable getusershell interception for AndroidDavid Carlier2019-01-112-2/+2
| | | | | | | | | | | Reviewers: vitalybuka, pcc, eugenis Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D56583 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350965 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide storage for `true_type::value` and `false_type::value`.Dan Liew2019-01-112-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes linker errors that occurs when the `sanitizer_type_traits_test.cc` is built without optimizations. The error occurs because the test tries to take a reference. A possible workaround is to give the GTest macros take boolean rvalues by doing something like: ``` ASSERT_TRUE(bool(is_same<uptr, uptr>::value)); ``` However this only hides the problem. Unfortunately Using `constexpr` won't fix the problem unless we are using C++17. Reviewers: vitalybuka, kubamracek, george.karpenkov, yln Subscribers: mgorny, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D56035 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350940 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL getusershell.cc on Android.Matt Morehouse2019-01-111-0/+2
| | | | | | Android does not implement [set|get|end]usershell(). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350935 91177308-0d34-0410-b5e6-96231b3b80d8
* [Sanitizer] Intercept getusershellDavid Carlier2019-01-113-0/+38
| | | | | | | | | | | | | - If entries are properly copied (there were a bug in FreeBSD implementation in earlier version), or list properly reset. Reviewers: vitalybuka, krytarowski Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D56562 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350919 91177308-0d34-0410-b5e6-96231b3b80d8
* [TSan] Remove ignore_interceptors_accesses flagJulian Lettner2019-01-105-91/+35
| | | | | | | | | | | | | | | | | | | | | | Summary: It has been superseded by the `ignore_noninstrumented_modules` flag and is no longer needed. Also simplify a test that checks that `mmap_interceptor` respects ignore annotations (`thr->ignore_reads_and_writes `). Relevant: https://reviews.llvm.org/rL269855 <rdar://problem/46263073> Remove obsolete Apple-specific suppression option Reviewers: dcoughlin, kubamracek, dvyukov, delcypher Reviewed By: dvyukov Subscribers: jfb, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D55075 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350883 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer_common] Define __sanitizer_FILE on NetBSDMichal Gorny2019-01-104-12/+65
| | | | | | Differential Revision: https://reviews.llvm.org/D56109 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350882 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer_common] Remove support for tirpc/rpc/xdr.hMichal Gorny2019-01-104-11/+2
| | | | | | | | | | | | | Remove the partial support for rpc/xdr.h from libtirpc. Since it is an entirely external library, we ought to build it sanitized separately and not attempt to intercept like the libc implementation. Besides, the existing code for tirpc support was neither complete nor working. Noted by @krytarowski. Differential Revision: https://reviews.llvm.org/D47817 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350881 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][builtins][PowerPC] Implemented __floattitf builtin on PowerPCAmy Kwan2019-01-104-0/+305
| | | | | | | | | | | | | This patch implements the long double __floattitf (int128_t) method for PowerPC -- specifically to convert a 128 bit integer into a long double (IBM double-double). To invoke this method, one can do so by linking against compiler-rt, via the --rtlib=compiler-rt command line option supplied to clang. Differential Revision: https://reviews.llvm.org/D54313/ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350818 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][builtins][PowerPC] Implemented __fixunstfti builtin on PowerPCAmy Kwan2019-01-104-0/+865
| | | | | | | | | | | | | | | | | | This patch implements the __uint128_t __fixunstfti (long double) method for PowerPC -- specifically to convert a long double (IBM double-double) to an unsigned 128 bit integer. The general approach of this algorithm is to convert the high and low doubles of the long double and add them together if the doubles fit within 64 bits. However, additional adjustments and scaling is performed when the high or low double does not fit within a 64 bit integer. To invoke this method, one can do so by linking against compiler-rt, via the --rtlib=compiler-rt command line option supplied to clang. Differential Revision: https://reviews.llvm.org/D54911 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350815 91177308-0d34-0410-b5e6-96231b3b80d8
* [asan] Mark tests as UNSUPPORTED on armDiana Picus2019-01-102-2/+2
| | | | | | | | | | Temporarily mark a couple of tests as UNSUPPORTED until we figure out why they fail on the thumb bots. The failure was introduced in r350139 - Add support for background thread on NetBSD in ASan. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350806 91177308-0d34-0410-b5e6-96231b3b80d8
* i[Sanitizer] Enable pututxline interceptionDavid Carlier2019-01-101-1/+13
| | | | | | | | | | | Reviewers: krytarowski Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D56495 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350796 91177308-0d34-0410-b5e6-96231b3b80d8
* [libfuzzer][MSVC] Make calls to builtin functions work with MSVCJonathan Metzman2019-01-096-25/+127
| | | | | | | | | | | | | | | | | | Summary: Replace calls to builtin functions with macros or functions that call the Windows-equivalents when targeting windows and call the original builtin functions everywhere else. This change makes more parts of libFuzzer buildable with MSVC. Reviewers: vitalybuka Reviewed By: vitalybuka Subscribers: mgorny, rnk, thakis Differential Revision: https://reviews.llvm.org/D56439 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350766 91177308-0d34-0410-b5e6-96231b3b80d8
* [asan] Disable TSD dtor leak unit tests on FreeBSD x86 64David Carlier2019-01-091-0/+2
| | | | | | | | | | | | | - Assertion fails in the third iteration. Reviewers: krytarowski Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D56497 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350744 91177308-0d34-0410-b5e6-96231b3b80d8
* [test] Detect glibc-2.27+ and XFAIL appropriate testsMichal Gorny2019-01-093-0/+25
| | | | | | | | | | | | XFAIL the tests known to fail with glibc-2.27+. This takes away the burden of handling known failures from users, and ensures that we will be verbosely informed when they actually start working again. Bug report: https://bugs.llvm.org/show_bug.cgi?id=37804 Differential Revision: https://reviews.llvm.org/D56062 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350717 91177308-0d34-0410-b5e6-96231b3b80d8
* hwasan: Ignore loads and stores of size 0.Peter Collingbourne2019-01-092-1/+12
| | | | | | | | | | | | | | | | | | Now that memory intrinsics are instrumented, it's more likely that CheckAddressSized will be called with size 0. (It was possible before with IR like: %val = load [0 x i8], [0 x i8]* %ptr but I don't think clang will generate IR like that and the optimizer would normally remove it by the time it got anywhere near our pass anyway). The right thing to do in both cases is to disable the addressing checks (since the underlying memory intrinsic is a no-op), so that's what we do. Differential Revision: https://reviews.llvm.org/D56465 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350683 91177308-0d34-0410-b5e6-96231b3b80d8