diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp index 4133de547d6..1fd1b741fac 100644 --- a/tools/gccld/gccld.cpp +++ b/tools/gccld/gccld.cpp @@ -21,6 +21,7 @@ #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 @@ -433,9 +434,6 @@ int main(int argc, char **argv) { 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()) @@ -444,22 +442,11 @@ int main(int argc, char **argv) { 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;