[Lldb-commits] [lldb] r205113 - lldb arm64 import.

Colin Riley colin at codeplay.com
Sat Mar 29 12:33:49 PDT 2014


Thanks for committing this! We'll check the windows build asap.

-----Original Message-----
From: "Jason Molenda" <jmolenda at apple.com>
Sent: ‎29/‎03/‎2014 19:02
To: "lldb-commits at cs.uiuc.edu" <lldb-commits at cs.uiuc.edu>
Subject: [Lldb-commits] [lldb] r205113 - lldb arm64 import.

Author: jmolenda
Date: Sat Mar 29 13:54:20 2014
New Revision: 205113

URL: http://llvm.org/viewvc/llvm-project?rev=205113&view=rev
Log:
lldb arm64 import.

These changes were written by Greg Clayton, Jim Ingham, Jason Molenda.

It builds cleanly against TOT llvm with xcodebuild.  I updated the
cmake files by visual inspection but did not try a build.  I haven't
built these sources on any non-Mac platforms - I don't think this
patch adds any code that requires darwin, but please let me know if
I missed something.

In debugserver, MachProcess.cpp and MachTask.cpp were renamed to
MachProcess.mm and MachTask.mm as they picked up some new Objective-C
code needed to launch processes when running on iOS.

Added:
    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/
    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h
    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt
    lldb/trunk/source/Plugins/ABI/MacOSX-arm64/Makefile
    lldb/trunk/source/Plugins/Instruction/ARM64/
    lldb/trunk/source/Plugins/Instruction/ARM64/CMakeLists.txt
    lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
    lldb/trunk/source/Plugins/Instruction/ARM64/Makefile
    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.cpp
    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.h
    lldb/trunk/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
    lldb/trunk/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h
    lldb/trunk/source/Utility/ARM64_DWARF_Registers.cpp
    lldb/trunk/source/Utility/ARM64_DWARF_Registers.h
    lldb/trunk/source/Utility/ARM64_GCC_Registers.h
    lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.mm
      - copied, changed from r205075, lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/MachTask.mm
      - copied, changed from r205075, lldb/trunk/tools/debugserver/source/MacOSX/MachTask.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/arm64/
    lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
Removed:
    lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/MachTask.cpp
Modified:
    lldb/trunk/include/lldb/API/SBProcess.h
    lldb/trunk/include/lldb/API/SBTarget.h
    lldb/trunk/include/lldb/Core/ArchSpec.h
    lldb/trunk/include/lldb/Core/RegisterValue.h
    lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h
    lldb/trunk/include/lldb/Symbol/ClangASTType.h
    lldb/trunk/include/lldb/Target/Process.h
    lldb/trunk/lib/Makefile
    lldb/trunk/lldb.xcodeproj/project.pbxproj
    lldb/trunk/scripts/Python/interface/SBProcess.i
    lldb/trunk/scripts/Python/interface/SBTarget.i
    lldb/trunk/scripts/build-llvm.pl
    lldb/trunk/source/API/SBProcess.cpp
    lldb/trunk/source/API/SBTarget.cpp
    lldb/trunk/source/CMakeLists.txt
    lldb/trunk/source/Core/ArchSpec.cpp
    lldb/trunk/source/Core/Error.cpp
    lldb/trunk/source/Core/Module.cpp
    lldb/trunk/source/Expression/ClangExpressionParser.cpp
    lldb/trunk/source/Expression/ClangUserExpression.cpp
    lldb/trunk/source/Expression/ExpressionSourceCode.cpp
    lldb/trunk/source/Host/common/Host.cpp
    lldb/trunk/source/Host/macosx/Host.mm
    lldb/trunk/source/Host/macosx/Symbols.cpp
    lldb/trunk/source/Interpreter/CommandInterpreter.cpp
    lldb/trunk/source/Plugins/ABI/CMakeLists.txt
    lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
    lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    lldb/trunk/source/Plugins/Instruction/CMakeLists.txt
    lldb/trunk/source/Plugins/Makefile
    lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp
    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt
    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ThreadKDP.cpp
    lldb/trunk/source/Plugins/Process/Utility/CMakeLists.txt
    lldb/trunk/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
    lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    lldb/trunk/source/Symbol/ClangASTType.cpp
    lldb/trunk/source/Target/Thread.cpp
    lldb/trunk/source/Utility/CMakeLists.txt
    lldb/trunk/source/lldb.cpp
    lldb/trunk/test/functionalities/data-formatter/data-formatter-objc/main.m
    lldb/trunk/tools/debugserver/debugserver.xcodeproj/project.pbxproj
    lldb/trunk/tools/debugserver/source/DNB.cpp
    lldb/trunk/tools/debugserver/source/DNB.h
    lldb/trunk/tools/debugserver/source/DNBArch.cpp
    lldb/trunk/tools/debugserver/source/DNBArch.h
    lldb/trunk/tools/debugserver/source/DNBDefs.h
    lldb/trunk/tools/debugserver/source/DNBError.cpp
    lldb/trunk/tools/debugserver/source/DNBError.h
    lldb/trunk/tools/debugserver/source/MacOSX/CMakeLists.txt
    lldb/trunk/tools/debugserver/source/MacOSX/MachException.h
    lldb/trunk/tools/debugserver/source/MacOSX/MachProcess.h
    lldb/trunk/tools/debugserver/source/MacOSX/MachThreadList.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/MachVMMemory.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
    lldb/trunk/tools/debugserver/source/MacOSX/arm/DNBArchImpl.h
    lldb/trunk/tools/debugserver/source/RNBContext.h
    lldb/trunk/tools/debugserver/source/RNBDefs.h
    lldb/trunk/tools/debugserver/source/RNBRemote.cpp
    lldb/trunk/tools/debugserver/source/RNBRemote.h
    lldb/trunk/tools/debugserver/source/RNBServices.cpp
    lldb/trunk/tools/debugserver/source/RNBServices.h
    lldb/trunk/tools/debugserver/source/debugserver-entitlements.plist
    lldb/trunk/tools/debugserver/source/debugserver.cpp

