summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-11-07 01:03:26 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-11-07 01:03:26 +0000
commitd657f109d7080bd51ad70e88859acf64931152fe (patch)
tree1e2e1a27ae1e991b751ef422db2cc61923d1e034
parentb1abf9e670dcda82deb3b582fa921a62cea4e814 (diff)
downloadbcm5719-llvm-d657f109d7080bd51ad70e88859acf64931152fe.tar.gz
bcm5719-llvm-d657f109d7080bd51ad70e88859acf64931152fe.zip
[sanitizer] Only set soft coredump limit.
Summary: If user wants to raise it back, let them. Reviewers: kcc, vitalybuka Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D54190 llvm-svn: 346284
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc8
-rw-r--r--compiler-rt/test/sanitizer_common/TestCases/corelimit.cc2
2 files changed, 6 insertions, 4 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
index 266e9bdba05..3006e60d89f 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
@@ -94,10 +94,12 @@ static rlim_t getlim(int res) {
}
static void setlim(int res, rlim_t lim) {
- // The following magic is to prevent clang from replacing it with memset.
- volatile struct rlimit rlim;
+ struct rlimit rlim;
+ if (getrlimit(res, const_cast<struct rlimit *>(&rlim))) {
+ Report("ERROR: %s getrlimit() failed %d\n", SanitizerToolName, errno);
+ Die();
+ }
rlim.rlim_cur = lim;
- rlim.rlim_max = lim;
if (setrlimit(res, const_cast<struct rlimit *>(&rlim))) {
Report("ERROR: %s setrlimit() failed %d\n", SanitizerToolName, errno);
Die();
diff --git a/compiler-rt/test/sanitizer_common/TestCases/corelimit.cc b/compiler-rt/test/sanitizer_common/TestCases/corelimit.cc
index eb02afc01a1..2378a4cfdce 100644
--- a/compiler-rt/test/sanitizer_common/TestCases/corelimit.cc
+++ b/compiler-rt/test/sanitizer_common/TestCases/corelimit.cc
@@ -10,7 +10,7 @@ int main() {
getrlimit(RLIMIT_CORE, &lim_core);
void *p;
if (sizeof(p) == 8) {
- assert(0 == lim_core.rlim_max);
+ assert(0 == lim_core.rlim_cur);
}
return 0;
}
OpenPOWER on IntegriCloud