[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