Modified: lldb/trunk/include/lldb/API/SBProcess.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBProcess.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/API/SBProcess.h (original)
+++ lldb/trunk/include/lldb/API/SBProcess.h Sat Mar 29 13:54:20 2014
@@ -279,6 +279,9 @@ public:
     lldb::SBError
     UnloadImage (uint32_t image_token);
     
+    lldb::SBError
+    SendEventData (const char *data);
+    
     //------------------------------------------------------------------
     /// Return the number of different thread-origin extended backtraces
     /// this process can support.

Modified: lldb/trunk/include/lldb/API/SBTarget.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBTarget.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/API/SBTarget.h (original)
+++ lldb/trunk/include/lldb/API/SBTarget.h Sat Mar 29 13:54:20 2014
@@ -110,6 +110,12 @@ public:
     bool
     AddSuppressFileAction (int fd, bool read, bool write);
     
+    void
+    SetLaunchEventData (const char *data);
+    
+    const char *
+    GetLaunchEventData () const;
+    
 protected:
     friend class SBTarget;
     

Modified: lldb/trunk/include/lldb/Core/ArchSpec.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ArchSpec.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/ArchSpec.h (original)
+++ lldb/trunk/include/lldb/Core/ArchSpec.h Sat Mar 29 13:54:20 2014
@@ -50,6 +50,7 @@ public:
         eCore_arm_armv7m,
         eCore_arm_armv7em,
         eCore_arm_xscale,  
+
         eCore_thumb,
         eCore_thumbv4t,
         eCore_thumbv5,
@@ -57,11 +58,12 @@ public:
         eCore_thumbv6,
         eCore_thumbv6m,
         eCore_thumbv7,
-        eCore_thumbv7f,
         eCore_thumbv7s,
         eCore_thumbv7k,
+        eCore_thumbv7f,
         eCore_thumbv7m,
         eCore_thumbv7em,
+        eCore_arm_arm64,
         
         eCore_mips64,
 

