summaryrefslogtreecommitdiffstats
path: root/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
* [sancov] Mark as unstable on ARM, not XFAIL, since it does pass on some configRenato Golin2016-12-132-4/+4
| | | | llvm-svn: 289526
* [sanitizers] dso order is random, test shouldnt depend on itMike Aizatsky2016-12-131-3/+3
| | | | llvm-svn: 289516
* [sanitizers] powerpc4 is also unsupported platformMike Aizatsky2016-12-132-2/+2
| | | | llvm-svn: 289515
* [sanitizers] disabling dso test as well where appropriateMike Aizatsky2016-12-131-1/+1
| | | | llvm-svn: 289508
* [sanitizers] trace-pc-guard doesn't work on mac as wellMike Aizatsky2016-12-131-1/+1
| | | | | | | | fatal error: error in backend: Global variable '__sancov_gen_' has an invalid section specifier '__sancov_guards': mach-o section specifier requires a segment and section separated by a comma. llvm-svn: 289507
* [sanitizers] sancov really works on x86 onlyMike Aizatsky2016-12-131-1/+1
| | | | llvm-svn: 289505
* [XRay][compiler-rt] Use explicit comparisons in unit tests.Dean Michael Berris2016-12-131-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This should improve the error messages generated providing a bit more information when the failures are printed out. One example of a contrived error looks like: ``` Expected: (Buffers.getBuffer(Buf)) != (std::error_code()), actual: system:0 vs system:0 ``` Because we're using error codes, the default printing gets us more useful information in case of failure. This is a follow-up on D26232. Reviewers: rSerge Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D27495 llvm-svn: 289501
* [sancov] __sanitizer_dump_coverage apiMike Aizatsky2016-12-128-5/+296
| | | | | | | | Subscribers: kubabrecka, mgorny Differential Revision: https://reviews.llvm.org/D26758 llvm-svn: 289498
* [compiler-rt] Support building builtins for a single targetPetr Hosek2016-12-123-11/+26
| | | | | | | | | This is used when building builtins for multiple targets as part of LLVM runtimes. Differential Revision: https://reviews.llvm.org/D26653 llvm-svn: 289489
* symbolizer: Add lseek64 to global symbol list.Peter Collingbourne2016-12-121-0/+1
| | | | llvm-svn: 289449
* [XRay][CMake] Check target for XRay Flight Data RecorderPetr Hosek2016-12-121-0/+8
| | | | | | | | | This target doesn't currently do anything, but it is required by the runtimes build. Differential Revision: https://reviews.llvm.org/D27640 llvm-svn: 289420
* [sanitizer] Make sure libmalloc doesn't remove the sanitizer zone from ↵Kuba Mracek2016-12-111-0/+23
| | | | | | | | | | malloc_zones[0] In certain OS versions, it was possible that libmalloc replaced the sanitizer zone from being the default zone (i.e. being in malloc_zones[0]). This patch introduces a failsafe that makes sure we always stay the default zone. No testcase for this, because this doesn't reproduce under normal circumstances. Differential Revision: https://reviews.llvm.org/D27083 llvm-svn: 289376
* [sanitizer] Handle malloc_destroy_zone() on DarwinKuba Mracek2016-12-112-0/+34
| | | | | | | | We currently have a interceptor for malloc_create_zone, which returns a new zone that redirects all the zone requests to our sanitizer zone. However, calling malloc_destroy_zone on that zone will cause libmalloc to print out some warning messages, because the zone is not registered in the list of zones. This patch handles this and adds a testcase for that. Differential Revision: https://reviews.llvm.org/D27083 llvm-svn: 289375
* [DFSAN] Another unstable test in AArch64 breaking bots unnecessarilyRenato Golin2016-12-091-0/+1
| | | | llvm-svn: 289253
* Reverting rL289088 while investigating some test issue on the build serversKostya Kortchinsky2016-12-092-18/+4
| | | | | | | | Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D27605 llvm-svn: 289180
* [sanitizer] Add workaround for empty stringsVitaly Buka2016-12-081-18/+14
| | | | | | | | | | | | Summary: I see crashes on this check when some reports are being generated. Reviewers: eugenis Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D27574 llvm-svn: 289145
* [asan] Add test which detects bugs undetectable before r288563Vitaly Buka2016-12-081-0/+20
| | | | | | | | | | Reviewers: kcc, eugenis Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D27583 llvm-svn: 289090
* [sanitizer] Do not use the alignment-rounded-up size when using the secondaryKostya Kortchinsky2016-12-083-6/+22
| | | | | | | | | | | | | | | | | | Summary: The combined allocator rounds up the requested size with regard to the alignment, which makes sense when being serviced by the primary as it comes with alignment guarantees, but not with the secondary. For the rare case of large alignments, it wastes memory, and entices unnecessarily large fields for the Scudo header. With this patch, we pass the non-alignement-rounded-up size to the secondary, and adapt the Scudo code for this change. Reviewers: alekseyshl, kcc Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D27428 llvm-svn: 289088
* [compiler-rt][asan] Fix overlaping parameters for memmove/memcpy on windows.Etienne Bergeron2016-12-081-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: On windows, memmove and memcpy may be the same functions (on 64-bits). ``` -- f:\dd\vctools\crt\vcruntime\src\string\amd64\memcpy.asm -------------------- OPTION PROLOGUE:NONE, EPILOGUE:NONE memmove = memcpy mov r11, rcx ; save destination address ``` This is causing ASAN to report overlaping parameters when instrumenting chromium. ``` D:\src\chromium\src>out\asan64\chrome.exe --no-sandbox [8956:6208:1121/162511:ERROR:entry.cc(167)] Entry::Deserialize: dictionary has no interface_provider_specs key [8956:11560:1121/162511:ERROR:external_registry_loader_win.cc(130)] Missing value path for key Software\Google\Chrome\Ex tensions\doeiiacdhfmpdeckdaifnjaemmkkdlkf. ================================================================= ==5132==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x000000237ee8,0x000000237eea) and [0x000000237ee9 , 0x000000237eeb) overlap ``` The error triggered on chromium: ``` Child-SP RetAddr Call Site 00000000`00166520 00000001`400a4886 chrome!__asan::ReportStringFunctionMemoryRangesOverlap+0x23 [d:\src\llvm\llvm\projects\compiler-rt\lib\asan\asan_report.cc @ 305] *** WARNING: Unable to verify checksum for D:\src\chromium\src\out\asan64dynamic\libglesv2.dll 00000000`001672a0 000007fe`e1859607 chrome!__asan_wrap_memcpy+0xf6 [d:\src\llvm\llvm\projects\compiler-rt\lib\asan\asan_interceptors.cc @ 458] 00000000`00167b30 000007fe`e184bcbc libglesv2!__acrt_fp_strflt_to_string+0xb7 [d:\th\minkernel\crts\ucrt\src\appcrt\convert\_fptostr.cpp @ 86] (Inline Function) --------`-------- libglesv2!fp_format_f+0x57 [d:\th\minkernel\crts\ucrt\src\appcrt\convert\cvt.cpp @ 578] 00000000`00167b60 000007fe`e182e2a2 libglesv2!__acrt_fp_format+0x180 [d:\th\minkernel\crts\ucrt\src\appcrt\convert\cvt.cpp @ 722] 00000000`00167bf0 000007fe`e182ce80 libglesv2!__crt_stdio_output::output_processor<char,__crt_stdio_output::stream_output_adapter<char>,__crt_stdio_output::format_validation_ ``` This bug is similar to: https://llvm.org/bugs/show_bug.cgi?id=16362 Reviewers: rnk, zaks.anna, filcab Subscribers: filcab, kubabrecka, chrisha, llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D27052 llvm-svn: 289063
* [MSAN][MIPS] Fix fork.cc test on MIPSSagar Thakur2016-12-087-38/+69
| | | | | | | | | Summary: For platforms which support slow unwinder only, we restrict the store context size to 1, basically only storing the current pc. We do this because the slow unwinder which is based on libunwind is not async signal safe and causes random freezes in forking applications as well as in signal handlers. Reviewed by eugenis. Differential: D23107 llvm-svn: 289027
* [XRay][AArch64] Disable the unstable test ↵Serge Rogatch2016-12-072-0/+6
| | | | | | | | | | | | | | | | XRay-aarch64-linux::patching-unpatching.cc Summary: The test `XRay-aarch64-linux::patching-unpatching.cc` sometimes passes, sometimes fails on buildbots. This patch disables test `patching-unpatching.cc` for AArch64 targets. Reviewers: rengolin, dberris Subscribers: llvm-commits, iid_iunknown, aemerson Differential Revision: https://reviews.llvm.org/D27528 llvm-svn: 288988
* [builtin] Add Thumb1 implementation for idivsi3 and aeabi_idivmodWeiming Zhao2016-12-072-0/+29
| | | | | | | | | | | | | | Summary: For idivsi3, convert the Thumb2 only instruction to thumb1. For aeabi_idivmod, using __divsi3. Reviewers: rengolin, compnerd Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D27472 llvm-svn: 288960
* [builtin] for the condition for check __ARM_FEATURE_CLZWeiming Zhao2016-12-071-3/+2
| | | | | | | | | | | | Summary: Since CLZ is not available for Thumb1, we use __ARM_ARCH_ISA_THUMB != 1 as one of the conditions. Reviewers: rnk, compnerd, rengolin Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D27530 llvm-svn: 288954
* [asan] Disable yet another unstable test under AArch64Renato Golin2016-12-071-0/+1
| | | | llvm-svn: 288953
* [XRay][compiler-rt] Explicitly add dependency to pthreadDean Michael Berris2016-12-061-0/+1
| | | | | | | | This should fix the sanitizer bootstrap builds. Follow-up to D26232. llvm-svn: 288860
* Replace "|&" with "2>&1 |" to support bash pre-4Evgeniy Stepanov2016-12-065-6/+6
| | | | | | | | | | | | | | Summary: Old bash release (3.2) on SLES11 chokes on new redirection shortcut. Patch by Brian Cain. Reviewers: eugenis Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D27443 llvm-svn: 288854
* [XRay][compiler-rt] Only add unit tests if we're building XRay.Dean Michael Berris2016-12-062-8/+6
| | | | | | | | | | As constructed before this patch, in case we run into case where we don't actually build the XRay library, we really ought to not be adding the unit test runs. This should fix the bootstrap build failures. This is a follow-up further to D26232. llvm-svn: 288788
* [XRay][compiler-rt] CMake fixes for XRay -- take 2.Dean Michael Berris2016-12-061-3/+5
| | | | | | | | | | The bootstrap buildbot complains about not being able to find the unittests for XRay, when the conditionals to include or not include tests and unit tests don't match. This is a follow-up to D26232. llvm-svn: 288786
* [XRay][compiler-rt] Fix unit test adding logic.Dean Michael Berris2016-12-061-1/+1
| | | | | | | | | Before this change we would add the unit tests potentially even if we don't actually include the unit tests. This is a follow-up on D26232. llvm-svn: 288785
* builtins: Add ARM Thumb1 implementation for uidiv and uidivmodWeiming Zhao2016-12-063-20/+131
| | | | | | This is a resubmit of r288710 due to breakage of Darwin armv7em. llvm-svn: 288777
* [XRay][compiler-rt] Explicitly initialise members.Dean Michael Berris2016-12-061-1/+1
| | | | | | | | | | | Before this, the change committed in D26232 might have an uninitialised std::atomic<bool> that may or may not have a valid state. On aarch64 this breaks consistently, while it doesn't manifest as a problem in x86_64. This is an attempt to un-break this in aarch64. llvm-svn: 288776
* [XRay][compiler-rt] XRay Buffer QueueDean Michael Berris2016-12-069-17/+368
| | | | | | | | | | | | | | | | | | | | | | | | This implements a simple buffer queue to manage a pre-allocated queue of fixed-sized buffers to hold XRay records. We need this to support Flight Data Recorder (FDR) mode. We also implement this as a sub-library first to allow for development before actually using it in an implementation. Some important properties of the buffer queue: - Thread-safe enqueueing/dequeueing of fixed-size buffers. - Pre-allocation of buffers at construction. This is a re-roll of the previous attempt to submit, because it caused failures in arm and aarch64. Reviewers: majnemer, echristo, rSerge Subscribers: tberghammer, danalbert, srhines, modocache, mehdi_amini, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D26232 llvm-svn: 288775
* Revert "builtins: Add ARM Thumb1 implementation for uidiv and uidivmod"Chris Bieneman2016-12-063-124/+23
| | | | | | | | | | | This reverts commit r288710. r288710 breaks building the builtin libraries on Darwin for armv7em. Build logs may still be avaialable here: http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/12035/console llvm-svn: 288773
* [XRay][AArch64] Attempt to fix unstable test ↵Serge Rogatch2016-12-051-2/+2
| | | | | | | | | | | | | | XRay-aarch64-linux::patching-unpatching.cc Summary: Currently test XRay-aarch64-linux::patching-unpatching.cc sometimes passes, sometimes fails. This is an attempt to fix it by handling better the situations when both `__arm__` and `__aarch64__` are defined. Reviewers: dberris, rengolin Subscribers: llvm-commits, iid_iunknown, aemerson, rengolin, dberris Differential Revision: https://reviews.llvm.org/D27421 llvm-svn: 288729
* [sanitizers] mac prints null differentlyMike Aizatsky2016-12-051-1/+1
| | | | llvm-svn: 288726
* [sanitizers] __sanitizer_get_module_and_offset_for_pc interface functionMike Aizatsky2016-12-055-1/+94
| | | | | | | | | | | | Summary: The function computes full module name and coverts pc into offset. Reviewers: kcc Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D26820 llvm-svn: 288711
* builtins: Add ARM Thumb1 implementation for uidiv and uidivmodWeiming Zhao2016-12-053-23/+124
| | | | | | | | | | | | | | Summary: The current uidiv supports archs without clz. However, the asm is for thumb2/arm. For uidivmod, the existing code calls the C version of uidivmodsi4, which then calls uidiv. The extra push/pop/bl makes it less efficient. Reviewers: jmolloy, jroelofs, joerg, compnerd, rengolin Subscribers: llvm-commits, aemerson Differential Revision: https://reviews.llvm.org/D27309 llvm-svn: 288710
* [compiler-rt] Remove duplicates from COMPILER_RT_SUPPORTED_ARCHKuba Mracek2016-12-051-0/+1
| | | | | | | | Since we’re adding an entry into COMPILER_RT_SUPPORTED_ARCH for all architectures of all Darwin platforms, COMPILER_RT_SUPPORTED_ARCH often ends up having duplicate items. Let’s remove them. Differential Revision: https://reviews.llvm.org/D25996 llvm-svn: 288681
* Remove a couple of memset usages from TSan, introduced in r288624.Daniel Jasper2016-12-051-2/+4
| | | | | | | | | | | | TSan runtime shouldn't contain memset, so internal_memset is used instead and syntax that emits memset is avoided. This doesn't fail in-tree due to TSan being build with -03, but it fails when TSan is built with -O0, and is (I think) a true positive. Patch by Sam McCall, review: https://reviews.llvm.org/D27407 llvm-svn: 288672
* [sanitizer] Make atos stdin a non-tty pipe to make sure it's not stuck ↵Kuba Mracek2016-12-041-37/+68
| | | | | | | | | | waiting for user input On macOS, we often symbolicate using atos (when llvm-symbolizer is not found). The current way we invoke atos involves creating a pseudo-terminal to make sure atos doesn't buffer its output. This however also makes atos think that it's stdin is interactive and in some error situations it will ask the user to enter some input instead of just printing out an error message. For example, when Developer Mode isn't enabled on a machine, atos cannot examine processes, and it will ask the user to enter an administrator's password, which will make the sanitized process get stuck. This patch only connects the pseudo-terminal to the stdout of atos, and uses a regular pipe as its stdin. Differential Revision: https://reviews.llvm.org/D27239 llvm-svn: 288624
* [sanitizer] Track architecture and UUID of modules in LoadedModuleKuba Mracek2016-12-027-18/+136
| | | | | | | | | | When we enumerate loaded modules, we only track the module name and base address, which then has several problems on macOS. Dylibs and executables often have several architecture slices and not storing which architecture/UUID is actually loaded creates problems with symbolication: A file path + offset isn't enough to correctly symbolicate, since the offset can be valid in multiple slices. This is especially common for Haswell+ X86_64 machines, where x86_64h slices are preferred, but if one is not available, a regular x86_64 is loaded instead. But the same issue exists for i386 vs. x86_64 as well. This patch adds tracking of arch and UUID for each LoadedModule. At this point, this information isn't used in reports, but this is the first step. The goal is to correctly identify which slice is loaded in symbolication, and also to output this information in reports so that we can tell which exact slices were loaded in post-mortem analysis. Differential Revision: https://reviews.llvm.org/D26632 llvm-svn: 288537
* Revert "Compiler-rt part of D26230: Add (constant) masked load/store support ↵Filipe Cabecinhas2016-12-021-102/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Try #2)" This reverts commit r288504. clang-bpf-build fails with no details: ******************** TEST 'AddressSanitizer-x86_64-linux :: TestCases/masked-ops.cpp' FAILED ******************** Script: -- /mnt/buildbot/slave-root/clang-bpf-build/stage1/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -o /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp -mavx -O1 not /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp l1 2>&1 | FileCheck -check-prefix=CHECK-L1 /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp l6 2>&1 | FileCheck -check-prefix=CHECK-L6 /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp la 2>&1 | FileCheck -check-prefix=CHECK-LA /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp not /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp s1 2>&1 | FileCheck -check-prefix=CHECK-S1 /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp s6 2>&1 | FileCheck -check-prefix=CHECK-S6 /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp /mnt/buildbot/slave-root/clang-bpf-build/stage1/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/masked-ops.cpp.tmp sa 2>&1 | FileCheck -check-prefix=CHECK-SA /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp -- Exit Code: 2 Command Output (stderr): -- FileCheck error: '-' is empty. FileCheck command line: FileCheck -check-prefix=CHECK-L6 /mnt/buildbot/slave-root/clang-bpf-build/llvm/projects/compiler-rt/test/asan/TestCases/masked-ops.cpp -- ******************** llvm-svn: 288507
* Compiler-rt part of D26230: Add (constant) masked load/store support (Try #2)Filipe Cabecinhas2016-12-021-0/+102
| | | | | | | | | | | | | | | | Summary: Unfortunately, there is no way to emit an llvm masked load/store in clang without optimizations, and AVX enabled. Unsure how we should go about making sure this test only runs if it's possible to execute AVX code. Reviewers: kcc, RKSimon, pgousseau Subscribers: kubabrecka, dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D26506 llvm-svn: 288504
* compiler-rt/test/profile/Linux/lit.local.cfg: [Py3] Use text mode ↵NAKAMURA Takumi2016-12-021-0/+1
| | | | | | (universal_newlines=True). llvm-svn: 288490
* [sanitizer] Add a bunch of ifdefs for sparc targets to avoid build failures.Maxim Ostapenko2016-12-022-3/+71
| | | | | | Differential Revision: https://reviews.llvm.org/D27301 llvm-svn: 288488
* Don't include system header inside namespaceStephan Bergmann2016-12-021-16/+16
| | | | | | | ...causes build failure at least with GCC 6.2.1, as smmintrin.h indirectly includes cstdlib, which then runs into problems. llvm-svn: 288486
* build: fix building for Windows after SVN r287465Saleem Abdulrasool2016-12-011-1/+1
| | | | | | | | The previous change for enabling MinGW did not preserve the Win32 check and added the EABI specific routines to a Windows build which does not use the EABI routines. Correct the conditional check for that. llvm-svn: 288422
* Release memory to OS only when the requested range covers the entire pageEvgeniy Stepanov2016-11-3011-30/+29
| | | | | | | | | | | | | | | | | Summary: The current code was sometimes attempting to release huge chunks of memory due to undesired RoundUp/RoundDown interaction when the requested range is fully contained within one memory page. Reviewers: eugenis Subscribers: kubabrecka, llvm-commits Patch by Aleksey Shlyapnikov. Differential Revision: https://reviews.llvm.org/D27228 llvm-svn: 288271
* [scudo] 32-bit and hardware agnostic supportKostya Kortchinsky2016-11-3025-246/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This update introduces i386 support for the Scudo Hardened Allocator, and offers software alternatives for functions that used to require hardware specific instruction sets. This should make porting to new architectures easier. Among the changes: - The chunk header has been changed to accomodate the size limitations encountered on 32-bit architectures. We now fit everything in 64-bit. This was achieved by storing the amount of unused bytes in an allocation rather than the size itself, as one can be deduced from the other with the help of the GetActuallyAllocatedSize function. As it turns out, this header can be used for both 64 and 32 bit, and as such we dropped the requirement for the 128-bit compare and exchange instruction support (cmpxchg16b). - Add 32-bit support for the checksum and the PRNG functions: if the SSE 4.2 instruction set is supported, use the 32-bit CRC32 instruction, and in the XorShift128, use a 32-bit based state instead of 64-bit. - Add software support for CRC32: if SSE 4.2 is not supported, fallback on a software implementation. - Modify tests that were not 32-bit compliant, and expand them to cover more allocation and alignment sizes. The random shuffle test has been deactivated for linux-i386 & linux-i686 as the 32-bit sanitizer allocator doesn't currently randomize chunks. Reviewers: alekseyshl, kcc Subscribers: filcab, llvm-commits, tberghammer, danalbert, srhines, mgorny, modocache Differential Revision: https://reviews.llvm.org/D26358 llvm-svn: 288255
* [asan] Avoid redundant poisoning checks in ↵Maxim Ostapenko2016-11-301-1/+1
| | | | | | | | | | | | | | | | __sanitizer_contiguous_container_find_bad_address. __sanitizer_contiguous_container_find_bad_address computes three regions of a container to check for poisoning: begin, middle, end. The issue is that in current design the first region can be significantly larger than kMaxRangeToCheck. Proposed patch fixes a typo to calculate the first region properly. Patch by Ivan Baravy. Differential Revision: https://reviews.llvm.org/D27061 llvm-svn: 288234
OpenPOWER on IntegriCloud