llvm-project/compiler-rt/lib
Kostya Kortchinsky 1f066a717c [scudo][standalone] Implement checksumming functions
Summary:
This CL implements the checksumming functions. This departs from the
current Scudo code in one aspect: the software version is no longer
CRC32 but a BSD checksum. This is because the software CRC32 was too
impactful in terms of performances, the BSD checksum has no array
lookup which is better (and saves 1KB of data).

As with the current version, we only flip the CRC compiler flag for
a single compilation unit by default, to allow for a library compiled
with HW CRC32 to work on a system without HW CRC32.

There is some platform & hardware specific code in those files, but
since departs from a mere platform split, it felt right to me to have
it that way.

Reviewers: morehouse, eugenis, vitalybuka, hctim, mcgrathr

Reviewed By: morehouse

Subscribers: mgorny, delcypher, jfb, jdoerfert, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

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

llvm-svn: 355923
2019-03-12 14:46:31 +00:00
..
BlocksRuntime [compiler-rt] Test commit: remove some trailing white spaces. 2017-08-25 19:36:30 +00:00
asan Remove ASan asm instrumentation. 2019-03-11 21:50:10 +00:00
builtins [X86] Add 'znver2' and 'cascadelake' support to __cpu_indicator_init. 2019-02-26 21:51:05 +00:00
cfi cfi: Rename source file from cc to cpp 2019-02-28 22:03:41 +00:00
dfsan Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
fuzzer [CMake][LibFuzzer] Match symbol visibility setting between LibFuzzer object files and unit tests. 2019-02-28 21:57:58 +00:00
hwasan [HWASan] Remove address significance from tag_mismatch. 2019-03-11 17:34:17 +00:00
interception [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
lsan [NFC][Sanitizer] Make GetStackTrace a private method of BufferedStackTrace 2019-03-01 22:10:49 +00:00
msan [msan] Fix BMI2 detection in msan tests. 2019-03-12 00:19:09 +00:00
profile Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
safestack [safestack] Explain why tinfo at the end of the buffer 2019-02-07 23:20:47 +00:00
sanitizer_common Remove esan. 2019-03-11 20:23:40 +00:00
scudo [scudo][standalone] Implement checksumming functions 2019-03-12 14:46:31 +00:00
stats Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
tsan [TSan] Initialize libdispatch interceptors if necessary 2019-03-08 19:52:45 +00:00
ubsan Always compare C++ typeinfo (based on libstdc++ implementation). 2019-03-06 08:36:50 +00:00
ubsan_minimal [compiler-rt][UBSan] Sanitization for alignment assumptions. 2019-01-15 09:44:27 +00:00
xray [compiler-rt] Cleanup usage of C++ ABI library 2019-02-16 08:34:26 +00:00
CMakeLists.txt [scudo] Initial standalone skeleton check-in 2019-02-04 16:25:40 +00:00