Modified: lldb/trunk/include/lldb/Core/RegisterValue.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/RegisterValue.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/RegisterValue.h (original)
+++ lldb/trunk/include/lldb/Core/RegisterValue.h Sat Mar 29 13:54:20 2014
@@ -374,6 +374,12 @@ namespace lldb_private {
         uint32_t
         GetByteSize () const;
 
+        static uint32_t
+        GetMaxByteSize ()
+        {
+            return kMaxRegisterByteSize;
+        }
+
         void
         Clear();
 

Modified: lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h (original)
+++ lldb/trunk/include/lldb/Expression/ExpressionSourceCode.h Sat Mar 29 13:54:20 2014
@@ -17,6 +17,8 @@
 namespace lldb_private
 {
 
+class ExecutionContext;
+
 class ExpressionSourceCode
 {
 public:
@@ -53,7 +55,8 @@ public:
     bool GetText (std::string &text, 
                   lldb::LanguageType wrapping_language, 
                   bool const_object,
-                  bool static_method) const;
+                  bool static_method,
+                  ExecutionContext &exe_ctx) const;
     
 private:
     ExpressionSourceCode (const char *name,

Modified: lldb/trunk/include/lldb/Symbol/ClangASTType.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/ClangASTType.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Symbol/ClangASTType.h (original)
+++ lldb/trunk/include/lldb/Symbol/ClangASTType.h Sat Mar 29 13:54:20 2014
@@ -155,6 +155,9 @@ public:
     bool
     IsFunctionType (bool *is_variadic_ptr = NULL) const;
 
+    uint32_t
+    IsHomogeneousAggregate (ClangASTType* base_type_ptr) const;
+
     size_t
     GetNumberOfFunctionArguments () const;
     

Modified: lldb/trunk/include/lldb/Target/Process.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Process.h?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Process.h (original)
+++ lldb/trunk/include/lldb/Target/Process.h Sat Mar 29 13:54:20 2014
@@ -856,6 +856,18 @@ public:
     }
 
 
+    void
+    SetLaunchEventData (const char *data)
+    {
+        m_event_data.assign (data);
+    }
+    
+    const char *
+    GetLaunchEventData () const
+    {
+        return m_event_data.c_str();
+    }
+    
 protected:
     std::string m_working_dir;
     std::string m_plugin_name;
@@ -867,6 +879,7 @@ protected:
     Host::MonitorChildProcessCallback m_monitor_callback;
     void *m_monitor_callback_baton;
     bool m_monitor_signals;
+    std::string m_event_data; // A string passed to the plugin launch, having no meaning to the upper levels of lldb.
     lldb::ListenerSP m_hijack_listener_sp;
 };
 
@@ -3638,8 +3651,17 @@ public:
         else
             return m_public_run_lock;
     }
-    
+
+public:
+    virtual Error
+    SendEventData(const char *data)
+    {
+        Error return_error ("Sending an event is not supported for this process.");
+        return return_error;
+    }
+
 protected:
+
     //------------------------------------------------------------------
     // NextEventAction provides a way to register an action on the next
     // event that is delivered to this process.  There is currently only

Modified: lldb/trunk/lib/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lib/Makefile?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/lib/Makefile (original)
+++ lldb/trunk/lib/Makefile Sat Mar 29 13:54:20 2014
@@ -32,12 +32,14 @@ USEDLIBS = lldbAPI.a \
 	lldbInitAndLog.a \
 	lldbInterpreter.a \
 	lldbPluginABIMacOSX_arm.a \
+	lldbPluginABIMacOSX_arm64.a \
 	lldbPluginABIMacOSX_i386.a \
 	lldbPluginABISysV_x86_64.a \
 	lldbPluginDisassemblerLLVM.a \
 	lldbPluginDynamicLoaderStatic.a \
 	lldbPluginDynamicLoaderPOSIX.a \
 	lldbPluginEmulateInstructionARM.a \
+	lldbPluginEmulateInstructionARM64.a \
 	lldbPluginLanguageRuntimeCPlusPlusItaniumABI.a \
 	lldbPluginLanguageRuntimeObjCAppleObjCRuntime.a \
 	lldbPluginObjectContainerBSDArchive.a \

Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=205113&r1=205112&r2=205113&view=diff
==============================================================================
--- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)
+++ lldb/trunk/lldb.xcodeproj/project.pbxproj Sat Mar 29 13:54:20 2014
@@ -140,6 +140,8 @@
 		26474CD518D0CB710073DEBA /* RegisterInfos_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = 26474CD218D0CB710073DEBA /* RegisterInfos_x86_64.h */; };
 		26491E3B15E1DB8600CBFFC2 /* OptionValueRegex.h in Headers */ = {isa = PBXBuildFile; fileRef = 26491E3A15E1DB8600CBFFC2 /* OptionValueRegex.h */; };
 		26491E3E15E1DB9F00CBFFC2 /* OptionValueRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26491E3D15E1DB9F00CBFFC2 /* OptionValueRegex.cpp */; };
+		264A12FC1372522000875C42 /* EmulateInstructionARM64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264A12FA1372522000875C42 /* EmulateInstructionARM64.cpp */; };
+		264A1300137252C700875C42 /* ARM64_DWARF_Registers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264A12FE137252C700875C42 /* ARM64_DWARF_Registers.cpp */; };
 		264A97BF133918BC0017F0BE /* PlatformRemoteGDBServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264A97BD133918BC0017F0BE /* PlatformRemoteGDBServer.cpp */; };
 		264D8D5013661BD7003A368F /* UnwindAssembly.cpp in Sourc

[The entire original message is not included.]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140329/e7db9b92/attachment.html>


More information about the lldb-commits mailing list