[scudo][standalone] Get statistics in a char buffer
authorKostya Kortchinsky <kostyak@google.com>
Wed, 9 Oct 2019 15:09:28 +0000 (15:09 +0000)
committerKostya Kortchinsky <kostyak@google.com>
Wed, 9 Oct 2019 15:09:28 +0000 (15:09 +0000)
commitf7b1489ffc5106aff3135b3ed664c99cf9a57481
tree2c93ae442609e99b5d80ec54251f0155975fa7e8
parentae1b7859cbd61d2284d9690bc53482d0b6a46f63
[scudo][standalone] Get statistics in a char buffer

Summary:
Following up on D68471, this CL introduces some `getStats` APIs to
gather statistics in char buffers (`ScopedString` really) instead of
printing them out right away. Ultimately `printStats` will just
output the buffer, but that allows us to potentially do some work
on the intermediate buffer, and can be used for a `mallocz` type
of functionality. This allows us to pretty much get rid of all the
`Printf` calls around, but I am keeping the function in for
debugging purposes.

This changes the existing tests to use the new APIs when required.

I will add new tests as suggested in D68471 in another CL.

Reviewers: morehouse, hctim, vitalybuka, eugenis, cferris

Reviewed By: morehouse

Subscribers: delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

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

llvm-svn: 374173
14 files changed:
compiler-rt/lib/scudo/standalone/combined.h
compiler-rt/lib/scudo/standalone/crc32_hw.cpp
compiler-rt/lib/scudo/standalone/primary32.h
compiler-rt/lib/scudo/standalone/primary64.h
compiler-rt/lib/scudo/standalone/quarantine.h
compiler-rt/lib/scudo/standalone/secondary.cpp
compiler-rt/lib/scudo/standalone/secondary.h
compiler-rt/lib/scudo/standalone/size_class_map.h
compiler-rt/lib/scudo/standalone/string_utils.cpp
compiler-rt/lib/scudo/standalone/string_utils.h
compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
compiler-rt/lib/scudo/standalone/tests/quarantine_test.cpp
compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp