<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type></HEAD>
<BODY>
<DIV>
<DIV style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif">Thanks for committing this! We'll check the windows build asap.</DIV></DIV>
<DIV dir=ltr>
<HR>
<SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif; FONT-WEIGHT: bold">From: </SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif"><A href="mailto:jmolenda@apple.com">Jason Molenda</A></SPAN><BR><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif; FONT-WEIGHT: bold">Sent: </SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif">‎29/‎03/‎2014 19:02</SPAN><BR><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif; FONT-WEIGHT: bold">To: </SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif"><A href="mailto:lldb-commits@cs.uiuc.edu">lldb-commits@cs.uiuc.edu</A></SPAN><BR><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif; FONT-WEIGHT: bold">Subject: </SPAN><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri,sans-serif">[Lldb-commits] [lldb] r205113 - lldb arm64 import.</SPAN><BR><BR></DIV>Author: jmolenda<BR>Date: Sat Mar 29 13:54:20 2014<BR>New Revision: 205113<BR><BR>URL: http://llvm.org/viewvc/llvm-project?rev=205113&view=rev<BR>Log:<BR>lldb arm64 import.<BR><BR>These changes were written by Greg Clayton, Jim Ingham, Jason Molenda.<BR><BR>It builds cleanly against TOT llvm with xcodebuild.  I updated the<BR>cmake files by visual inspection but did not try a build.  I haven't<BR>built these sources on any non-Mac platforms - I don't think this<BR>patch adds any code that requires darwin, but please let me know if<BR>I missed something.<BR><BR>In debugserver, MachProcess.cpp and MachTask.cpp were renamed to<BR>MachProcess.mm and MachTask.mm as they picked up some new Objective-C<BR>code needed to launch processes when running on iOS.<BR><BR>Added:<BR>    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/<BR>    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp<BR>    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h<BR>    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt<BR>    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/Makefile<BR>    lldb/trunk/source/Plugins/Instruction/ARM64/<BR>    lldb/trunk/source/Plugins/Instruction/ARM64/CMakeLists.txt<BR>    lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp<BR>    lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h<BR>    lldb/trunk/source/Plugins/Instruction/ARM64/Makefile<BR>    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.cpp<BR>    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.h<BR>    lldb/trunk/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp<BR>    lldb/trunk/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h<BR>    lldb/trunk/source/Utility/ARM64_DWARF_Registers.cpp<BR>    lldb/trunk/source/Utility/ARM64_DWARF_Registers.h<BR>    lldb/trunk/source/Utility/ARM64_GCC_Registers.h<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.mm<BR>      - copied, changed from r205075, lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachTask.mm<BR>      - copied, changed from r205075, lldb/trunk/tools/debugserver/source/MacOSX/MachTask.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/arm64/<BR>    lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h<BR>Removed:<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachTask.cpp<BR>Modified:<BR>    lldb/trunk/include/lldb/API/SBProcess.h<BR>    lldb/trunk/include/lldb/API/SBTarget.h<BR>    lldb/trunk/include/lldb/Core/ArchSpec.h<BR>    lldb/trunk/include/lldb/Core/RegisterValue.h<BR>    lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h<BR>    lldb/trunk/include/lldb/Symbol/ClangASTType.h<BR>    lldb/trunk/include/lldb/Target/Process.h<BR>    lldb/trunk/lib/Makefile<BR>    lldb/trunk/lldb.xcodeproj/project.pbxproj<BR>    lldb/trunk/scripts/Python/interface/SBProcess.i<BR>    lldb/trunk/scripts/Python/interface/SBTarget.i<BR>    lldb/trunk/scripts/build-llvm.pl<BR>    lldb/trunk/source/API/SBProcess.cpp<BR>    lldb/trunk/source/API/SBTarget.cpp<BR>    lldb/trunk/source/CMakeLists.txt<BR>    lldb/trunk/source/Core/ArchSpec.cpp<BR>    lldb/trunk/source/Core/Error.cpp<BR>    lldb/trunk/source/Core/Module.cpp<BR>    lldb/trunk/source/Expression/ClangExpressionParser.cpp<BR>    lldb/trunk/source/Expression/ClangUserExpression.cpp<BR>    lldb/trunk/source/Expression/ExpressionSourceCode.cpp<BR>    lldb/trunk/source/Host/common/Host.cpp<BR>    lldb/trunk/source/Host/macosx/Host.mm<BR>    lldb/trunk/source/Host/macosx/Symbols.cpp<BR>    lldb/trunk/source/Interpreter/CommandInterpreter.cpp<BR>    lldb/trunk/source/Plugins/ABI/CMakeLists.txt<BR>    lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp<BR>    lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp<BR>    lldb/trunk/source/Plugins/Instruction/CMakeLists.txt<BR>    lldb/trunk/source/Plugins/Makefile<BR>    lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp<BR>    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp<BR>    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp<BR>    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp<BR>    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp<BR>    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp<BR>    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt<BR>    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ThreadKDP.cpp<BR>    lldb/trunk/source/Plugins/Process/Utility/CMakeLists.txt<BR>    lldb/trunk/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp<BR>    lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp<BR>    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp<BR>    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h<BR>    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp<BR>    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp<BR>    lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp<BR>    lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h<BR>    lldb/trunk/source/Symbol/ClangASTType.cpp<BR>    lldb/trunk/source/Target/Thread.cpp<BR>    lldb/trunk/source/Utility/CMakeLists.txt<BR>    lldb/trunk/source/lldb.cpp<BR>    lldb/trunk/test/functionalities/data-formatter/data-formatter-objc/main.m<BR>    lldb/trunk/tools/debugserver/debugserver.xcodeproj/project.pbxproj<BR>    lldb/trunk/tools/debugserver/source/DNB.cpp<BR>    lldb/trunk/tools/debugserver/source/DNB.h<BR>    lldb/trunk/tools/debugserver/source/DNBArch.cpp<BR>    lldb/trunk/tools/debugserver/source/DNBArch.h<BR>    lldb/trunk/tools/debugserver/source/DNBDefs.h<BR>    lldb/trunk/tools/debugserver/source/DNBError.cpp<BR>    lldb/trunk/tools/debugserver/source/DNBError.h<BR>    lldb/trunk/tools/debugserver/source/MacOSX/CMakeLists.txt<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachException.h<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.h<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/MachVMMemory.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp<BR>    lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.h<BR>    lldb/trunk/tools/debugserver/source/RNBContext.h<BR>    lldb/trunk/tools/debugserver/source/RNBDefs.h<BR>    lldb/trunk/tools/debugserver/source/RNBRemote.cpp<BR>    lldb/trunk/tools/debugserver/source/RNBRemote.h<BR>    lldb/trunk/tools/debugserver/source/RNBServices.cpp<BR>    lldb/trunk/tools/debugserver/source/RNBServices.h<BR>    lldb/trunk/tools/debugserver/source/debugserver-entitlements.plist<BR>    lldb/trunk/tools/debugserver/source/debugserver.cpp<BR><BR>Modified: lldb/trunk/include/lldb/API/SBProcess.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBProcess.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/API/SBProcess.h (original)<BR>+++ lldb/trunk/include/lldb/API/SBProcess.h Sat Mar 29 13:54:20 2014<BR>@@ -279,6 +279,9 @@ public:<BR>     lldb::SBError<BR>     UnloadImage (uint32_t image_token);<BR>     <BR>+    lldb::SBError<BR>+    SendEventData (const char *data);<BR>+    <BR>     //------------------------------------------------------------------<BR>     /// Return the number of different thread-origin extended backtraces<BR>     /// this process can support.<BR><BR>Modified: lldb/trunk/include/lldb/API/SBTarget.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBTarget.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/API/SBTarget.h (original)<BR>+++ lldb/trunk/include/lldb/API/SBTarget.h Sat Mar 29 13:54:20 2014<BR>@@ -110,6 +110,12 @@ public:<BR>     bool<BR>     AddSuppressFileAction (int fd, bool read, bool write);<BR>     <BR>+    void<BR>+    SetLaunchEventData (const char *data);<BR>+    <BR>+    const char *<BR>+    GetLaunchEventData () const;<BR>+    <BR>protected:<BR>     friend class SBTarget;<BR>     <BR><BR>Modified: lldb/trunk/include/lldb/Core/ArchSpec.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ArchSpec.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/Core/ArchSpec.h (original)<BR>+++ lldb/trunk/include/lldb/Core/ArchSpec.h Sat Mar 29 13:54:20 2014<BR>@@ -50,6 +50,7 @@ public:<BR>         eCore_arm_armv7m,<BR>         eCore_arm_armv7em,<BR>         eCore_arm_xscale,  <BR>+<BR>         eCore_thumb,<BR>         eCore_thumbv4t,<BR>         eCore_thumbv5,<BR>@@ -57,11 +58,12 @@ public:<BR>         eCore_thumbv6,<BR>         eCore_thumbv6m,<BR>         eCore_thumbv7,<BR>-        eCore_thumbv7f,<BR>         eCore_thumbv7s,<BR>         eCore_thumbv7k,<BR>+        eCore_thumbv7f,<BR>         eCore_thumbv7m,<BR>         eCore_thumbv7em,<BR>+        eCore_arm_arm64,<BR>         <BR>         eCore_mips64,<BR><BR><BR>Modified: lldb/trunk/include/lldb/Core/RegisterValue.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/RegisterValue.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/Core/RegisterValue.h (original)<BR>+++ lldb/trunk/include/lldb/Core/RegisterValue.h Sat Mar 29 13:54:20 2014<BR>@@ -374,6 +374,12 @@ namespace lldb_private {<BR>         uint32_t<BR>         GetByteSize () const;<BR><BR>+        static uint32_t<BR>+        GetMaxByteSize ()<BR>+        {<BR>+            return kMaxRegisterByteSize;<BR>+        }<BR>+<BR>         void<BR>         Clear();<BR><BR><BR>Modified: lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h (original)<BR>+++ lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h Sat Mar 29 13:54:20 2014<BR>@@ -17,6 +17,8 @@<BR>namespace lldb_private<BR>{<BR><BR>+class ExecutionContext;<BR>+<BR>class ExpressionSourceCode<BR>{<BR>public:<BR>@@ -53,7 +55,8 @@ public:<BR>     bool GetText (std::string &text, <BR>                   lldb::LanguageType wrapping_language, <BR>                   bool const_object,<BR>-                  bool static_method) const;<BR>+                  bool static_method,<BR>+                  ExecutionContext &exe_ctx) const;<BR>     <BR>private:<BR>     ExpressionSourceCode (const char *name,<BR><BR>Modified: lldb/trunk/include/lldb/Symbol/ClangASTType.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/ClangASTType.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/Symbol/ClangASTType.h (original)<BR>+++ lldb/trunk/include/lldb/Symbol/ClangASTType.h Sat Mar 29 13:54:20 2014<BR>@@ -155,6 +155,9 @@ public:<BR>     bool<BR>     IsFunctionType (bool *is_variadic_ptr = NULL) const;<BR><BR>+    uint32_t<BR>+    IsHomogeneousAggregate (ClangASTType* base_type_ptr) const;<BR>+<BR>     size_t<BR>     GetNumberOfFunctionArguments () const;<BR>     <BR><BR>Modified: lldb/trunk/include/lldb/Target/Process.h<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Process.h?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/include/lldb/Target/Process.h (original)<BR>+++ lldb/trunk/include/lldb/Target/Process.h Sat Mar 29 13:54:20 2014<BR>@@ -856,6 +856,18 @@ public:<BR>     }<BR><BR><BR>+    void<BR>+    SetLaunchEventData (const char *data)<BR>+    {<BR>+        m_event_data.assign (data);<BR>+    }<BR>+    <BR>+    const char *<BR>+    GetLaunchEventData () const<BR>+    {<BR>+        return m_event_data.c_str();<BR>+    }<BR>+    <BR>protected:<BR>     std::string m_working_dir;<BR>     std::string m_plugin_name;<BR>@@ -867,6 +879,7 @@ protected:<BR>     Host::MonitorChildProcessCallback m_monitor_callback;<BR>     void *m_monitor_callback_baton;<BR>     bool m_monitor_signals;<BR>+    std::string m_event_data; // A string passed to the plugin launch, having no meaning to the upper levels of lldb.<BR>     lldb::ListenerSP m_hijack_listener_sp;<BR>};<BR><BR>@@ -3638,8 +3651,17 @@ public:<BR>         else<BR>             return m_public_run_lock;<BR>     }<BR>-    <BR>+<BR>+public:<BR>+    virtual Error<BR>+    SendEventData(const char *data)<BR>+    {<BR>+        Error return_error ("Sending an event is not supported for this process.");<BR>+        return return_error;<BR>+    }<BR>+<BR>protected:<BR>+<BR>     //------------------------------------------------------------------<BR>     // NextEventAction provides a way to register an action on the next<BR>     // event that is delivered to this process.  There is currently only<BR><BR>Modified: lldb/trunk/lib/Makefile<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lib/Makefile?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/lib/Makefile (original)<BR>+++ lldb/trunk/lib/Makefile Sat Mar 29 13:54:20 2014<BR>@@ -32,12 +32,14 @@ USEDLIBS = lldbAPI.a \<BR>lldbInitAndLog.a \<BR>lldbInterpreter.a \<BR>lldbPluginABIMacOSX_arm.a \<BR>+ lldbPluginABIMacOSX_arm64.a \<BR>lldbPluginABIMacOSX_i386.a \<BR>lldbPluginABISysV_x86_64.a \<BR>lldbPluginDisassemblerLLVM.a \<BR>lldbPluginDynamicLoaderStatic.a \<BR>lldbPluginDynamicLoaderPOSIX.a \<BR>lldbPluginEmulateInstructionARM.a \<BR>+ lldbPluginEmulateInstructionARM64.a \<BR>lldbPluginLanguageRuntimeCPlusPlusItaniumABI.a \<BR>lldbPluginLanguageRuntimeObjCAppleObjCRuntime.a \<BR>lldbPluginObjectContainerBSDArchive.a \<BR><BR>Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj<BR>URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=205113&r1=205112&r2=205113&view=diff<BR>==============================================================================<BR>--- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)<BR>+++ lldb/trunk/lldb.xcodeproj/project.pbxproj Sat Mar 29 13:54:20 2014<BR>@@ -140,6 +140,8 @@<BR>26474CD518D0CB710073DEBA /* RegisterInfos_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = 26474CD218D0CB710073DEBA /* RegisterInfos_x86_64.h */; };<BR>26491E3B15E1DB8600CBFFC2 /* OptionValueRegex.h in Headers */ = {isa = PBXBuildFile; fileRef = 26491E3A15E1DB8600CBFFC2 /* OptionValueRegex.h */; };<BR>26491E3E15E1DB9F00CBFFC2 /* OptionValueRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26491E3D15E1DB9F00CBFFC2 /* OptionValueRegex.cpp */; };<BR>+ 264A12FC1372522000875C42 /* EmulateInstructionARM64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264A12FA1372522000875C42 /* EmulateInstructionARM64.cpp */; };<BR>+ 264A1300137252C700875C42 /* ARM64_DWARF_Registers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264A12FE137252C700875C42 /* ARM64_DWARF_Registers.cpp */; };<BR>264A97BF133918BC0017F0BE /* PlatformRemoteGDBServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264A97BD133918BC0017F0BE /* PlatformRemoteGDBServer.cpp */; };<BR>264D8D5013661BD7003A368F /* UnwindAssembly.cpp in Sourc<BR>
<DIV>[The entire original message is not included.]</DIV></BODY></HTML>