summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer
diff options
context:
space:
mode:
authorDan Liew <dan@su-root.co.uk>2016-05-20 01:37:54 +0000
committerDan Liew <dan@su-root.co.uk>2016-05-20 01:37:54 +0000
commit11565444caeb58ad1c0d6d80c9a25f55df2a7d5d (patch)
treed7aff4d8931f5419e314acfae9fddfe6b6197675 /llvm/lib/Fuzzer
parente6ac1fd0897faa87821cd5ba2daec4c5ea3ac30f (diff)
downloadbcm5719-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
Diffstat (limited to 'llvm/lib/Fuzzer')
-rw-r--r--llvm/lib/Fuzzer/FuzzerUtil.cpp10
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
OpenPOWER on IntegriCloud