diff options
-rw-r--r-- | tools/bugpoint/bugpoint.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/bugpoint/bugpoint.cpp b/tools/bugpoint/bugpoint.cpp index 4a6ebaf..25fe1a2 100644 --- a/tools/bugpoint/bugpoint.cpp +++ b/tools/bugpoint/bugpoint.cpp @@ -9,6 +9,8 @@ #include "BugDriver.h" #include "llvm/Support/PassNameParser.h" #include "Support/CommandLine.h" +#include "Config/unistd.h" +#include <sys/resource.h> static cl::list<std::string> InputFilenames(cl::Positional, cl::OneOrMore, @@ -27,5 +29,15 @@ int main(int argc, char **argv) { if (D.addSources(InputFilenames)) return 1; D.addPasses(PassList.begin(), PassList.end()); + // Bugpoint has the ability of generating a plethora of core files, so to + // avoid filling up the disk, set the max core file size to 0. + struct rlimit rlim; + rlim.rlim_cur = rlim.rlim_max = 0; + int res = setrlimit(RLIMIT_CORE, &rlim); + if (res < 0) { + // setrlimit() may have failed, but we're not going to let that stop us + perror("setrlimit: RLIMIT_CORE"); + } + return D.run(); } |