diff options
author | Dan Liew <dan@su-root.co.uk> | 2016-05-20 01:37:54 +0000 |
---|---|---|
committer | Dan Liew <dan@su-root.co.uk> | 2016-05-20 01:37:54 +0000 |
commit | 11565444caeb58ad1c0d6d80c9a25f55df2a7d5d (patch) | |
tree | d7aff4d8931f5419e314acfae9fddfe6b6197675 | |
parent | e6ac1fd0897faa87821cd5ba2daec4c5ea3ac30f (diff) | |
download | bcm5719-llvm-11565444caeb58ad1c0d6d80c9a25f55df2a7d5d.tar.gz bcm5719-llvm-11565444caeb58ad1c0d6d80c9a25f55df2a7d5d.zip |
[LibFuzzer] Fix implementation of ``GetPeakRSSMb()`` on Mac OSX.
On Linux ``rusage.ru_maxrss`` is in KiB but on Mac OSX it is in bytes.
Differential Revision: http://reviews.llvm.org/D20410
llvm-svn: 270173
-rw-r--r-- | llvm/lib/Fuzzer/FuzzerUtil.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerUtil.cpp b/llvm/lib/Fuzzer/FuzzerUtil.cpp index 16d6e7bc1ef..ec592e03f23 100644 --- a/llvm/lib/Fuzzer/FuzzerUtil.cpp +++ b/llvm/lib/Fuzzer/FuzzerUtil.cpp @@ -288,7 +288,15 @@ size_t GetPeakRSSMb() { struct rusage usage; if (getrusage(RUSAGE_SELF, &usage)) return 0; - return usage.ru_maxrss >> 10; + if (LIBFUZZER_LINUX) { + // ru_maxrss is in KiB + return usage.ru_maxrss >> 10; + } else if (LIBFUZZER_APPLE) { + // ru_maxrss is in bytes + return usage.ru_maxrss >> 20; + } + assert(0 && "GetPeakRSSMb() is not implemented for your platform"); + return 0; } } // namespace fuzzer |