Update prebuilt Clang to r365631c1 from Android.
The version we had was segfaulting.
Bug: 132420445
Change-Id: Icb45a6fe0b4e2166f7895e669df1157cec9fb4e0
diff --git a/linux-x64/clang/include/lldb/Host/LockFileBase.h b/linux-x64/clang/include/lldb/Host/LockFileBase.h
new file mode 100644
index 0000000..be9e258
--- /dev/null
+++ b/linux-x64/clang/include/lldb/Host/LockFileBase.h
@@ -0,0 +1,56 @@
+//===-- LockFileBase.h ------------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Host_LockFileBase_h_
+#define liblldb_Host_LockFileBase_h_
+
+#include "lldb/Utility/Status.h"
+
+#include <functional>
+
+namespace lldb_private {
+
+class LockFileBase {
+public:
+ virtual ~LockFileBase() = default;
+
+ bool IsLocked() const;
+
+ Status WriteLock(const uint64_t start, const uint64_t len);
+ Status TryWriteLock(const uint64_t start, const uint64_t len);
+
+ Status ReadLock(const uint64_t start, const uint64_t len);
+ Status TryReadLock(const uint64_t start, const uint64_t len);
+
+ Status Unlock();
+
+protected:
+ using Locker = std::function<Status(const uint64_t, const uint64_t)>;
+
+ LockFileBase(int fd);
+
+ virtual bool IsValidFile() const;
+
+ virtual Status DoWriteLock(const uint64_t start, const uint64_t len) = 0;
+ virtual Status DoTryWriteLock(const uint64_t start, const uint64_t len) = 0;
+
+ virtual Status DoReadLock(const uint64_t start, const uint64_t len) = 0;
+ virtual Status DoTryReadLock(const uint64_t start, const uint64_t len) = 0;
+
+ virtual Status DoUnlock() = 0;
+
+ Status DoLock(const Locker &locker, const uint64_t start, const uint64_t len);
+
+ int m_fd; // not owned.
+ bool m_locked;
+ uint64_t m_start;
+ uint64_t m_len;
+};
+}
+
+#endif