[PATCH] D59116: [scudo][standalone] Implement checksumming functions

Kostya Kortchinsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 7 15:38:27 PST 2019


cryptoad created this revision.
cryptoad added reviewers: morehouse, eugenis, vitalybuka, hctim, mcgrathr.
Herald added subscribers: Sanitizers, jdoerfert, jfb, delcypher, mgorny.
Herald added projects: LLVM, Sanitizers.

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.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D59116

Files:
  lib/scudo/standalone/CMakeLists.txt
  lib/scudo/standalone/checksum.cc
  lib/scudo/standalone/checksum.h
  lib/scudo/standalone/crc32_hw.cc
  lib/scudo/standalone/tests/CMakeLists.txt
  lib/scudo/standalone/tests/checksum_test.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59116.189793.patch
Type: text/x-patch
Size: 8916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190307/a3ce9d72/attachment.bin>


More information about the llvm-commits mailing list