llvm-project/compiler-rt/lib
Kostya Kortchinsky 0207b6fbbf [scudo] Overhaul hardware CRC32 feature detection
Summary:
This patch aims at condensing the hardware CRC32 feature detection and making
it slightly more effective on Android.

The following changes are included:
- remove the `CPUFeature` enum, and get rid of one level of nesting of
  functions: we only used CRC32, so we just implement and use
  `hasHardwareCRC32`;
- allow for a weak `getauxval`: the Android toolchain is compiled at API level
  14 for Android ARM, meaning no `getauxval` at compile time, yet we will run
  on API level 27+ devices. The `/proc/self/auxv` fallback can work but is
  worthless for a process like `init` where the proc filesystem doesn't exist
  yet. If a weak `getauxval` doesn't exist, then fallback.
- couple of extra corrections.

Reviewers: alekseyshl

Reviewed By: alekseyshl

Subscribers: kubamracek, aemerson, srhines, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D40322

llvm-svn: 318859
2017-11-22 18:30:44 +00:00
..
BlocksRuntime [compiler-rt] Test commit: remove some trailing white spaces. 2017-08-25 19:36:30 +00:00
asan [sanitizers] Add init function to set alignment of low level allocator 2017-11-21 01:01:32 +00:00
builtins [X86] Add cpu detection for cannonlake. 2017-11-19 00:46:21 +00:00
cfi (NFC) Rename GetMax{,User}VirtualAddress. 2017-11-07 23:51:22 +00:00
dfsan [sanitizer_common] Move filesystem-related code out of sanitizer_common.cc 2017-07-22 01:46:40 +00:00
esan [esan] Fix compilation of signal handlers 2017-11-10 05:41:13 +00:00
fuzzer [fuzzer] Initialize PcDescr buffer before calling __sanitizer_symbolize_pc 2017-11-17 00:46:59 +00:00
interception sanitizer_common: Try looking up symbols with RTLD_DEFAULT if RTLD_NEXT does not work. 2017-11-10 22:09:37 +00:00
lsan [LSan] Export __lsan_init 2017-11-15 23:42:48 +00:00
msan [msan] Fix signal chaining 2017-11-11 03:03:34 +00:00
profile [profile] Update InstrProfData.inc to sync with llvm 2017-11-14 23:57:58 +00:00
safestack Enable SafeStack on NetBSD 2017-08-10 18:40:09 +00:00
sanitizer_common [scudo] Overhaul hardware CRC32 feature detection 2017-11-22 18:30:44 +00:00
scudo [scudo] Overhaul hardware CRC32 feature detection 2017-11-22 18:30:44 +00:00
stats Support compiler-rt builtins 2017-07-28 03:39:38 +00:00
tsan Correct NetBSD support in pthread_once(3)/TSan 2017-11-21 09:36:07 +00:00
ubsan [sanitizers] Rename GetStackTraceWithPcBpAndContext 2017-11-09 07:53:06 +00:00
ubsan_minimal [ubsan-minimal] Get rid of the libc++ dependency. 2017-11-11 02:32:02 +00:00
xray [XRay][compiler-rt] Migrate basic mode logging to the XRay framework 2017-11-21 07:29:21 +00:00
CMakeLists.txt [cmake] Add a separate CMake var to control profile runtime 2017-10-02 05:03:55 +00:00