[PATCH] D62718: [llvm-objcopy] Change handling of output file permissions

Jordan Rupprecht via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 21 17:47:50 PDT 2019


rupprecht accepted this revision.
rupprecht added a comment.

(ditto that Ray should take another look, but looks mostly fine to me)



================
Comment at: llvm/tools/llvm-objcopy/llvm-objcopy.cpp:221-226
+  // TODO: Rework this if D63583 lands.
+#ifndef _WIN32
+  unsigned Mask = ::umask(0);
+  (void)::umask(Mask);
+  Stat.permissions(static_cast<sys::fs::perms>(Stat.permissions() & ~Mask));
+#endif
----------------
Once you land D63583, you should be able to make `Stat` a const parameter again, since `setPermissions` will be taking care of masking `Stat.permissions()`.


================
Comment at: llvm/tools/llvm-objcopy/llvm-objcopy.cpp:246
+  } else {
+    Stat.permissions(static_cast<sys::fs::perms>(0775));
+  }
----------------
0777

(the umask should be what masks other/world permissions)


================
Comment at: llvm/tools/llvm-objcopy/llvm-objcopy.cpp:284
+  if (!Config.SplitDWO.empty()) {
+    Stat.permissions(static_cast<sys::fs::perms>(0664));
+    if (Error E =
----------------
0666


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62718/new/

https://reviews.llvm.org/D62718





More information about the llvm-commits mailing list