scudo: Add an API for disabling memory initialization per-thread.
authorPeter Collingbourne <peter@pcc.me.uk>
Thu, 10 Sep 2020 02:15:26 +0000 (19:15 -0700)
committerPeter Collingbourne <peter@pcc.me.uk>
Fri, 18 Sep 2020 19:04:27 +0000 (12:04 -0700)
commit7bd75b630144ec639dbbf7bcb2797f48380b953b
tree0431fd7f140f95859cc6dddc69399895e88a0ac0
parent4ebd30722af5175282b99938d163ad4459aa5968
scudo: Add an API for disabling memory initialization per-thread.

Here "memory initialization" refers to zero- or pattern-init on
non-MTE hardware, or (where possible to avoid) memory tagging on MTE
hardware. With shared TSD the per-thread memory initialization state
is stored in bit 0 of the TLS slot, similar to PointerIntPair in LLVM.

Differential Revision: https://reviews.llvm.org/D87739
compiler-rt/lib/scudo/standalone/chunk.h
compiler-rt/lib/scudo/standalone/combined.h
compiler-rt/lib/scudo/standalone/common.h
compiler-rt/lib/scudo/standalone/include/scudo/interface.h
compiler-rt/lib/scudo/standalone/tests/chunk_test.cpp
compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
compiler-rt/lib/scudo/standalone/tsd_exclusive.h
compiler-rt/lib/scudo/standalone/tsd_shared.h
compiler-rt/lib/scudo/standalone/wrappers_c.inc