#include "llvm/Target/TargetData.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/Scalar.h"
+#include "Support/FileUtilities.h"
#include "Support/CommandLine.h"
#include "Support/Signals.h"
#include <fstream>
Out.close();
if (!LinkAsLibrary) {
- // Permissions masking value of the user
- mode_t mask;
-
// Output the script to start the program...
std::ofstream Out2(OutputFilename.c_str());
if (!Out2.good())
Out2 << "#!/bin/sh\nlli -q -abort-on-exception $0.bc $*\n";
Out2.close();
- //
- // Grab the umask value from the operating system. We want to use it when
- // changing the file's permissions.
- //
- // Note:
- // Umask() is one of those annoying system calls. You have to call it
- // to get the current value and then set it back.
- //
- mask = umask (0);
- umask (mask);
-
// Make the script executable...
- chmod(OutputFilename.c_str(), (0755 & ~mask));
+ MakeFileExecutable (OutputFilename);
// Make the bytecode file directly executable in LLEE as well
- chmod(RealBytecodeOutput.c_str(), (0755 & ~mask));
+ MakeFileExecutable (RealBytecodeOutput);
}
return 0;