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/Utility/StringExtractorGDBRemote.h b/linux-x64/clang/include/lldb/Utility/StringExtractorGDBRemote.h
new file mode 100644
index 0000000..cbf6e0c
--- /dev/null
+++ b/linux-x64/clang/include/lldb/Utility/StringExtractorGDBRemote.h
@@ -0,0 +1,203 @@
+//===-- StringExtractorGDBRemote.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 LLDB_UTILITY_STRINGEXTRACTORGDBREMOTE_H
+#define LLDB_UTILITY_STRINGEXTRACTORGDBREMOTE_H
+
+#include "lldb/Utility/Status.h"
+#include "lldb/Utility/StringExtractor.h"
+#include "llvm/ADT/StringRef.h"
+
+#include <string>
+
+#include <stddef.h>
+#include <stdint.h>
+
+class StringExtractorGDBRemote : public StringExtractor {
+public:
+  typedef bool (*ResponseValidatorCallback)(
+      void *baton, const StringExtractorGDBRemote &response);
+
+  StringExtractorGDBRemote() : StringExtractor(), m_validator(nullptr) {}
+
+  StringExtractorGDBRemote(llvm::StringRef str)
+      : StringExtractor(str), m_validator(nullptr) {}
+
+  StringExtractorGDBRemote(const char *cstr)
+      : StringExtractor(cstr), m_validator(nullptr) {}
+
+  StringExtractorGDBRemote(const StringExtractorGDBRemote &rhs)
+      : StringExtractor(rhs), m_validator(rhs.m_validator) {}
+
+  ~StringExtractorGDBRemote() override {}
+
+  bool ValidateResponse() const;
+
+  void CopyResponseValidator(const StringExtractorGDBRemote &rhs);
+
+  void SetResponseValidator(ResponseValidatorCallback callback, void *baton);
+
+  void SetResponseValidatorToOKErrorNotSupported();
+
+  void SetResponseValidatorToASCIIHexBytes();
+
+  void SetResponseValidatorToJSON();
+
+  enum ServerPacketType {
+    eServerPacketType_nack = 0,
+    eServerPacketType_ack,
+    eServerPacketType_invalid,
+    eServerPacketType_unimplemented,
+    eServerPacketType_interrupt, // CTRL+c packet or "\x03"
+    eServerPacketType_A,         // Program arguments packet
+    eServerPacketType_qfProcessInfo,
+    eServerPacketType_qsProcessInfo,
+    eServerPacketType_qC,
+    eServerPacketType_qEcho,
+    eServerPacketType_qGroupName,
+    eServerPacketType_qHostInfo,
+    eServerPacketType_qLaunchGDBServer,
+    eServerPacketType_qQueryGDBServer,
+    eServerPacketType_qKillSpawnedProcess,
+    eServerPacketType_qLaunchSuccess,
+    eServerPacketType_qModuleInfo,
+    eServerPacketType_qProcessInfoPID,
+    eServerPacketType_qSpeedTest,
+    eServerPacketType_qUserName,
+    eServerPacketType_qGetWorkingDir,
+    eServerPacketType_qFileLoadAddress,
+    eServerPacketType_QEnvironment,
+    eServerPacketType_QEnableErrorStrings,
+    eServerPacketType_QLaunchArch,
+    eServerPacketType_QSetDisableASLR,
+    eServerPacketType_QSetDetachOnError,
+    eServerPacketType_QSetSTDIN,
+    eServerPacketType_QSetSTDOUT,
+    eServerPacketType_QSetSTDERR,
+    eServerPacketType_QSetWorkingDir,
+    eServerPacketType_QStartNoAckMode,
+    eServerPacketType_qPlatform_shell,
+    eServerPacketType_qPlatform_mkdir,
+    eServerPacketType_qPlatform_chmod,
+    eServerPacketType_vFile_open,
+    eServerPacketType_vFile_close,
+    eServerPacketType_vFile_pread,
+    eServerPacketType_vFile_pwrite,
+    eServerPacketType_vFile_size,
+    eServerPacketType_vFile_mode,
+    eServerPacketType_vFile_exists,
+    eServerPacketType_vFile_md5,
+    eServerPacketType_vFile_stat,
+    eServerPacketType_vFile_symlink,
+    eServerPacketType_vFile_unlink,
+    // debug server packages
+    eServerPacketType_QEnvironmentHexEncoded,
+    eServerPacketType_QListThreadsInStopReply,
+    eServerPacketType_QPassSignals,
+    eServerPacketType_QRestoreRegisterState,
+    eServerPacketType_QSaveRegisterState,
+    eServerPacketType_QSetLogging,
+    eServerPacketType_QSetMaxPacketSize,
+    eServerPacketType_QSetMaxPayloadSize,
+    eServerPacketType_QSetEnableAsyncProfiling,
+    eServerPacketType_QSyncThreadState,
+    eServerPacketType_QThreadSuffixSupported,
+
+    eServerPacketType_jThreadsInfo,
+    eServerPacketType_qsThreadInfo,
+    eServerPacketType_qfThreadInfo,
+    eServerPacketType_qGetPid,
+    eServerPacketType_qGetProfileData,
+    eServerPacketType_qGDBServerVersion,
+    eServerPacketType_qMemoryRegionInfo,
+    eServerPacketType_qMemoryRegionInfoSupported,
+    eServerPacketType_qProcessInfo,
+    eServerPacketType_qRcmd,
+    eServerPacketType_qRegisterInfo,
+    eServerPacketType_qShlibInfoAddr,
+    eServerPacketType_qStepPacketSupported,
+    eServerPacketType_qSupported,
+    eServerPacketType_qSyncThreadStateSupported,
+    eServerPacketType_qThreadExtraInfo,
+    eServerPacketType_qThreadStopInfo,
+    eServerPacketType_qVAttachOrWaitSupported,
+    eServerPacketType_qWatchpointSupportInfo,
+    eServerPacketType_qWatchpointSupportInfoSupported,
+    eServerPacketType_qXfer,
+
+    eServerPacketType_jSignalsInfo,
+    eServerPacketType_jModulesInfo,
+
+    eServerPacketType_vAttach,
+    eServerPacketType_vAttachWait,
+    eServerPacketType_vAttachOrWait,
+    eServerPacketType_vAttachName,
+    eServerPacketType_vCont,
+    eServerPacketType_vCont_actions, // vCont?
+
+    eServerPacketType_stop_reason, // '?'
+
+    eServerPacketType_c,
+    eServerPacketType_C,
+    eServerPacketType_D,
+    eServerPacketType_g,
+    eServerPacketType_G,
+    eServerPacketType_H,
+    eServerPacketType_I, // stdin notification
+    eServerPacketType_k,
+    eServerPacketType_m,
+    eServerPacketType_M,
+    eServerPacketType_p,
+    eServerPacketType_P,
+    eServerPacketType_s,
+    eServerPacketType_S,
+    eServerPacketType_T,
+    eServerPacketType_x,
+    eServerPacketType_X,
+    eServerPacketType_Z,
+    eServerPacketType_z,
+
+    eServerPacketType__M,
+    eServerPacketType__m,
+    eServerPacketType_notify, // '%' notification
+
+    eServerPacketType_jTraceStart,
+    eServerPacketType_jTraceBufferRead,
+    eServerPacketType_jTraceMetaRead,
+    eServerPacketType_jTraceStop,
+    eServerPacketType_jTraceConfigRead,
+  };
+
+  ServerPacketType GetServerPacketType() const;
+
+  enum ResponseType { eUnsupported = 0, eAck, eNack, eError, eOK, eResponse };
+
+  ResponseType GetResponseType() const;
+
+  bool IsOKResponse() const;
+
+  bool IsUnsupportedResponse() const;
+
+  bool IsNormalResponse() const;
+
+  bool IsErrorResponse() const;
+
+  // Returns zero if the packet isn't a EXX packet where XX are two hex digits.
+  // Otherwise the error encoded in XX is returned.
+  uint8_t GetError();
+
+  lldb_private::Status GetStatus();
+
+  size_t GetEscapedBinaryData(std::string &str);
+
+protected:
+  ResponseValidatorCallback m_validator;
+  void *m_validator_baton;
+};
+
+#endif // LLDB_UTILITY_STRINGEXTRACTORGDBREMOTE_H