llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Dmitry Vasilyev (slydiman)

<details>
<summary>Changes</summary>

Target::Install() set 0700 permissions for the main executable file. 
Platform::Install() just copies permissions from the source. But the permission 
eFilePermissionsUserExecute is missing on the Windows host. A lot of tests 
failed in case of Windows host and Linux target because of this issue. There is 
no API to provide the exec flag. This patch set the permission 
eFilePermissionsUserExecute for all files installed via Platform::Install() 
from the Windows host. It fixes a lot of tests in case of Windows host and 
Linux target.

---
Full diff: https://github.com/llvm/llvm-project/pull/91887.diff


1 Files Affected:

- (modified) lldb/source/Target/Platform.cpp (+4) 


``````````diff
diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
index 4af4aa68ccd01..0e7739b3712d7 100644
--- a/lldb/source/Target/Platform.cpp
+++ b/lldb/source/Target/Platform.cpp
@@ -1227,6 +1227,10 @@ Status Platform::PutFile(const FileSpec &source, const 
FileSpec &destination,
   if (permissions == 0)
     permissions = lldb::eFilePermissionsFileDefault;
 
+#if defined(_WIN32)
+  permissions |= lldb::eFilePermissionsUserExecute;
+#endif
+
   lldb::user_id_t dest_file = OpenFile(
       destination, File::eOpenOptionCanCreate | File::eOpenOptionWriteOnly |
                        File::eOpenOptionTruncate | 
File::eOpenOptionCloseOnExec,

``````````

</details>


https://github.com/llvm/llvm-project/pull/91887
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to