summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/API/SBBreakpointLocation.h3
-rw-r--r--lldb/include/lldb/API/SBFrame.h2
-rw-r--r--lldb/include/lldb/Core/FormatClasses.h30
-rw-r--r--lldb/include/lldb/Core/FormatManager.h16
-rw-r--r--lldb/include/lldb/Expression/ClangUserExpression.h15
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreterPython.h13
-rw-r--r--lldb/include/lldb/lldb-forward-rtti.h2
-rw-r--r--lldb/include/lldb/lldb-forward.h5
-rw-r--r--lldb/lldb.xcodeproj/project.pbxproj310
-rwxr-xr-xlldb/scripts/Python/build-swig-Python.sh8
-rwxr-xr-xlldb/scripts/Python/finish-swig-Python-LLDB.sh6
-rw-r--r--lldb/scripts/build-llvm.pl219
-rw-r--r--lldb/source/API/SBCommandInterpreter.cpp16
-rw-r--r--lldb/source/Commands/CommandObjectType.cpp143
-rw-r--r--lldb/source/Commands/CommandObjectType.h1
-rw-r--r--lldb/source/Core/FormatClasses.cpp19
-rw-r--r--lldb/source/Core/FormatManager.cpp69
-rw-r--r--lldb/source/Host/common/Host.cpp2
-rw-r--r--lldb/source/Host/macosx/Host.mm30
-rw-r--r--lldb/source/Host/macosx/Symbols.cpp6
-rw-r--r--lldb/source/Interpreter/CommandInterpreter.cpp10
-rw-r--r--lldb/source/Interpreter/ScriptInterpreter.cpp5
-rw-r--r--lldb/source/Interpreter/ScriptInterpreterPython.cpp7
-rw-r--r--lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp14
-rw-r--r--lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp2
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp6
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp4
-rw-r--r--lldb/source/Symbol/ClangASTContext.cpp6
-rw-r--r--lldb/source/Symbol/ClangASTType.cpp2
-rw-r--r--lldb/source/Target/StackFrameList.cpp2
-rw-r--r--lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj8
-rw-r--r--lldb/tools/debugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme18
-rw-r--r--lldb/tools/debugserver/source/MacOSX/MachProcess.cpp6
-rw-r--r--lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp54
34 files changed, 723 insertions, 336 deletions
diff --git a/lldb/include/lldb/API/SBBreakpointLocation.h b/lldb/include/lldb/API/SBBreakpointLocation.h
index ba8e8715c65..ab8e56b0ddc 100644
--- a/lldb/include/lldb/API/SBBreakpointLocation.h
+++ b/lldb/include/lldb/API/SBBreakpointLocation.h
@@ -96,8 +96,9 @@ public:
private:
friend class SBBreakpoint;
+#ifndef LLDB_DISABLE_PYTHON
friend class lldb_private::ScriptInterpreterPython;
-
+#endif
void
SetLocation (const lldb::BreakpointLocationSP &break_loc_sp);
diff --git a/lldb/include/lldb/API/SBFrame.h b/lldb/include/lldb/API/SBFrame.h
index c8c6758dfd9..d351fd21376 100644
--- a/lldb/include/lldb/API/SBFrame.h
+++ b/lldb/include/lldb/API/SBFrame.h
@@ -205,7 +205,9 @@ protected:
private:
friend class SBThread;
friend class SBInstruction;
+#ifndef LLDB_DISABLE_PYTHON
friend class lldb_private::ScriptInterpreterPython;
+#endif
#ifndef SWIG
diff --git a/lldb/include/lldb/Core/FormatClasses.h b/lldb/include/lldb/Core/FormatClasses.h
index 850ae903835..2ed21063a5b 100644
--- a/lldb/include/lldb/Core/FormatClasses.h
+++ b/lldb/include/lldb/Core/FormatClasses.h
@@ -11,6 +11,22 @@
#define lldb_FormatClasses_h_
// C Includes
+
+#ifdef LLDB_DISABLE_PYTHON
+
+struct PyObject;
+
+#else // #ifdef LLDB_DISABLE_PYTHON
+
+#if defined (__APPLE__)
+#include <Python/Python.h>
+#else
+#include <Python.h>
+#endif
+
+#endif // #ifdef LLDB_DISABLE_PYTHON
+
+
#include <stdint.h>
#include <unistd.h>
@@ -262,6 +278,8 @@ public:
};
+#ifndef LLDB_DISABLE_PYTHON
+
class SyntheticScriptProvider : public SyntheticChildren
{
std::string m_python_class;
@@ -290,7 +308,7 @@ public:
{
return true;
}
-
+
class FrontEnd : public SyntheticChildrenFrontEnd
{
private:
@@ -341,10 +359,10 @@ public:
GetFrontEnd(lldb::ValueObjectSP backend)
{
return SyntheticChildrenFrontEnd::SharedPointer(new FrontEnd(m_python_class, backend));
- }
-
+ }
};
-
+
+#endif // #ifndef LLDB_DISABLE_PYTHON
class SyntheticArrayView : public SyntheticChildren
{
public:
@@ -648,6 +666,8 @@ struct StringSummaryFormat : public SummaryFormat
};
+#ifndef LLDB_DISABLE_PYTHON
+
// Python-based summaries, running script code to show data
struct ScriptSummaryFormat : public SummaryFormat
{
@@ -690,6 +710,8 @@ struct ScriptSummaryFormat : public SummaryFormat
};
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
} // namespace lldb_private
#endif // lldb_FormatClasses_h_
diff --git a/lldb/include/lldb/Core/FormatManager.h b/lldb/include/lldb/Core/FormatManager.h
index 05d525d1a08..8f56287ad2d 100644
--- a/lldb/include/lldb/Core/FormatManager.h
+++ b/lldb/include/lldb/Core/FormatManager.h
@@ -44,15 +44,19 @@ private:
typedef FormatNavigator<ConstString, SyntheticFilter> FilterNavigator;
typedef FormatNavigator<lldb::RegularExpressionSP, SyntheticFilter> RegexFilterNavigator;
+#ifndef LLDB_DISABLE_PYTHON
typedef FormatNavigator<ConstString, SyntheticScriptProvider> SynthNavigator;
typedef FormatNavigator<lldb::RegularExpressionSP, SyntheticScriptProvider> RegexSynthNavigator;
+#endif // #ifndef LLDB_DISABLE_PYTHON
typedef SummaryNavigator::MapType SummaryMap;
typedef RegexSummaryNavigator::MapType RegexSummaryMap;
typedef FilterNavigator::MapType FilterMap;
typedef RegexFilterNavigator::MapType RegexFilterMap;
+#ifndef LLDB_DISABLE_PYTHON
typedef SynthNavigator::MapType SynthMap;
typedef RegexSynthNavigator::MapType RegexSynthMap;
+#endif // #ifndef LLDB_DISABLE_PYTHON
public:
@@ -63,8 +67,10 @@ public:
typedef RegexSummaryNavigator::SharedPointer RegexSummaryNavigatorSP;
typedef FilterNavigator::SharedPointer FilterNavigatorSP;
typedef RegexFilterNavigator::SharedPointer RegexFilterNavigatorSP;
+#ifndef LLDB_DISABLE_PYTHON
typedef SynthNavigator::SharedPointer SynthNavigatorSP;
typedef RegexSynthNavigator::SharedPointer RegexSynthNavigatorSP;
+#endif // #ifndef LLDB_DISABLE_PYTHON
FormatCategory (IFormatChangeListener* clist,
std::string name);
@@ -92,7 +98,8 @@ public:
{
return RegexFilterNavigatorSP(m_regex_filter_nav);
}
-
+
+#ifndef LLDB_DISABLE_PYTHON
SynthNavigatorSP
GetSyntheticNavigator ()
{
@@ -104,7 +111,8 @@ public:
{
return RegexSynthNavigatorSP(m_regex_synth_nav);
}
-
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
bool
IsEnabled () const
{
@@ -153,8 +161,10 @@ private:
RegexSummaryNavigator::SharedPointer m_regex_summary_nav;
FilterNavigator::SharedPointer m_filter_nav;
RegexFilterNavigator::SharedPointer m_regex_filter_nav;
+#ifndef LLDB_DISABLE_PYTHON
SynthNavigator::SharedPointer m_synth_nav;
RegexSynthNavigator::SharedPointer m_regex_synth_nav;
+#endif // #ifndef LLDB_DISABLE_PYTHON
bool m_enabled;
@@ -187,8 +197,10 @@ private:
friend class FormatNavigator<ConstString, SyntheticFilter>;
friend class FormatNavigator<lldb::RegularExpressionSP, SyntheticFilter>;
+#ifndef LLDB_DISABLE_PYTHON
friend class FormatNavigator<ConstString, SyntheticScriptProvider>;
friend class FormatNavigator<lldb::RegularExpressionSP, SyntheticScriptProvider>;
+#endif // #ifndef LLDB_DISABLE_PYTHON
};
diff --git a/lldb/include/lldb/Expression/ClangUserExpression.h b/lldb/include/lldb/Expression/ClangUserExpression.h
index 6f69cf04756..2f623869352 100644
--- a/lldb/include/lldb/Expression/ClangUserExpression.h
+++ b/lldb/include/lldb/Expression/ClangUserExpression.h
@@ -287,12 +287,12 @@ public:
static ExecutionResults
EvaluateWithError (ExecutionContext &exe_ctx,
- lldb_private::ExecutionPolicy execution_policy,
- bool discard_on_error,
- const char *expr_cstr,
- const char *expr_prefix,
- lldb::ValueObjectSP &result_valobj_sp,
- Error &error);
+ lldb_private::ExecutionPolicy execution_policy,
+ bool discard_on_error,
+ const char *expr_cstr,
+ const char *expr_prefix,
+ lldb::ValueObjectSP &result_valobj_sp,
+ Error &error);
static const Error::ValueType kNoResult = 0x1001; ///< ValueObject::GetError() returns this if there is no result from the expression.
private:
@@ -301,7 +301,8 @@ private:
//------------------------------------------------------------------
void
- ScanContext(ExecutionContext &exe_ctx);
+ ScanContext (ExecutionContext &exe_ctx,
+ lldb_private::Error &err);
bool
PrepareToExecuteJITExpression (Stream &error_stream,
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
index 9615f50eb08..2112e333b56 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
@@ -11,6 +11,18 @@
#ifndef liblldb_ScriptInterpreterPython_h_
#define liblldb_ScriptInterpreterPython_h_
+#ifdef LLDB_DISABLE_PYTHON
+
+// Python is disabled in this build
+
+#else
+
+#if defined (__APPLE__)
+#include <Python/Python.h>
+#else
+#include <Python.h>
+#endif
+
#include "lldb/lldb-private.h"
#include "lldb/Interpreter/ScriptInterpreter.h"
#include "lldb/Core/InputReader.h"
@@ -232,5 +244,6 @@ private:
};
} // namespace lldb_private
+#endif // #ifdef LLDB_DISABLE_PYTHON
#endif // #ifndef liblldb_ScriptInterpreterPython_h_
diff --git a/lldb/include/lldb/lldb-forward-rtti.h b/lldb/include/lldb/lldb-forward-rtti.h
index 37b757ed9cf..63b1d6fa8da 100644
--- a/lldb/include/lldb/lldb-forward-rtti.h
+++ b/lldb/include/lldb/lldb-forward-rtti.h
@@ -59,7 +59,9 @@ namespace lldb {
typedef SharedPtr<lldb_private::RegularExpression>::Type RegularExpressionSP;
typedef SharedPtr<lldb_private::Section>::Type SectionSP;
typedef SharedPtr<lldb_private::SearchFilter>::Type SearchFilterSP;
+#ifndef LLDB_DISABLE_PYTHON
typedef SharedPtr<lldb_private::ScriptSummaryFormat>::Type ScriptFormatSP;
+#endif // #ifndef LLDB_DISABLE_PYTHON
typedef IntrusiveSharedPtr<lldb_private::StackFrame>::Type StackFrameSP;
typedef SharedPtr<lldb_private::StackFrameList>::Type StackFrameListSP;
typedef SharedPtr<lldb_private::StopInfo>::Type StopInfoSP;
diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h
index c1d199287c6..79ce7b82cf3 100644
--- a/lldb/include/lldb/lldb-forward.h
+++ b/lldb/include/lldb/lldb-forward.h
@@ -126,7 +126,10 @@ class RegularExpression;
class Scalar;
struct ScriptSummaryFormat;
class ScriptInterpreter;
+#ifndef LLDB_DISABLE_PYTHON
class ScriptInterpreterPython;
+class ScriptSummaryFormat;
+#endif // #ifndef LLDB_DISABLE_PYTHON
class SearchFilter;
class Section;
class SectionImpl;
@@ -157,7 +160,9 @@ class SymbolVendor;
class Symtab;
class SyntheticChildren;
class SyntheticChildrenFrontEnd;
+#ifndef LLDB_DISABLE_PYTHON
class SyntheticScriptProvider;
+#endif // #ifndef LLDB_DISABLE_PYTHON
class Target;
class TargetList;
class Thread;
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj
index a0650178ba4..0165df645b3 100644
--- a/lldb/lldb.xcodeproj/project.pbxproj
+++ b/lldb/lldb.xcodeproj/project.pbxproj
@@ -7,7 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 260C876A10F538E700BB2B04 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260C876910F538E700BB2B04 /* Foundation.framework */; };
260E07C6136FA69E00CF21D3 /* OptionGroupUUID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E07C5136FA69E00CF21D3 /* OptionGroupUUID.cpp */; };
260E07C8136FAB9200CF21D3 /* OptionGroupFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E07C7136FAB9200CF21D3 /* OptionGroupFile.cpp */; };
261744781168585B005ADD65 /* SBType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 261744771168585B005ADD65 /* SBType.cpp */; };
@@ -29,7 +28,7 @@
265205A813D3E3F700132FE2 /* RegisterContextKDP_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 265205A213D3E3F700132FE2 /* RegisterContextKDP_arm.cpp */; };
265205AA13D3E3F700132FE2 /* RegisterContextKDP_i386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 265205A413D3E3F700132FE2 /* RegisterContextKDP_i386.cpp */; };
265205AC13D3E3F700132FE2 /* RegisterContextKDP_x86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 265205A613D3E3F700132FE2 /* RegisterContextKDP_x86_64.cpp */; };
- 265ABF6310F42EE900531910 /* DebugSymbols.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 265ABF6210F42EE900531910 /* DebugSymbols.framework */; };
+ 2660AAB914622483003A9694 /* LLDBWrapPython.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A4EEB511682AAC007A372A /* LLDBWrapPython.cpp */; };
26651A18133BF9E0005B64B7 /* Opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26651A17133BF9DF005B64B7 /* Opcode.cpp */; };
266603CA1345B5A8004DA8B6 /* ConnectionSharedMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266603C91345B5A8004DA8B6 /* ConnectionSharedMemory.cpp */; };
2668020E115FD12C008E1FE4 /* lldb-defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 26BC7C2510F1B3BC00F91463 /* lldb-defines.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -53,9 +52,6 @@
2668022C115FD13D008E1FE4 /* SBTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9831081125FC5800A56CB0 /* SBTarget.h */; settings = {ATTRIBUTES = (Public, ); }; };
2668022E115FD13D008E1FE4 /* SBThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A98310A1125FC5800A56CB0 /* SBThread.h */; settings = {ATTRIBUTES = (Public, ); }; };
2668022F115FD19D008E1FE4 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C39010F3FA26009D5894 /* CoreFoundation.framework */; };
- 26680230115FD19E008E1FE4 /* DebugSymbols.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 265ABF6210F42EE900531910 /* DebugSymbols.framework */; };
- 26680231115FD1A0008E1FE4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260C876910F538E700BB2B04 /* Foundation.framework */; };
- 26680232115FD1A4008E1FE4 /* libpython.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32410F3DF23009D5894 /* libpython.dylib */; };
26680233115FD1A7008E1FE4 /* libobjc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C37410F3F61B009D5894 /* libobjc.dylib */; };
26680324116005D9008E1FE4 /* SBThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9831091125FC5800A56CB0 /* SBThread.cpp */; };
26680326116005DB008E1FE4 /* SBTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9831071125FC5800A56CB0 /* SBTarget.cpp */; };
@@ -342,13 +338,8 @@
2697A54D133A6305004E4240 /* PlatformDarwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2697A54B133A6305004E4240 /* PlatformDarwin.cpp */; };
26A69C5F137A17A500262477 /* RegisterValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C6886E137880C400407EDF /* RegisterValue.cpp */; };
26A7A035135E6E4200FB369E /* NamedOptionValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A7A034135E6E4200FB369E /* NamedOptionValue.cpp */; };
- 26B1FA1413380E61002886E2 /* LLDBWrapPython.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A4EEB511682AAC007A372A /* LLDBWrapPython.cpp */; };
26B1FCB813381071002886E2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C39010F3FA26009D5894 /* CoreFoundation.framework */; };
- 26B1FCB913381071002886E2 /* DebugSymbols.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 265ABF6210F42EE900531910 /* DebugSymbols.framework */; };
- 26B1FCBA13381071002886E2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260C876910F538E700BB2B04 /* Foundation.framework */; };
- 26B1FCBB13381071002886E2 /* libpython.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32410F3DF23009D5894 /* libpython.dylib */; };
26B1FCBC13381071002886E2 /* libobjc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C37410F3F61B009D5894 /* libobjc.dylib */; };
- 26B1FCBD13381071002886E2 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C74CB6212288704006A8171 /* Carbon.framework */; };
26B1FCC21338115F002886E2 /* Host.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EE810F1B88F00F91463 /* Host.mm */; };
26B42C4D1187ABA50079C8C8 /* LLDB.h in Headers */ = {isa = PBXBuildFile; fileRef = 26B42C4C1187ABA50079C8C8 /* LLDB.h */; settings = {ATTRIBUTES = (Public, ); }; };
26B8283D142D01E9002DBC64 /* SBSection.h in Headers */ = {isa = PBXBuildFile; fileRef = 26B8283C142D01E9002DBC64 /* SBSection.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -392,11 +383,8 @@
26F4A21C13FBA31A0064B613 /* ThreadMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26F4A21A13FBA31A0064B613 /* ThreadMemory.cpp */; };
26F5C27710F3D9E4009D5894 /* Driver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26F5C27310F3D9E4009D5894 /* Driver.cpp */; };
26F5C27810F3D9E4009D5894 /* IOChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26F5C27510F3D9E4009D5894 /* IOChannel.cpp */; };
- 26F5C32510F3DF23009D5894 /* libpython.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32410F3DF23009D5894 /* libpython.dylib */; };
26F5C32C10F3DFDD009D5894 /* libedit.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32A10F3DFDD009D5894 /* libedit.dylib */; };
26F5C32D10F3DFDD009D5894 /* libtermcap.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32B10F3DFDD009D5894 /* libtermcap.dylib */; };
- 26F5C37510F3F61B009D5894 /* libobjc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C37410F3F61B009D5894 /* libobjc.dylib */; };
- 26F5C39110F3FA26009D5894 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C39010F3FA26009D5894 /* CoreFoundation.framework */; };
26F73062139D8FDB00FD51C7 /* History.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26F73061139D8FDB00FD51C7 /* History.cpp */; };
494260DA14579144003C1C78 /* VerifyDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 494260D914579144003C1C78 /* VerifyDecl.cpp */; };
496B015B1406DEB100F830D5 /* IRInterpreter.h in Headers */ = {isa = PBXBuildFile; fileRef = 496B015A1406DEB100F830D5 /* IRInterpreter.h */; };
@@ -405,7 +393,6 @@
49A71FE8141FFACF00D59478 /* DataEncoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268ED0A4140FF54200DE830F /* DataEncoder.cpp */; };
49C8507C1384A786007DB519 /* ProcessDataAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49C850781384A0CA007DB519 /* ProcessDataAllocator.cpp */; };
49D8FB3913B5598F00411094 /* ClangASTImporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49D8FB3513B558DE00411094 /* ClangASTImporter.cpp */; };
- 4C74CB6312288704006A8171 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C74CB6212288704006A8171 /* Carbon.framework */; };
4CAA56131422D96A001FFA01 /* BreakpointResolverFileRegex.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CAA56121422D96A001FFA01 /* BreakpointResolverFileRegex.h */; };
4CAA56151422D986001FFA01 /* BreakpointResolverFileRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CAA56141422D986001FFA01 /* BreakpointResolverFileRegex.cpp */; };
4CABA9E0134A8BCD00539BDD /* ValueObjectMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CABA9DF134A8BCD00539BDD /* ValueObjectMemory.cpp */; };
@@ -1391,11 +1378,7 @@
files = (
268901161335BBC300698AC0 /* liblldb-core.a in Frameworks */,
2668022F115FD19D008E1FE4 /* CoreFoundation.framework in Frameworks */,
- 26680230115FD19E008E1FE4 /* DebugSymbols.framework in Frameworks */,
- 26680231115FD1A0008E1FE4 /* Foundation.framework in Frameworks */,
- 26680232115FD1A4008E1FE4 /* libpython.dylib in Frameworks */,
26680233115FD1A7008E1FE4 /* libobjc.dylib in Frameworks */,
- 4C74CB6312288704006A8171 /* Carbon.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1412,11 +1395,7 @@
files = (
26DC6A171337FE8000FF7998 /* liblldb-core.a in Frameworks */,
26B1FCB813381071002886E2 /* CoreFoundation.framework in Frameworks */,
- 26B1FCB913381071002886E2 /* DebugSymbols.framework in Frameworks */,
- 26B1FCBA13381071002886E2 /* Foundation.framework in Frameworks */,
- 26B1FCBB13381071002886E2 /* libpython.dylib in Frameworks */,
26B1FCBC13381071002886E2 /* libobjc.dylib in Frameworks */,
- 26B1FCBD13381071002886E2 /* Carbon.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1424,13 +1403,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 26F5C32510F3DF23009D5894 /* libpython.dylib in Frameworks */,
26F5C32C10F3DFDD009D5894 /* libedit.dylib in Frameworks */,
26F5C32D10F3DFDD009D5894 /* libtermcap.dylib in Frameworks */,
- 26F5C37510F3F61B009D5894 /* libobjc.dylib in Frameworks */,
- 26F5C39110F3FA26009D5894 /* CoreFoundation.framework in Frameworks */,
- 265ABF6310F42EE900531910 /* DebugSymbols.framework in Frameworks */,
- 260C876A10F538E700BB2B04 /* Foundation.framework in Frameworks */,
2668035C11601108008E1FE4 /* LLDB.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -3172,12 +3146,12 @@
9AA69DB1118A024600D753A0 /* SBInputReader.cpp in Sources */,
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */,
26C72C961243229A0068DC16 /* SBStream.cpp in Sources */,
- 26B1FA1413380E61002886E2 /* LLDBWrapPython.cpp in Sources */,
9443B122140C18C40013457C /* SBData.cpp in Sources */,
4CAA56151422D986001FFA01 /* BreakpointResolverFileRegex.cpp in Sources */,
4CF52AF8142829390051E832 /* SBFileSpecList.cpp in Sources */,
26B82840142D020F002DBC64 /* SBSection.cpp in Sources */,
B2A58724143119D50092BFBA /* SBWatchpoint.cpp in Sources */,
+ 2660AAB914622483003A9694 /* LLDBWrapPython.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3582,7 +3556,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(NATIVE_ARCH)";
+ "ARCHS[sdk=iphoneos*]" = armv7;
+ "ARCHS[sdk=macosx*]" = (
+ x86_64,
+ i386,
+ );
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -3591,6 +3570,12 @@
__STDC_LIMIT_MACROS,
LLDB_CONFIGURATION_DEBUG,
);
+ "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = (
+ __STDC_CONSTANT_MACROS,
+ __STDC_LIMIT_MACROS,
+ LLDB_CONFIGURATION_DEBUG,
+ LLDB_DISABLE_PYTHON,
+ );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
@@ -3604,16 +3589,16 @@
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VALUE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
- LLVM_BUILD_DIR_ARCH = "";
- LLVM_CONFIGURATION = Release;
+ LLVM_BUILD_DIR = "$(OBJROOT)/llvm";
+ LLVM_BUILD_DIR_ARCH = "$(CURRENT_ARCH)/";
+ LLVM_CONFIGURATION = "Release+Debug";
LLVM_SOURCE_DIR = "$(SRCROOT)/llvm";
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-flimit-debug-info",
"-Wparentheses",
);
- VALID_ARCHS = "x86_64 i386";
+ VALID_ARCHS = "armv4t armv5 armv6 armv7 i386 ppc ppc64 ppc7400 ppc970 x86_64";
};
name = Debug;
};
@@ -3621,7 +3606,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(NATIVE_ARCH)";
+ "ARCHS[sdk=iphoneos*]" = armv7;
+ "ARCHS[sdk=macosx*]" = (
+ x86_64,
+ i386,
+ );
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -3629,6 +3619,12 @@
__STDC_LIMIT_MACROS,
LLDB_CONFIGURATION_RELEASE,
);
+ "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = (
+ __STDC_CONSTANT_MACROS,
+ __STDC_LIMIT_MACROS,
+ LLDB_CONFIGURATION_RELEASE,
+ LLDB_DISABLE_PYTHON,
+ );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
@@ -3642,15 +3638,15 @@
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VALUE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
- LLVM_BUILD_DIR_ARCH = "";
- LLVM_CONFIGURATION = Release;
+ LLVM_BUILD_DIR = "$(OBJROOT)/llvm";
+ LLVM_BUILD_DIR_ARCH = "$(CURRENT_ARCH)/";
+ LLVM_CONFIGURATION = "Release+Debug";
LLVM_SOURCE_DIR = "$(SRCROOT)/llvm";
OTHER_CFLAGS = (
"-flimit-debug-info",
"-Wparentheses",
);
- VALID_ARCHS = "x86_64 i386";
+ VALID_ARCHS = "armv4t armv5 armv6 armv7 i386 ppc ppc64 ppc7400 ppc970 x86_64";
};
name = Release;
};
@@ -3707,18 +3703,13 @@
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- __STDC_CONSTANT_MACROS,
- __STDC_LIMIT_MACROS,
- LLDB_CONFIGURATION_DEBUG,
- );
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = "resources/LLDB-Info.plist";
INSTALL_PATH = "$(DEVELOPER_DIR)/Library/PrivateFrameworks";
- LD_DYLIB_INSTALL_NAME = "@rpath/LLDB.framework/Versions/A/LLDB";
+ LD_DYLIB_INSTALL_NAME = /Developer/Library/PrivateFrameworks/LLDB.framework/LLDB;
LIBRARY_SEARCH_PATHS = (
+ "$(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)",
"$(inherited)",
- "$(LLVM_BUILD_DIR)",
);
OTHER_CPLUSPLUSFLAGS = (
"-fno-rtti",
@@ -3727,6 +3718,12 @@
);
OTHER_LDFLAGS = (
"-framework",
+ Carbon,
+ "-framework",
+ DebugSymbols,
+ "-lpython",
+ "-lllvmclang",
+ "-framework",
Foundation,
"-framework",
AppKit,
@@ -3734,6 +3731,16 @@
"-t",
"-Wl,-v",
);
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
+ "-lllvmclang",
+ "-v",
+ "-t",
+ "-Wl,-v",
+ "-framework",
+ UIKit,
+ "-framework",
+ Foundation,
+ );
PRODUCT_NAME = LLDB;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
VERSIONING_SYSTEM = "apple-generic";
@@ -3757,18 +3764,13 @@
FRAMEWORK_VERSION = A;
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_PREPROCESSOR_DEFINITIONS = (
- __STDC_CONSTANT_MACROS,
- __STDC_LIMIT_MACROS,
- LLDB_CONFIGURATION_RELEASE,
- );
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = "resources/LLDB-Info.plist";
INSTALL_PATH = "$(DEVELOPER_DIR)/Library/PrivateFrameworks";
- LD_DYLIB_INSTALL_NAME = "@rpath/LLDB.framework/Versions/A/LLDB";
+ LD_DYLIB_INSTALL_NAME = /Developer/Library/PrivateFrameworks/LLDB.framework/LLDB;
LIBRARY_SEARCH_PATHS = (
+ "$(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)",
"$(inherited)",
- "$(LLVM_BUILD_DIR)",
);
OTHER_CPLUSPLUSFLAGS = (
"-fno-rtti",
@@ -3777,6 +3779,12 @@
);
OTHER_LDFLAGS = (
"-framework",
+ Carbon,
+ "-framework",
+ DebugSymbols,
+ "-lpython",
+ "-lllvmclang",
+ "-framework",
Foundation,
"-framework",
AppKit,
@@ -3784,6 +3792,16 @@
"-t",
"-Wl,-v",
);
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
+ "-lllvmclang",
+ "-v",
+ "-t",
+ "-Wl,-v",
+ "-framework",
+ UIKit,
+ "-framework",
+ Foundation,
+ );
PRODUCT_NAME = LLDB;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
VERSIONING_SYSTEM = "apple-generic";
@@ -3803,16 +3821,7 @@
);
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_PREPROCESSOR_DEFINITIONS = (
- __STDC_CONSTANT_MACROS,
- __STDC_LIMIT_MACROS,
- LLDB_CONFIGURATION_DEBUG,
- );
LD_DYLIB_INSTALL_NAME = "$(DEVELOPER_DIR)/Library/PrivateFrameworks/LLDB.framework/Resources/lldb-core.a";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LLVM_BUILD_DIR)",
- );
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.6;
OTHER_CPLUSPLUSFLAGS = (
@@ -3820,7 +3829,7 @@
"-Wglobal-constructors",
"$(OTHER_CFLAGS)",
);
- OTHER_LDFLAGS = "-lllvmclang";
+ OTHER_LDFLAGS = "";
PRODUCT_NAME = "lib$(TARGET_NAME)";
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
@@ -3841,16 +3850,7 @@
);
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_PREPROCESSOR_DEFINITIONS = (
- __STDC_CONSTANT_MACROS,
- __STDC_LIMIT_MACROS,
- LLDB_CONFIGURATION_RELEASE,
- );
LD_DYLIB_INSTALL_NAME = "$(DEVELOPER_DIR)/Library/PrivateFrameworks/LLDB.framework/Resources/lldb-core.a";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LLVM_BUILD_DIR)",
- );
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.6;
OTHER_CPLUSPLUSFLAGS = (
@@ -3858,7 +3858,7 @@
"-Wglobal-constructors",
"$(OTHER_CFLAGS)",
);
- OTHER_LDFLAGS = "-lllvmclang";
+ OTHER_LDFLAGS = "";
PRODUCT_NAME = "lib$(TARGET_NAME)";
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
@@ -3879,16 +3879,7 @@
);
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_PREPROCESSOR_DEFINITIONS = (
- __STDC_CONSTANT_MACROS,
- __STDC_LIMIT_MACROS,
- LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
- );
LD_DYLIB_INSTALL_NAME = "$(DEVELOPER_DIR)/Library/PrivateFrameworks/LLDB.framework/Resources/lldb-core.a";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LLVM_BUILD_DIR)",
- );
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.6;
OTHER_CPLUSPLUSFLAGS = (
@@ -3896,7 +3887,7 @@
"-Wglobal-constructors",
"$(OTHER_CFLAGS)",
);
- OTHER_LDFLAGS = "-lllvmclang";
+ OTHER_LDFLAGS = "";
PRODUCT_NAME = "lib$(TARGET_NAME)";
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
@@ -3908,7 +3899,12 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(NATIVE_ARCH)";
+ "ARCHS[sdk=iphoneos*]" = armv7;
+ "ARCHS[sdk=macosx*]" = (
+ x86_64,
+ i386,
+ );
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -3916,6 +3912,12 @@
__STDC_LIMIT_MACROS,
LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
);
+ "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = (
+ __STDC_CONSTANT_MACROS,
+ __STDC_LIMIT_MACROS,
+ LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
+ LLDB_DISABLE_PYTHON,
+ );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
@@ -3931,13 +3933,13 @@
GCC_WARN_UNUSED_VARIABLE = YES;
LLVM_BUILD_DIR = "$(OBJROOT)/llvm";
LLVM_BUILD_DIR_ARCH = "$(CURRENT_ARCH)/";
- LLVM_CONFIGURATION = Release;
+ LLVM_CONFIGURATION = "Release+Debug";
LLVM_SOURCE_DIR = "$(SRCROOT)/llvm";
OTHER_CFLAGS = (
"-flimit-debug-info",
"-Wparentheses",
);
- VALID_ARCHS = "x86_64 i386";
+ VALID_ARCHS = "armv4t armv5 armv6 armv7 i386 ppc ppc64 ppc7400 ppc970 x86_64";
};
name = BuildAndIntegration;
};
@@ -3986,18 +3988,13 @@
FRAMEWORK_VERSION = A;
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_PREPROCESSOR_DEFINITIONS = (
- __STDC_CONSTANT_MACROS,
- __STDC_LIMIT_MACROS,
- LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
- );
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = "resources/LLDB-Info.plist";
INSTALL_PATH = "$(DEVELOPER_DIR)/Library/PrivateFrameworks";
- LD_DYLIB_INSTALL_NAME = "@rpath/LLDB.framework/Versions/A/LLDB";
+ LD_DYLIB_INSTALL_NAME = /Developer/Library/PrivateFrameworks/LLDB.framework/LLDB;
LIBRARY_SEARCH_PATHS = (
+ "$(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)",
"$(inherited)",
- "$(LLVM_BUILD_DIR)",
);
OTHER_CPLUSPLUSFLAGS = (
"-fno-rtti",
@@ -4006,6 +4003,12 @@
);
OTHER_LDFLAGS = (
"-framework",
+ Carbon,
+ "-framework",
+ DebugSymbols,
+ "-lpython",
+ "-lllvmclang",
+ "-framework",
Foundation,
"-framework",
AppKit,
@@ -4013,6 +4016,16 @@
"-t",
"-Wl,-v",
);
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
+ "-lllvmclang",
+ "-v",
+ "-t",
+ "-Wl,-v",
+ "-framework",
+ UIKit,
+ "-framework",
+ Foundation,
+ );
PRODUCT_NAME = LLDB;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
VERSIONING_SYSTEM = "apple-generic";
@@ -4023,6 +4036,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = lldb_codesign;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
FRAMEWORK_SEARCH_PATHS = (
@@ -4034,12 +4048,49 @@
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ INFOPLIST_PREPROCESSOR_DEFINITIONS = (
+ "-lobjc",
+ "-lpython",
+ "-framework",
+ DebugSymbols,
+ "-framework",
+ Carbon,
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ "-v",
+ "-t",
+ "-Wl,-v",
+ );
INSTALL_PATH = "$(DEVELOPER_DIR)/usr/bin";
+ LIBRARY_SEARCH_PATHS = (
+ "$(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)",
+ "$(inherited)",
+ );
+ LLVM_CONFIGURATION = Release;
+ "LLVM_CONFIGURATION[sdk=iphoneos*][arch=*]" = "Release+Debug";
OTHER_LDFLAGS = (
+ "-lllvmclang",
+ "-lpython",
+ "-framework",
+ DebugSymbols,
+ "-framework",
+ Carbon,
"-framework",
Foundation,
"-framework",
AppKit,
+ "-v",
+ "-t",
+ "-Wl,-v",
+ );
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
+ "-lllvmclang",
+ "-framework",
+ Foundation,
+ "-framework",
+ UIKit,
);
PRODUCT_NAME = "lldb-platform";
PROVISIONING_PROFILE = "";
@@ -4051,6 +4102,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = lldb_codesign;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
FRAMEWORK_SEARCH_PATHS = (
@@ -4060,12 +4112,49 @@
GCC_ENABLE_CPP_RTTI = NO;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ INFOPLIST_PREPROCESSOR_DEFINITIONS = (
+ "-lobjc",
+ "-lpython",
+ "-framework",
+ DebugSymbols,
+ "-framework",
+ Carbon,
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ "-v",
+ "-t",
+ "-Wl,-v",
+ );
INSTALL_PATH = "$(DEVELOPER_DIR)/usr/bin";
+ LIBRARY_SEARCH_PATHS = (
+ "$(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)",
+ "$(inherited)",
+ );
+ LLVM_CONFIGURATION = Release;
+ "LLVM_CONFIGURATION[sdk=iphoneos*][arch=*]" = "Release+Debug";
OTHER_LDFLAGS = (
+ "-lllvmclang",
+ "-lpython",
+ "-framework",
+ DebugSymbols,
+ "-framework",
+ Carbon,
"-framework",
Foundation,
"-framework",
AppKit,
+ "-v",
+ "-t",
+ "-Wl,-v",
+ );
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
+ "-lllvmclang",
+ "-framework",
+ Foundation,
+ "-framework",
+ UIKit,
);
PRODUCT_NAME = "lldb-platform";
PROVISIONING_PROFILE = "";
@@ -4084,12 +4173,49 @@
GCC_ENABLE_CPP_RTTI = NO;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ INFOPLIST_PREPROCESSOR_DEFINITIONS = (
+ "-lobjc",
+ "-lpython",
+ "-framework",
+ DebugSymbols,
+ "-framework",
+ Carbon,
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ "-v",
+ "-t",
+ "-Wl,-v",
+ );
INSTALL_PATH = "$(DEVELOPER_DIR)/usr/bin";
+ LIBRARY_SEARCH_PATHS = (
+ "$(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)",
+ "$(inherited)",
+ );
+ LLVM_CONFIGURATION = Release;
+ "LLVM_CONFIGURATION[sdk=iphoneos*][arch=*]" = "Release+Debug";
OTHER_LDFLAGS = (
+ "-lllvmclang",
+ "-lpython",
+ "-framework",
+ DebugSymbols,
+ "-framework",
+ Carbon,
"-framework",
Foundation,
"-framework",
AppKit,
+ "-v",
+ "-t",
+ "-Wl,-v",
+ );
+ "OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
+ "-lllvmclang",
+ "-framework",
+ Foundation,
+ "-framework",
+ UIKit,
);
PRODUCT_NAME = "lldb-platform";
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
diff --git a/lldb/scripts/Python/build-swig-Python.sh b/lldb/scripts/Python/build-swig-Python.sh
index d7191221a77..557f63a16d4 100755
--- a/lldb/scripts/Python/build-swig-Python.sh
+++ b/lldb/scripts/Python/build-swig-Python.sh
@@ -23,6 +23,8 @@ swig_input_file=${SRC_ROOT}/scripts/lldb.swig
swig_python_extensions=${SRC_ROOT}/scripts/Python/python-extensions.swig
swig_python_wrapper=${SRC_ROOT}/scripts/Python/python-wrapper.swig
+if [ "x$SDKROOT" = "x" ] ; then
+
if [ -n "$debug_flag" -a "$debug_flag" == "-debug" ]
then
Debug=1
@@ -265,3 +267,9 @@ then
mv "${swig_output_file}.edited" ${swig_output_file}
fi
fi
+
+else
+ # SDKROOT was not empty, which currently means iOS cross build where python is disabled
+ rm -rf ${swig_output_file}
+ touch ${swig_output_file}
+fi
diff --git a/lldb/scripts/Python/finish-swig-Python-LLDB.sh b/lldb/scripts/Python/finish-swig-Python-LLDB.sh
index 562250ce609..f8b3a004f29 100755
--- a/lldb/scripts/Python/finish-swig-Python-LLDB.sh
+++ b/lldb/scripts/Python/finish-swig-Python-LLDB.sh
@@ -33,6 +33,10 @@ CONFIG_BUILD_DIR=$3
PYTHON_INSTALL_DIR=$4
debug_flag=$5
+# Make sure SDKROOT is not set, since if it is this is an iOS build where python
+# is disabled
+if [ "x$SDKROOT" = "x" ] ; then
+
if [ -n "$debug_flag" -a "$debug_flag" == "-debug" ]
then
Debug=1
@@ -180,5 +184,7 @@ else
fi
fi
+fi
+
exit 0
diff --git a/lldb/scripts/build-llvm.pl b/lldb/scripts/build-llvm.pl
index 834920f7e8f..c903203bb56 100644
--- a/lldb/scripts/build-llvm.pl
+++ b/lldb/scripts/build-llvm.pl
@@ -18,15 +18,33 @@ our $llvm_dstroot = $ENV{SCRIPT_INPUT_FILE_1};
our $llvm_clang_outfile = $ENV{SCRIPT_OUTPUT_FILE_0};
our ($llvm_clang_basename, $llvm_clang_dirname) = fileparse ($llvm_clang_outfile);
-our @llvm_clang_slices; # paths to the single architecture static libraries (archives)
our $llvm_configuration = $ENV{LLVM_CONFIGURATION};
our $llvm_revision = "143472";
our $clang_revision = "143472";
-our $llvm_source_dir = "$ENV{SRCROOT}";
+our $SRCROOT = "$ENV{SRCROOT}";
+our $llvm_dstroot_zip = "$SRCROOT/llvm.zip";
our @archs = split (/\s+/, $ENV{ARCHS});
+my $os_release = 11;
+
+our %llvm_config_info = (
+ 'Debug' => { configure_options => '--disable-optimized --disable-assertions', make_options => 'DEBUG_SYMBOLS=1'},
+ 'Debug+Asserts' => { configure_options => '--disable-optimized --enable-assertions' , make_options => 'DEBUG_SYMBOLS=1'},
+ 'Release' => { configure_options => '--enable-optimized --disable-assertions' , make_options => ''},
+ 'Release+Debug' => { configure_options => '--enable-optimized --disable-assertions' , make_options => 'DEBUG_SYMBOLS=1'},
+);
+
+our $llvm_config_href = undef;
+if (exists $llvm_config_info{"$llvm_configuration"})
+{
+ $llvm_config_href = $llvm_config_info{$llvm_configuration};
+}
+else
+{
+ die "Unsupported LLVM configuration: '$llvm_configuration'\n";
+}
our @archive_files = (
"$llvm_configuration/lib/libclang.a",
@@ -85,37 +103,71 @@ our @archive_files = (
"$llvm_configuration/lib/libLLVMX86Utils.a",
);
-if ($ENV{CONFIGURATION} ne "BuildAndIntegration" and -e "$llvm_srcroot/lib")
+if (-e "$llvm_srcroot/lib")
{
- print "Using standard LLVM build directory...\n";
- # LLVM in the "lldb" root is a symlink which indicates we are using a
- # standard LLVM build directory where everything is built into the
- # same folder
- create_single_llvm_arhive_for_arch ($llvm_dstroot, 1);
- my $llvm_dstroot_archive = "$llvm_dstroot/$llvm_clang_basename";
- push @llvm_clang_slices, $llvm_dstroot_archive;
- create_dstroot_file ($llvm_clang_basename, $llvm_clang_dirname, \@llvm_clang_slices, $llvm_clang_basename);
- exit 0;
+ print "Using existing llvm sources in: '$llvm_srcroot'\n";
+ print "Using standard LLVM build directory:\n SRC = '$llvm_srcroot'\n DST = '$llvm_dstroot'\n";
}
-
-
-if ($ENV{CONFIGURATION} eq "Debug" or $ENV{CONFIGURATION} eq "Release")
+elsif (-e $llvm_dstroot_zip)
{
# Check for an old llvm source install (not the minimal zip based
# install by looking for a .svn file in the llvm directory
- chomp(my $llvm_zip_md5 = `md5 -q $ENV{SRCROOT}/llvm.zip`);
+ chomp(my $llvm_zip_md5 = `md5 -q '$llvm_dstroot_zip'`);
my $llvm_zip_md5_file = "$ENV{SRCROOT}/llvm/$llvm_zip_md5";
if (!-e "$llvm_zip_md5_file")
{
- print "Updating LLVM to use checkpoint from: '$ENV{SRCROOT}/llvm.zip'...\n";
+ print "Updating LLVM to use checkpoint from: '$llvm_dstroot_zip'...\n";
if (-d "$ENV{SRCROOT}/llvm")
{
do_command ("cd '$ENV{SRCROOT}' && rm -rf llvm", "removing old llvm repository", 1);
}
do_command ("cd '$ENV{SRCROOT}' && unzip -q llvm.zip && touch '$llvm_zip_md5_file'", "expanding llvm.zip", 1);
+
+ }
+ my $arch_idx = 0;
+ foreach my $arch (@archs)
+ {
+ my $llvm_dstroot_arch = "${llvm_dstroot}/${arch}";
+ # Check for our symlink to our .a file
+ if (!-l "$llvm_dstroot_arch/$llvm_clang_basename")
+ {
+ # Symlink doesn't exist, make sure it isn't a normal file
+ if (-e "$llvm_dstroot_arch/$llvm_clang_basename")
+ {
+ # the .a file is a normal file which means it can't be from the
+ # zip file, we must remove the previous arch directory
+ do_command ("rm -rf '$llvm_dstroot_arch'", "Removing old '$llvm_dstroot_arch' directory", 1);
+ }
+ # Create the arch specific LLVM destination directory if needed
+ if (!-d $llvm_dstroot_arch)
+ {
+ do_command ("mkdir -p '$llvm_dstroot_arch'", "making llvm build directory '$llvm_dstroot_arch'", 1);
+ }
+
+ # Create a symlink to the .a file from the zip file
+ do_command ("cd '$llvm_dstroot_arch' ; ln -s $ENV{SRCROOT}/llvm/$llvm_clang_basename", "making llvm archive symlink", 1);
+ }
}
exit 0;
}
+else
+{
+ print "Checking out llvm sources from revision $llvm_revision...\n";
+ do_command ("cd '$SRCROOT' && svn co --quiet --revision $llvm_revision http://llvm.org/svn/llvm-project/llvm/trunk llvm", "checking out llvm from repository", 1);
+ print "Checking out clang sources from revision $clang_revision...\n";
+ do_command ("cd '$llvm_srcroot/tools' && svn co --quiet --revision $clang_revision http://llvm.org/svn/llvm-project/cfe/trunk clang", "checking out clang from repository", 1);
+ print "Applying any local patches to LLVM...";
+
+ my @llvm_patches = bsd_glob("$ENV{SRCROOT}/scripts/llvm.*.diff");
+
+ foreach my $patch (@llvm_patches)
+ {
+ do_command ("cd '$llvm_srcroot' && patch -p0 < $patch");
+ }
+
+ print "Removing the llvm/test and llvm/tools/clang/test directories...\n";
+ do_command ("cd '$llvm_srcroot' && rm -rf test && rm -rf tools/clang/test ", "removing test directories", 1);
+}
# If our output file already exists then we need not generate it again.
if (-e $llvm_clang_outfile)
@@ -140,34 +192,6 @@ sub parallel_guess
sub build_llvm
{
#my $extra_svn_options = $debug ? "" : "--quiet";
- my $svn_options = "--quiet";
- if (-d "$llvm_source_dir/llvm")
- {
- print "Using existing llvm sources in: '$llvm_source_dir/llvm'\n";
- # print "Updating llvm to revision $llvm_revision\n";
- # do_command ("cd '$llvm_source_dir/llvm' && svn update $svn_options --revision $llvm_revision", "updating llvm from repository", 1);
- # print "Updating clang to revision $llvm_revision\n";
- # do_command ("cd '$llvm_source_dir/llvm/tools/clang' && svn update $svn_options --revision $clang_revision", "updating clang from repository", 1);
- }
- else
- {
- print "Checking out llvm sources from revision $llvm_revision...\n";
- do_command ("cd '$llvm_source_dir' && svn co $svn_options --revision $llvm_revision http://llvm.org/svn/llvm-project/llvm/trunk llvm", "checking out llvm from repository", 1);
- print "Checking out clang sources from revision $clang_revision...\n";
- do_command ("cd '$llvm_source_dir/llvm/tools' && svn co $svn_options --revision $clang_revision http://llvm.org/svn/llvm-project/cfe/trunk clang", "checking out clang from repository", 1);
- print "Applying any local patches to LLVM...";
-
- my @llvm_patches = bsd_glob("$ENV{SRCROOT}/scripts/llvm.*.diff");
-
- foreach my $patch (@llvm_patches)
- {
- do_command ("cd '$llvm_source_dir/llvm' && patch -p0 < $patch");
- }
-
- print "Removing the llvm/test directory...\n";
- do_command ("cd '$llvm_source_dir' && rm -rf llvm/test", "removing test directory", 1);
- }
-
# Make the llvm build directory
my $arch_idx = 0;
foreach my $arch (@archs)
@@ -177,7 +201,8 @@ sub build_llvm
# if the arch destination root exists we have already built it
my $do_configure = 0;
my $do_make = 0;
-
+ my $is_arm = $arch =~ /^arm/;
+
my $llvm_dstroot_arch_archive = "$llvm_dstroot_arch/$llvm_clang_basename";
print "LLVM architecture root for ${arch} exists at '$llvm_dstroot_arch'...";
if (-e $llvm_dstroot_arch)
@@ -209,25 +234,59 @@ sub build_llvm
do_command ("mkdir -p '$llvm_dstroot_arch'", "making llvm build directory '$llvm_dstroot_arch'", 1);
$do_configure = 1;
$do_make = 1;
- }
-
- # If this is the first architecture, then make a symbolic link
- # for any header files that get generated.
- if ($arch_idx == 0)
- {
- if (!-l "$llvm_dstroot/llvm")
+
+ if ($is_arm)
{
- do_command ("cd $llvm_dstroot && ln -s './${arch}' llvm");
+ my $llvm_dstroot_arch_bin = "${llvm_dstroot_arch}/bin";
+
+ if (!-d $llvm_dstroot_arch_bin)
+ {
+ do_command ("mkdir -p '$llvm_dstroot_arch_bin'", "making llvm build arch bin directory '$llvm_dstroot_arch_bin'", 1);
+ my @tools = ("ar", "nm", "ranlib", "strip", "lipo", "ld", "as");
+ my $script_mode = 0755;
+ my $prog;
+ for $prog (@tools)
+ {
+ chomp(my $actual_prog_path = `xcrun -sdk '$ENV{SDKROOT}' -find ${prog}`);
+ my $script_prog_path = "$llvm_dstroot_arch_bin/arm-apple-darwin${os_release}-${prog}";
+ open (SCRIPT, ">$script_prog_path") or die "Can't open $! for writing...\n";
+ print SCRIPT "#!/bin/sh\nexec '$actual_prog_path' \"\$\@\"\n";
+ close (SCRIPT);
+ chmod($script_mode, $script_prog_path);
+ }
+ # Tools that must have the "-arch" and "-sysroot" specified
+ my @arch_sysroot_tools = ("clang", "clang++", "gcc", "g++");
+ for $prog (@arch_sysroot_tools)
+ {
+ chomp(my $actual_prog_path = `xcrun -sdk '$ENV{SDKROOT}' -find ${prog}`);
+ my $script_prog_path = "$llvm_dstroot_arch_bin/arm-apple-darwin${os_release}-${prog}";
+ open (SCRIPT, ">$script_prog_path") or die "Can't open $! for writing...\n";
+ print SCRIPT "#!/bin/sh\nexec '$actual_prog_path' -arch ${arch} -isysroot '$ENV{SDKROOT}' \"\$\@\"\n";
+ close (SCRIPT);
+ chmod($script_mode, $script_prog_path);
+ }
+ my $new_path = "$ENV{PATH}:$llvm_dstroot_arch_bin";
+ print "Setting new environment PATH = '$new_path'\n";
+ $ENV{PATH} = $new_path;
+ }
}
}
-
+
if ($do_configure)
{
# Build llvm and clang
print "Configuring clang ($arch) in '$llvm_dstroot_arch'...\n";
- my $lldb_configuration_options = '';
- $llvm_configuration eq 'Release' and $lldb_configuration_options .= '--enable-optimized --disable-assertions';
- do_command ("cd '$llvm_dstroot_arch' && '$llvm_source_dir/llvm/configure' $lldb_configuration_options --enable-targets=x86_64,arm --build=$arch-apple-darwin10",
+ my $lldb_configuration_options = "--enable-targets=x86_64,arm $llvm_config_href->{configure_options}";
+
+ if ($is_arm)
+ {
+ $lldb_configuration_options .= " --host=arm-apple-darwin${os_release} --target=arm-apple-darwin${os_release} --build=i686-apple-darwin${os_release}";
+ }
+ else
+ {
+ $lldb_configuration_options .= " --build=$arch-apple-darwin${os_release}";
+ }
+ do_command ("cd '$llvm_dstroot_arch' && '$llvm_srcroot/configure' $lldb_configuration_options",
"configuring llvm build", 1);
}
@@ -236,52 +295,22 @@ sub build_llvm
# Build llvm and clang
my $num_cpus = parallel_guess();
print "Building clang using $num_cpus cpus ($arch)...\n";
- do_command ("cd '$llvm_dstroot_arch' && make -j$num_cpus clang-only VERBOSE=1 PROJECT_NAME='llvm'", "making llvm and clang", 1);
- do_command ("cd '$llvm_dstroot_arch' && make -j$num_cpus tools-only VERBOSE=1 PROJECT_NAME='llvm' EDIS_VERSION=1", "making libedis", 1);
+ my $extra_make_flags = '';
+ if ($is_arm)
+ {
+ $extra_make_flags = "UNIVERSAL=1 UNIVERSAL_ARCH=${arch} UNIVERSAL_SDK_PATH='$ENV{SDKROOT}'";
+ }
+ do_command ("cd '$llvm_dstroot_arch' && make -j$num_cpus clang-only VERBOSE=1 $llvm_config_href->{make_options} NO_RUNTIME_LIBS=1 PROJECT_NAME='llvm' $extra_make_flags", "making llvm and clang", 1);
+ do_command ("cd '$llvm_dstroot_arch' && make -j$num_cpus tools-only VERBOSE=1 $llvm_config_href->{make_options} NO_RUNTIME_LIBS=1 PROJECT_NAME='llvm' $extra_make_flags EDIS_VERSION=1", "making libedis", 1);
# Combine all .o files from a bunch of static libraries from llvm
# and clang into a single .a file.
create_single_llvm_arhive_for_arch ($llvm_dstroot_arch, 1);
}
- -f "$llvm_dstroot_arch_archive" and push @llvm_clang_slices, "$llvm_dstroot_arch_archive";
++$arch_idx;
}
-
- # Combine all skinny slices of the LLVM/Clang combined archive
- create_dstroot_file ($llvm_clang_basename, $llvm_clang_dirname, \@llvm_clang_slices, $llvm_clang_basename);
}
-sub create_dstroot_file
-{
- my $file = shift;
- my $dir = shift;
- my $fullpath = "$dir/$file"; # The path to the file to create
- my $slice_aref = shift; # Array containing one or more skinny files that will be combined into $fullpath
- my $what = shift; # Text describing the $fullpath
-
- print "create_dstroot_file file = '$file', dir = '$dir', slices = (" . join (', ', @$slice_aref) . ") for what = '$what'\n";
-
- if (-d $dir)
- {
- if (@$slice_aref > 0)
- {
- print "Creating and installing $what into '$fullpath'...\n";
- my $lipo_command = "lipo -output '$fullpath' -create";
- foreach (@$slice_aref) { $lipo_command .= " '$_'"; }
- do_command ($lipo_command, "creating $what universal output file", 1);
- }
-
-
- if (!-e $fullpath)
- {
- # die "error: '$fullpath' is missing\n";
- }
- }
- else
- {
- die "error: directory '$dir' doesn't exist to receive file '$file'\n";
- }
-}
#----------------------------------------------------------------------
# quote the path if needed and realpath it if the -r option was
# specified
diff --git a/lldb/source/API/SBCommandInterpreter.cpp b/lldb/source/API/SBCommandInterpreter.cpp
index ec2653d909e..21c19fda84a 100644
--- a/lldb/source/API/SBCommandInterpreter.cpp
+++ b/lldb/source/API/SBCommandInterpreter.cpp
@@ -316,6 +316,7 @@ SBCommandInterpreter::GetArgumentDescriptionAsCString (const lldb::CommandArgume
}
+#ifndef LLDB_DISABLE_PYTHON
extern "C" bool
LLDBSwigPythonBreakpointCallbackFunction
(
@@ -358,6 +359,10 @@ extern "C" bool LLDBSwigPythonCallCommand
lldb_private::CommandReturnObject& cmd_retobj
);
+// Defined in the SWIG source file
+extern "C" void
+init_lldb(void);
+
extern "C" bool LLDBSwigPythonCallModuleInit
(
const std::string python_module_name,
@@ -365,9 +370,18 @@ extern "C" bool LLDBSwigPythonCallModuleInit
lldb::DebuggerSP& debugger
);
+#else
extern "C" void init_lldb(void);
+// Usually defined in the SWIG source file, but we have sripting disabled
+extern "C" void
+init_lldb(void)
+{
+}
+
+#endif
+
void
SBCommandInterpreter::InitializeSWIG ()
{
@@ -375,6 +389,7 @@ SBCommandInterpreter::InitializeSWIG ()
if (!g_initialized)
{
g_initialized = true;
+#ifndef LLDB_DISABLE_PYTHON
ScriptInterpreter::InitializeInterpreter (init_lldb,
LLDBSwigPythonBreakpointCallbackFunction,
LLDBSwigPythonCallTypeScript,
@@ -386,5 +401,6 @@ SBCommandInterpreter::InitializeSWIG ()
LLDBSwigPython_UpdateSynthProviderInstance,
LLDBSwigPythonCallCommand,
LLDBSwigPythonCallModuleInit);
+#endif
}
}
diff --git a/lldb/source/Commands/CommandObjectType.cpp b/lldb/source/Commands/CommandObjectType.cpp
index b3e24bb2a90..e3e437fbdd9 100644
--- a/lldb/source/Commands/CommandObjectType.cpp
+++ b/lldb/source/Commands/CommandObjectType.cpp
@@ -48,7 +48,7 @@ public:
bool m_one_liner;
bool m_regex;
- ConstString* m_name;
+ ConstString m_name;
std::string m_category;
@@ -59,19 +59,19 @@ public:
bool novl,
bool onel,
bool regx,
- ConstString* name,
+ const ConstString& name,
std::string catg) :
- m_skip_pointers(sptr),
- m_skip_references(sref),
- m_cascade(casc),
- m_target_types(),
- m_user_source(),
- m_no_children(noch),
- m_no_value(novl),
- m_one_liner(onel),
- m_regex(regx),
- m_name(name),
- m_category(catg)
+ m_skip_pointers(sptr),
+ m_skip_references(sref),
+ m_cascade(casc),
+ m_target_types(),
+ m_user_source(),
+ m_no_children(noch),
+ m_no_value(novl),
+ m_one_liner(onel),
+ m_regex(regx),
+ m_name(name),
+ m_category(catg)
{
}
@@ -157,7 +157,7 @@ private:
bool m_skip_pointers;
bool m_regex;
std::string m_format_string;
- ConstString* m_name;
+ ConstString m_name;
std::string m_python_script;
std::string m_python_function;
bool m_is_add_script;
@@ -753,7 +753,7 @@ CommandObjectTypeFormatList_LoopCallback (
}
-
+#ifndef LLDB_DISABLE_PYTHON
//-------------------------------------------------------------------------
// CommandObjectTypeSummaryAdd
@@ -901,13 +901,18 @@ public:
if (options->m_name)
{
- if ( (bool)(*(options->m_name)) )
+ CommandObjectTypeSummaryAdd::AddSummary (options->m_name,
+ script_format,
+ CommandObjectTypeSummaryAdd::eNamedSummary,
+ options->m_category,
+ &error);
+ if (error.Fail())
{
- CommandObjectTypeSummaryAdd::AddSummary(*(options->m_name),
- script_format,
- CommandObjectTypeSummaryAdd::eNamedSummary,
- options->m_category,
- &error);
+ CommandObjectTypeSummaryAdd::AddSummary (options->m_name,
+ script_format,
+ CommandObjectTypeSummaryAdd::eNamedSummary,
+ options->m_category,
+ &error);
if (error.Fail())
{
out_stream->Printf ("%s", error.AsCString());
@@ -922,9 +927,17 @@ public:
return;
}
}
+ else
+ {
+ out_stream->PutCString (error.AsCString());
+ out_stream->Flush();
+ return;
+ }
}
};
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
Error
CommandObjectTypeSummaryAdd::CommandOptions::SetOptionValue (uint32_t option_idx, const char *option_arg)
{
@@ -961,7 +974,7 @@ CommandObjectTypeSummaryAdd::CommandOptions::SetOptionValue (uint32_t option_idx
m_regex = true;
break;
case 'n':
- m_name = new ConstString(option_arg);
+ m_name.SetCString(option_arg);
break;
case 'o':
m_python_script = std::string(option_arg);
@@ -995,7 +1008,7 @@ CommandObjectTypeSummaryAdd::CommandOptions::OptionParsingStarting ()
m_skip_references = false;
m_skip_pointers = false;
m_regex = false;
- m_name = NULL;
+ m_name.Clear();
m_python_script = "";
m_python_function = "";
m_format_string = "";
@@ -1003,6 +1016,7 @@ CommandObjectTypeSummaryAdd::CommandOptions::OptionParsingStarting ()
m_category = "default";
}
+#ifndef LLDB_DISABLE_PYTHON
void
CommandObjectTypeSummaryAdd::CollectPythonScript (ScriptAddOptions *options,
CommandReturnObject &result)
@@ -1166,28 +1180,28 @@ CommandObjectTypeSummaryAdd::Execute_ScriptSummary (Args& command, CommandReturn
if (m_options.m_name)
{
- if ( (bool)(*(m_options.m_name)) )
- {
- AddSummary(*(m_options.m_name), script_format, eNamedSummary, m_options.m_category, &error);
- if (error.Fail())
- {
- result.AppendError(error.AsCString());
- result.AppendError("added to types, but not given a name");
- result.SetStatus(eReturnStatusFailed);
- return false;
- }
- }
- else
+ AddSummary(m_options.m_name, script_format, eNamedSummary, m_options.m_category, &error);
+ if (error.Fail())
{
+ result.AppendError(error.AsCString());
result.AppendError("added to types, but not given a name");
result.SetStatus(eReturnStatusFailed);
return false;
}
}
+ else
+ {
+ result.AppendError("added to types, but not given a name");
+ result.SetStatus(eReturnStatusFailed);
+ return false;
+ }
return result.Succeeded();
}
+#endif
+
+
bool
CommandObjectTypeSummaryAdd::Execute_StringSummary (Args& command, CommandReturnObject &result)
{
@@ -1263,24 +1277,21 @@ CommandObjectTypeSummaryAdd::Execute_StringSummary (Args& command, CommandReturn
if (m_options.m_name)
{
- if ( (bool)(*(m_options.m_name)) )
- {
- AddSummary(*(m_options.m_name), entry, eNamedSummary, m_options.m_category, &error);
- if (error.Fail())
- {
- result.AppendError(error.AsCString());
- result.AppendError("added to types, but not given a name");
- result.SetStatus(eReturnStatusFailed);
- return false;
- }
- }
- else
+ AddSummary(m_options.m_name, entry, eNamedSummary, m_options.m_category, &error);
+ if (error.Fail())
{
+ result.AppendError(error.AsCString());
result.AppendError("added to types, but not given a name");
result.SetStatus(eReturnStatusFailed);
return false;
}
}
+ else
+ {
+ result.AppendError("added to types, but not given a name");
+ result.SetStatus(eReturnStatusFailed);
+ return false;
+ }
result.SetStatus(eReturnStatusSuccessFinishNoResult);
return result.Succeeded();
@@ -1372,9 +1383,17 @@ bool
CommandObjectTypeSummaryAdd::Execute (Args& command, CommandReturnObject &result)
{
if (m_options.m_is_add_script)
+ {
+#ifndef LLDB_DISABLE_PYTHON
return Execute_ScriptSummary(command, result);
- else
- return Execute_StringSummary(command, result);
+#else
+ result.AppendError ("python is disabled");
+ result.SetStatus(eReturnStatusFailed);
+ return false;
+#endif
+ }
+
+ return Execute_StringSummary(command, result);
}
bool
@@ -2454,6 +2473,8 @@ CommandObjectTypeFilterList::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+#ifndef LLDB_DISABLE_PYTHON
+
//-------------------------------------------------------------------------
// CommandObjectTypeSynthList
//-------------------------------------------------------------------------
@@ -2664,6 +2685,7 @@ CommandObjectTypeSynthList::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+#endif // #ifndef LLDB_DISABLE_PYTHON
//-------------------------------------------------------------------------
// CommandObjectTypeFilterDelete
//-------------------------------------------------------------------------
@@ -2826,6 +2848,8 @@ CommandObjectTypeFilterDelete::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+#ifndef LLDB_DISABLE_PYTHON
+
//-------------------------------------------------------------------------
// CommandObjectTypeSynthDelete
//-------------------------------------------------------------------------
@@ -2988,6 +3012,8 @@ CommandObjectTypeSynthDelete::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
//-------------------------------------------------------------------------
// CommandObjectTypeFilterClear
//-------------------------------------------------------------------------
@@ -3114,6 +3140,7 @@ CommandObjectTypeFilterClear::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+#ifndef LLDB_DISABLE_PYTHON
//-------------------------------------------------------------------------
// CommandObjectTypeSynthClear
//-------------------------------------------------------------------------
@@ -3240,8 +3267,9 @@ CommandObjectTypeSynthClear::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+
//-------------------------------------------------------------------------
-// CommandObjectTypeSynthAdd
+// TypeSynthAddInputReader
//-------------------------------------------------------------------------
static const char *g_synth_addreader_instructions = "Enter your Python command(s). Type 'DONE' to end.\n"
@@ -3257,11 +3285,9 @@ static const char *g_synth_addreader_instructions = "Enter your Python command
class TypeSynthAddInputReader : public InputReaderEZ
{
-private:
- DISALLOW_COPY_AND_ASSIGN (TypeSynthAddInputReader);
public:
TypeSynthAddInputReader(Debugger& debugger) :
- InputReaderEZ(debugger)
+ InputReaderEZ(debugger)
{}
virtual
@@ -3402,6 +3428,9 @@ public:
}
}
}
+
+private:
+ DISALLOW_COPY_AND_ASSIGN (TypeSynthAddInputReader);
};
void
@@ -3612,6 +3641,8 @@ CommandObjectTypeSynthAdd::CommandOptions::g_option_table[] =
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
class CommandObjectTypeFilterAdd : public CommandObject
{
@@ -3918,6 +3949,8 @@ public:
}
};
+#ifndef LLDB_DISABLE_PYTHON
+
class CommandObjectTypeSynth : public CommandObjectMultiword
{
public:
@@ -3939,6 +3972,8 @@ public:
}
};
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
class CommandObjectTypeFilter : public CommandObjectMultiword
{
public:
@@ -4016,7 +4051,9 @@ CommandObjectType::CommandObjectType (CommandInterpreter &interpreter) :
LoadSubCommand ("filter", CommandObjectSP (new CommandObjectTypeFilter (interpreter)));
LoadSubCommand ("format", CommandObjectSP (new CommandObjectTypeFormat (interpreter)));
LoadSubCommand ("summary", CommandObjectSP (new CommandObjectTypeSummary (interpreter)));
+#ifndef LLDB_DISABLE_PYTHON
LoadSubCommand ("synthetic", CommandObjectSP (new CommandObjectTypeSynth (interpreter)));
+#endif
}
diff --git a/lldb/source/Commands/CommandObjectType.h b/lldb/source/Commands/CommandObjectType.h
index c3ac8b5ba91..c796902cf3b 100644
--- a/lldb/source/Commands/CommandObjectType.h
+++ b/lldb/source/Commands/CommandObjectType.h
@@ -32,7 +32,6 @@ public:
~CommandObjectType ();
};
-
} // namespace lldb_private
#endif // liblldb_CommandObjectType_h_
diff --git a/lldb/source/Core/FormatClasses.cpp b/lldb/source/Core/FormatClasses.cpp
index 04b57adabe4..30254d36994 100644
--- a/lldb/source/Core/FormatClasses.cpp
+++ b/lldb/source/Core/FormatClasses.cpp
@@ -8,12 +8,21 @@
//===----------------------------------------------------------------------===//
// C Includes
+
+#ifdef LLDB_DISABLE_PYTHON
+
+struct PyObject;
+
+#else // #ifdef LLDB_DISABLE_PYTHON
+
#if defined (__APPLE__)
#include <Python/Python.h>
#else
#include <Python.h>
#endif
+#endif // #ifdef LLDB_DISABLE_PYTHON
+
// C++ Includes
#include <ostream>
@@ -145,6 +154,8 @@ StringSummaryFormat::GetDescription()
return sstr.GetString();
}
+#ifndef LLDB_DISABLE_PYTHON
+
ScriptSummaryFormat::ScriptSummaryFormat(bool casc,
bool skipptr,
bool skipref,
@@ -187,6 +198,8 @@ ScriptSummaryFormat::GetDescription()
}
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
std::string
SyntheticFilter::GetDescription()
{
@@ -231,6 +244,8 @@ SyntheticArrayView::GetDescription()
return sstr.GetString();
}
+#ifndef LLDB_DISABLE_PYTHON
+
SyntheticScriptProvider::FrontEnd::FrontEnd(std::string pclass,
lldb::ValueObjectSP be) :
SyntheticChildrenFrontEnd(be),
@@ -253,7 +268,7 @@ SyntheticScriptProvider::FrontEnd::FrontEnd(std::string pclass,
SyntheticScriptProvider::FrontEnd::~FrontEnd()
{
- Py_XDECREF((PyObject*)m_wrapper);
+ Py_XDECREF((PyObject*)m_wrapper);
}
lldb::ValueObjectSP
@@ -278,6 +293,8 @@ SyntheticScriptProvider::GetDescription()
return sstr.GetString();
}
+#endif // #ifndef LLDB_DISABLE_PYTHON
+
int
SyntheticArrayView::GetRealIndexForIndex(int i)
{
diff --git a/lldb/source/Core/FormatManager.cpp b/lldb/source/Core/FormatManager.cpp
index 58ca76d420a..b1cc6e8a1f2 100644
--- a/lldb/source/Core/FormatManager.cpp
+++ b/lldb/source/Core/FormatManager.cpp
@@ -163,8 +163,10 @@ FormatCategory::FormatCategory(IFormatChangeListener* clist,
m_regex_summary_nav(new RegexSummaryNavigator("regex-summary",clist)),
m_filter_nav(new FilterNavigator("filter",clist)),
m_regex_filter_nav(new RegexFilterNavigator("regex-filter",clist)),
+#ifndef LLDB_DISABLE_PYTHON
m_synth_nav(new SynthNavigator("synth",clist)),
m_regex_synth_nav(new RegexSynthNavigator("regex-synth",clist)),
+#endif
m_enabled(false),
m_change_listener(clist),
m_mutex(Mutex::eMutexTypeRecursive),
@@ -189,59 +191,67 @@ FormatCategory::Get (ValueObject& valobj,
bool
FormatCategory::Get(ValueObject& valobj,
- lldb::SyntheticChildrenSP& entry,
+ lldb::SyntheticChildrenSP& entry_sp,
lldb::DynamicValueType use_dynamic,
uint32_t* reason)
{
if (!IsEnabled())
return false;
- SyntheticFilter::SharedPointer filter;
- SyntheticScriptProvider::SharedPointer synth;
- bool regex_filter, regex_synth;
- uint32_t reason_filter;
- uint32_t reason_synth;
-
- bool pick_synth = false;
-
+ SyntheticFilter::SharedPointer filter_sp;
+ uint32_t reason_filter = 0;
+ bool regex_filter = false;
// first find both Filter and Synth, and then check which is most recent
- if (!GetFilterNavigator()->Get(valobj, filter, use_dynamic, &reason_filter))
- regex_filter = GetRegexFilterNavigator()->Get(valobj, filter, use_dynamic, &reason_filter);
-
+ if (!GetFilterNavigator()->Get(valobj, filter_sp, use_dynamic, &reason_filter))
+ regex_filter = GetRegexFilterNavigator()->Get (valobj, filter_sp, use_dynamic, &reason_filter);
+
+#ifndef LLDB_DISABLE_PYTHON
+ bool regex_synth = false;
+ uint32_t reason_synth = 0;
+ bool pick_synth = false;
+ SyntheticScriptProvider::SharedPointer synth;
if (!GetSyntheticNavigator()->Get(valobj, synth, use_dynamic, &reason_synth))
- regex_synth = GetRegexSyntheticNavigator()->Get(valobj, synth, use_dynamic, &reason_synth);
-
- if (!filter.get() && !synth.get())
+ regex_synth = GetRegexSyntheticNavigator()->Get (valobj, synth, use_dynamic, &reason_synth);
+ if (!filter_sp.get() && !synth.get())
return false;
-
- else if (!filter.get() && synth.get())
+ else if (!filter_sp.get() && synth.get())
pick_synth = true;
- else if (filter.get() && !synth.get())
+ else if (filter_sp.get() && !synth.get())
pick_synth = false;
- else /*if (filter.get() && synth.get())*/
+ else /*if (filter_sp.get() && synth.get())*/
{
- if (filter->m_my_revision > synth->m_my_revision)
+ if (filter_sp->m_my_revision > synth->m_my_revision)
pick_synth = false;
else
pick_synth = true;
}
-
if (pick_synth)
{
if (regex_synth && reason)
*reason |= lldb_private::eFormatterChoiceCriterionRegularExpressionFilter;
- entry = synth;
+ entry_sp = synth;
return true;
}
else
{
if (regex_filter && reason)
*reason |= lldb_private::eFormatterChoiceCriterionRegularExpressionFilter;
- entry = filter;
+ entry_sp = filter_sp;
return true;
}
+
+#else
+ if (filter_sp)
+ {
+ entry_sp = filter_sp;
+ return true;
+ }
+#endif
+
+ return false;
+
}
void
@@ -255,10 +265,12 @@ FormatCategory::Clear (FormatCategoryItems items)
m_filter_nav->Clear();
if ( (items & eFormatCategoryItemRegexFilter) == eFormatCategoryItemRegexFilter )
m_regex_filter_nav->Clear();
+#ifndef LLDB_DISABLE_PYTHON
if ( (items & eFormatCategoryItemSynth) == eFormatCategoryItemSynth )
m_synth_nav->Clear();
if ( (items & eFormatCategoryItemRegexSynth) == eFormatCategoryItemRegexSynth )
m_regex_synth_nav->Clear();
+#endif
}
bool
@@ -274,10 +286,12 @@ FormatCategory::Delete (ConstString name,
success = m_filter_nav->Delete(name) || success;
if ( (items & eFormatCategoryItemRegexFilter) == eFormatCategoryItemRegexFilter )
success = m_regex_filter_nav->Delete(name) || success;
+#ifndef LLDB_DISABLE_PYTHON
if ( (items & eFormatCategoryItemSynth) == eFormatCategoryItemSynth )
success = m_synth_nav->Delete(name) || success;
if ( (items & eFormatCategoryItemRegexSynth) == eFormatCategoryItemRegexSynth )
success = m_regex_synth_nav->Delete(name) || success;
+#endif
return success;
}
@@ -293,10 +307,12 @@ FormatCategory::GetCount (FormatCategoryItems items)
count += m_filter_nav->GetCount();
if ( (items & eFormatCategoryItemRegexFilter) == eFormatCategoryItemRegexFilter )
count += m_regex_filter_nav->GetCount();
+#ifndef LLDB_DISABLE_PYTHON
if ( (items & eFormatCategoryItemSynth) == eFormatCategoryItemSynth )
count += m_synth_nav->GetCount();
if ( (items & eFormatCategoryItemRegexSynth) == eFormatCategoryItemRegexSynth )
count += m_regex_synth_nav->GetCount();
+#endif
return count;
}
@@ -312,7 +328,9 @@ FormatCategory::AnyMatches(ConstString type_name,
lldb::SummaryFormatSP summary;
SyntheticFilter::SharedPointer filter;
+#ifndef LLDB_DISABLE_PYTHON
SyntheticScriptProvider::SharedPointer synth;
+#endif
if ( (items & eFormatCategoryItemSummary) == eFormatCategoryItemSummary )
{
@@ -358,6 +376,7 @@ FormatCategory::AnyMatches(ConstString type_name,
return true;
}
}
+#ifndef LLDB_DISABLE_PYTHON
if ( (items & eFormatCategoryItemSynth) == eFormatCategoryItemSynth )
{
if (m_synth_nav->Get(type_name, synth))
@@ -380,6 +399,7 @@ FormatCategory::AnyMatches(ConstString type_name,
return true;
}
}
+#endif
return false;
}
@@ -597,6 +617,7 @@ FormatManager::FormatManager() :
gnu_category_sp->GetSummaryNavigator()->Add(ConstString("std::basic_string<char,std::char_traits<char>,std::allocator<char> >"),
std_string_summary_sp);
+#ifndef LLDB_DISABLE_PYTHON
gnu_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^(std::)?vector<.+>$")),
SyntheticChildrenSP(new SyntheticScriptProvider(true,
false,
@@ -612,7 +633,7 @@ FormatManager::FormatManager() :
false,
false,
"gnu_libstdcpp.StdListSynthProvider")));
-
+#endif
// DO NOT change the order of these calls, unless you WANT a change in the priority of these categories
EnableCategory(m_system_category_name);
EnableCategory(m_gnu_cpp_category_name);
diff --git a/lldb/source/Host/common/Host.cpp b/lldb/source/Host/common/Host.cpp
index ec979260ab5..280f1977af1 100644
--- a/lldb/source/Host/common/Host.cpp
+++ b/lldb/source/Host/common/Host.cpp
@@ -910,7 +910,9 @@ Host::GetLLDBPath (PathType path_type, FileSpec &file_spec)
if (framework_pos)
{
framework_pos += strlen("LLDB.framework");
+#if !defined (__arm__)
::strncpy (framework_pos, "/Resources", PATH_MAX - (framework_pos - raw_path));
+#endif
}
#endif
FileSpec::Resolve (raw_path, resolved_path, sizeof(resolved_path));
diff --git a/lldb/source/Host/macosx/Host.mm b/lldb/source/Host/macosx/Host.mm
index 4a30ccee495..d38c5f1abfc 100644
--- a/lldb/source/Host/macosx/Host.mm
+++ b/lldb/source/Host/macosx/Host.mm
@@ -47,8 +47,12 @@
#include <objc/objc-auto.h>
+#if defined(__arm__)
+#include <UIKit/UIKit.h>
+#else
#include <ApplicationServices/ApplicationServices.h>
#include <Carbon/Carbon.h>
+#endif
#include <Foundation/Foundation.h>
#ifndef _POSIX_SPAWN_DISABLE_ASLR
@@ -150,6 +154,9 @@ Host::ResolveExecutableInBundle (FileSpec &file)
lldb::pid_t
Host::LaunchApplication (const FileSpec &app_file_spec)
{
+#if defined (__arm__)
+ return LLDB_INVALID_PROCESS_ID;
+#else
char app_path[PATH_MAX];
app_file_spec.GetPath(app_path, sizeof(app_path));
@@ -181,6 +188,7 @@ Host::LaunchApplication (const FileSpec &app_file_spec)
::pid_t pid = LLDB_INVALID_PROCESS_ID;
error = ::GetProcessPID(&psn, &pid);
return pid;
+#endif
}
@@ -237,6 +245,7 @@ WaitForProcessToSIGSTOP (const lldb::pid_t pid, const int timeout_in_seconds)
}
return false;
}
+#if !defined(__arm__)
static lldb::pid_t
LaunchInNewTerminalWithCommandFile
@@ -552,6 +561,8 @@ LaunchInNewTerminalWithAppleScript (const char *exe_path,
return error;
}
+#endif // #if !defined(__arm__)
+
// On MacOSX CrashReporter will display a string for each shared library if
// the shared library has an exported symbol named "__crashreporter_info__".
@@ -600,6 +611,9 @@ Host::SetCrashDescription (const char *cstr)
bool
Host::OpenFileInExternalEditor (const FileSpec &file_spec, uint32_t line_no)
{
+#if defined(__arm__)
+ return false;
+#else
// We attach this to an 'odoc' event to specify a particular selection
typedef struct {
int16_t reserved0; // must be zero
@@ -794,8 +808,8 @@ Host::OpenFileInExternalEditor (const FileSpec &file_spec, uint32_t line_no)
return false;
}
}
-
return true;
+#endif // #if !defined(__arm__)
}
@@ -881,6 +895,19 @@ Host::GetOSVersion
)
{
+#if defined (__arm__)
+ major = UINT32_MAX;
+ minor = UINT32_MAX;
+ update = UINT32_MAX;
+
+ NSString *system_version_nstr = [[UIDevice currentDevice] systemVersion];
+ if (system_version_nstr)
+ {
+ const char *system_version_cstr = system_version_nstr.UTF8String;
+ Args::StringToVersion(system_version_cstr, major, minor, update);
+ }
+ return major != UINT32_MAX;
+#else
SInt32 version;
OSErr err = ::Gestalt (gestaltSystemVersion, &version);
@@ -911,6 +938,7 @@ Host::GetOSVersion
}
return true;
+#endif
}
static bool
diff --git a/lldb/source/Host/macosx/Symbols.cpp b/lldb/source/Host/macosx/Symbols.cpp
index bd49e83ed85..efdb98abb52 100644
--- a/lldb/source/Host/macosx/Symbols.cpp
+++ b/lldb/source/Host/macosx/Symbols.cpp
@@ -35,12 +35,14 @@ using namespace lldb;
using namespace lldb_private;
using namespace llvm::MachO;
+#if !defined (__arm__) // No DebugSymbols on the iOS devices
extern "C" {
CFURLRef DBGCopyFullDSYMURLForUUID (CFUUIDRef uuid, CFURLRef exec_url);
CFDictionaryRef DBGCopyDSYMPropertyLists (CFURLRef dsym_url);
}
+#endif
static bool
SkinnyMachOFileContainsArchAndUUID
@@ -287,6 +289,8 @@ LocateMacOSXFilesUsingDebugSymbols
if (out_dsym_fspec)
out_dsym_fspec->Clear();
+#if !defined (__arm__) // No DebugSymbols on the iOS devices
+
if (uuid && uuid->IsValid())
{
// Try and locate the dSYM file using DebugSymbols first
@@ -424,6 +428,8 @@ LocateMacOSXFilesUsingDebugSymbols
}
}
}
+#endif // #if !defined (__arm__)
+
return items_found;
}
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
index 0b9e4db2450..b94c4099a9e 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -2276,12 +2276,16 @@ CommandInterpreter::GetScriptInterpreter ()
lldb::ScriptLanguage script_lang = GetDebugger().GetScriptLanguage();
switch (script_lang)
{
- case eScriptLanguageNone:
- m_script_interpreter_ap.reset (new ScriptInterpreterNone (*this));
- break;
case eScriptLanguagePython:
+#ifndef LLDB_DISABLE_PYTHON
m_script_interpreter_ap.reset (new ScriptInterpreterPython (*this));
break;
+#else
+ // Fall through to the None case when python is disabled
+#endif
+ case eScriptLanguageNone:
+ m_script_interpreter_ap.reset (new ScriptInterpreterNone (*this));
+ break;
default:
break;
};
diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp
index e125d657c33..eb7ddc29d54 100644
--- a/lldb/source/Interpreter/ScriptInterpreter.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreter.cpp
@@ -84,7 +84,6 @@ ScriptInterpreter::LanguageToString (lldb::ScriptLanguage language)
case eScriptLanguagePython:
return_value = "Python";
break;
-
}
return return_value;
@@ -103,6 +102,7 @@ ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_call
SWIGPythonCallCommand python_swig_call_command,
SWIGPythonCallModuleInit python_swig_call_mod_init)
{
+#ifndef LLDB_DISABLE_PYTHON
ScriptInterpreterPython::InitializeInterpreter (python_swig_init_callback,
python_swig_breakpoint_callback,
python_swig_typescript_callback,
@@ -114,11 +114,14 @@ ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_call
python_swig_update_provider,
python_swig_call_command,
python_swig_call_mod_init);
+#endif // #ifndef LLDB_DISABLE_PYTHON
}
void
ScriptInterpreter::TerminateInterpreter ()
{
+#ifndef LLDB_DISABLE_PYTHON
ScriptInterpreterPython::TerminateInterpreter ();
+#endif // #ifndef LLDB_DISABLE_PYTHON
}
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
index ee356900e85..213a69ed922 100644
--- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
@@ -9,6 +9,11 @@
// In order to guarantee correct working with Python, Python.h *MUST* be
// the *FIRST* header file included here.
+#ifdef LLDB_DISABLE_PYTHON
+
+// Python is disabled in this build
+
+#else
#if defined (__APPLE__)
#include <Python/Python.h>
@@ -1998,3 +2003,5 @@ ScriptInterpreterPython::InitializePrivate ()
// //
//// Py_Finalize ();
//}
+
+#endif // #ifdef LLDB_DISABLE_PYTHON
diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
index a2fa14c67c8..b7790337b03 100644
--- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
+++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
@@ -229,19 +229,19 @@ DynamicLoaderMacOSXDYLD::LocateDYLD()
if (executable)
{
- if (executable->GetArchitecture().GetAddressByteSize() == 8)
+ const ArchSpec &exe_arch = executable->GetArchitecture();
+ if (exe_arch.GetAddressByteSize() == 8)
{
return ReadDYLDInfoFromMemoryAndSetNotificationCallback(0x7fff5fc00000ull);
}
-#if defined (__arm__)
+ else if (exe_arch.GetMachine() == llvm::Triple::arm || exe_arch.GetMachine() == llvm::Triple::thumb)
+ {
+ return ReadDYLDInfoFromMemoryAndSetNotificationCallback(0x2fe00000);
+ }
else
{
- ArchSpec arm_arch("arm");
- if (arm_arch == executable->Arch())
- return ReadDYLDInfoFromMemoryAndSetNotificationCallback(0x2fe00000);
+ return ReadDYLDInfoFromMemoryAndSetNotificationCallback(0x8fe00000);
}
-#endif
- return ReadDYLDInfoFromMemoryAndSetNotificationCallback(0x8fe00000);
}
return false;
}
diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
index ef9e5975e18..c1d9f955159 100644
--- a/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
+++ b/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
@@ -30,8 +30,6 @@
// Project includes
#include "ProcessKDPLog.h"
-#define DEBUGSERVER_BASENAME "debugserver"
-
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
index 52cb00f0e03..211dfb28452 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
@@ -25,6 +25,8 @@
#include "lldb/Host/Endian.h"
#include "llvm/Support/Compiler.h"
+#include "Plugins/Process/Utility/InstructionUtils.h"
+
// Support building against older versions of LLVM, this macro was added
// recently.
#ifndef LLVM_EXTENSION
@@ -982,7 +984,7 @@ RegisterContextDarwin_arm::NumSupportedHardwareBreakpoints ()
uint32_t register_DBGDIDR;
asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (register_DBGDIDR));
- g_num_supported_hw_breakpoints = bits(register_DBGDIDR, 27, 24);
+ g_num_supported_hw_breakpoints = Bits32 (register_DBGDIDR, 27, 24);
// Zero is reserved for the BRP count, so don't increment it if it is zero
if (g_num_supported_hw_breakpoints > 0)
g_num_supported_hw_breakpoints++;
@@ -1111,7 +1113,7 @@ RegisterContextDarwin_arm::NumSupportedHardwareWatchpoints ()
uint32_t register_DBGDIDR;
asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (register_DBGDIDR));
- g_num_supported_hw_watchpoints = bits(register_DBGDIDR, 31, 28) + 1;
+ g_num_supported_hw_watchpoints = Bits32 (register_DBGDIDR, 31, 28) + 1;
// if (log) log->Printf ("DBGDIDR=0x%8.8x (number WRP pairs = %u)", register_DBGDIDR, g_num_supported_hw_watchpoints);
}
return g_num_supported_hw_watchpoints;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
index e00913ea1cf..6cfad1eb0dd 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
@@ -147,6 +147,9 @@ RegisterContextMacOSXFrameBackchain::ReadRegister (const RegisterInfo *reg_info,
}
break;
+ // TOOD: need a better way to detect when "long double" types are
+ // the same bytes size as "double"
+#if !defined(__arm__)
case sizeof (long double):
if (sizeof (long double) == sizeof(uint32_t))
{
@@ -159,6 +162,7 @@ RegisterContextMacOSXFrameBackchain::ReadRegister (const RegisterInfo *reg_info,
return true;
}
break;
+#endif
}
break;
}
diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp
index ec997134f60..fb80ab306cd 100644
--- a/lldb/source/Symbol/ClangASTContext.cpp
+++ b/lldb/source/Symbol/ClangASTContext.cpp
@@ -3059,7 +3059,7 @@ ClangASTContext::GetNumPointeeChildren (clang_type_t clang_type)
case clang::BuiltinType::BoundMember:
case clang::BuiltinType::Half:
case clang::BuiltinType::ARCUnbridgedCast:
- case clang::BuiltinType::PseudoObject:
+ //case clang::BuiltinType::PseudoObject:
return 1;
}
break;
@@ -4899,7 +4899,7 @@ ClangASTContext::IsPossibleDynamicType (clang::ASTContext *ast, clang_type_t cla
case clang::BuiltinType::BoundMember:
case clang::BuiltinType::Half:
case clang::BuiltinType::ARCUnbridgedCast:
- case clang::BuiltinType::PseudoObject:
+ //case clang::BuiltinType::PseudoObject:
break;
}
break;
@@ -5035,7 +5035,7 @@ ClangASTContext::IsPossibleCPlusPlusDynamicType (clang::ASTContext *ast, clang_t
case clang::BuiltinType::BoundMember:
case clang::BuiltinType::Half:
case clang::BuiltinType::ARCUnbridgedCast:
- case clang::BuiltinType::PseudoObject:
+ //case clang::BuiltinType::PseudoObject:
break;
}
break;
diff --git a/lldb/source/Symbol/ClangASTType.cpp b/lldb/source/Symbol/ClangASTType.cpp
index 04edef1484f..e30282d0e59 100644
--- a/lldb/source/Symbol/ClangASTType.cpp
+++ b/lldb/source/Symbol/ClangASTType.cpp
@@ -572,7 +572,7 @@ ClangASTType::GetFormat (clang_type_t clang_type)
case clang::BuiltinType::ObjCSel:
case clang::BuiltinType::Half:
case clang::BuiltinType::ARCUnbridgedCast:
- case clang::BuiltinType::PseudoObject:
+ //case clang::BuiltinType::PseudoObject:
return lldb::eFormatHex;
}
break;
diff --git a/lldb/source/Target/StackFrameList.cpp b/lldb/source/Target/StackFrameList.cpp
index 958814868ec..76f74f1533c 100644
--- a/lldb/source/Target/StackFrameList.cpp
+++ b/lldb/source/Target/StackFrameList.cpp
@@ -238,7 +238,7 @@ StackFrameList::Dump (Stream *s)
frame->DumpUsingSettingsFormat (s);
}
else
- s->Printf("frame #%ld", std::distance (begin, pos));
+ s->Printf("frame #%u", (uint32_t)std::distance (begin, pos));
s->EOL();
}
s->EOL();
diff --git a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
index 989636df317..bd67910b70d 100644
--- a/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
+++ b/lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
@@ -476,8 +476,6 @@
);
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 150;
- "GCC_VERSION[sdk=iphoneos*][arch=*]" = 4.2;
- "GCC_VERSION[sdk=macosx*][arch=*]" = "";
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
SDKROOT = "";
@@ -533,6 +531,7 @@
262419A21198A93E00067686 /* BuildAndIntegration */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_ENTITLEMENTS[sdk=iphoneos*]" = "source/debugserver-entitlements.plist";
COPY_PHASE_STRIP = YES;
CURRENT_PROJECT_VERSION = 150;
@@ -544,6 +543,7 @@
);
"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_BUILDANDINTEGRATION;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
INSTALL_PATH = /Developer/usr/bin;
LLDB_DEBUGSERVER = 1;
@@ -572,6 +572,7 @@
26CE0596115C31C30022F371 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_ENTITLEMENTS[sdk=iphoneos*]" = "source/debugserver-entitlements.plist";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = lldb_codesign;
COPY_PHASE_STRIP = YES;
@@ -585,6 +586,7 @@
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
INSTALL_PATH = /Developer/usr/bin;
LLDB_DEBUGSERVER = 1;
OTHER_CFLAGS = "-Wparentheses";
@@ -612,6 +614,7 @@
26CE0597115C31C30022F371 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_ENTITLEMENTS[sdk=iphoneos*]" = "source/debugserver-entitlements.plist";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = lldb_codesign;
COPY_PHASE_STRIP = YES;
@@ -624,6 +627,7 @@
);
"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
INSTALL_PATH = /Developer/usr/bin;
LLDB_DEBUGSERVER = 1;
diff --git a/lldb/tools/debugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme b/lldb/tools/debugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
index 64447c65d8a..9cfaa138c67 100644
--- a/lldb/tools/debugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
+++ b/lldb/tools/debugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- version = "1.3">
+ version = "1.8">
<BuildAction
parallelizeBuildables = "NO"
buildImplicitDependencies = "YES">
@@ -28,6 +28,15 @@
buildConfiguration = "Debug">
<Testables>
</Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "26CE0593115C31C20022F371"
+ BuildableName = "debugserver"
+ BlueprintName = "debugserver"
+ ReferencedContainer = "container:debugserver.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
<EnvironmentVariables>
<EnvironmentVariable
key = "UBBY"
@@ -43,7 +52,9 @@
displayScale = "1.00"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
- buildConfiguration = "Debug">
+ buildConfiguration = "Debug"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
@@ -69,7 +80,8 @@
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
- buildConfiguration = "Release">
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
diff --git a/lldb/tools/debugserver/source/MacOSX/MachProcess.cpp b/lldb/tools/debugserver/source/MacOSX/MachProcess.cpp
index ceaa65ab82a..a256acec8d3 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachProcess.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/MachProcess.cpp
@@ -820,7 +820,7 @@ MachProcess::DisableBreakpoint(nub_break_t breakID, bool remove)
}
else
{
- DNBLogThreadedIf(LOG_BREAKPOINTS | LOG_VERBOSE, "MachProcess::DisableBreakpoint ( breakID = %d, remove = %d ) addr = 0x$8.8llx is not enabled", breakID, remove, (uint64_t)addr);
+ DNBLogThreadedIf(LOG_BREAKPOINTS | LOG_VERBOSE, "MachProcess::DisableBreakpoint ( breakID = %d, remove = %d ) addr = 0x%8.8llx is not enabled", breakID, remove, (uint64_t)addr);
// Set verify to true and so we can check if the original opcode is there
verify = true;
}
@@ -1114,7 +1114,7 @@ MachProcess::ExceptionMessageBundleComplete()
}
else
{
- DNBLogThreadedIf(LOG_EXCEPTIONS, "%s empty exception messages bundle.", __PRETTY_FUNCTION__, m_exception_messages.size());
+ DNBLogThreadedIf(LOG_EXCEPTIONS, "%s empty exception messages bundle (%zu exceptions).", __PRETTY_FUNCTION__, m_exception_messages.size());
}
}
@@ -1388,7 +1388,7 @@ MachProcess::PrepareForAttach (const char *path, nub_launch_flavor_t launch_flav
const char *app_ext = strstr(path, ".app");
if (app_ext == NULL)
{
- DNBLogThreadedIf(LOG_PROCESS, "%s: path '%s' doesn't contain .app, we can't tell springboard to wait for launch...", path);
+ DNBLogThreadedIf(LOG_PROCESS, "MachProcess::PrepareForAttach(): path '%s' doesn't contain .app, we can't tell springboard to wait for launch...", path);
return NULL;
}
diff --git a/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp b/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
index c8eba035339..5de65a969a9 100644
--- a/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
@@ -497,7 +497,7 @@ DNBArchMachARM::DecodeITBlockInstructions(nub_addr_t curr_pc)
}
else
{
- DNBLogError("%s: Unable to read opcode bits 31:16 for a 32 bit thumb opcode at pc=0x%8.8lx", __FUNCTION__, pc_in_itblock);
+ DNBLogError("%s: Unable to read opcode bits 31:16 for a 32 bit thumb opcode at pc=0x%8.8llx", __FUNCTION__, (uint64_t)pc_in_itblock);
}
}
}
@@ -1623,7 +1623,7 @@ DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup(nub_addr_t cur
decodeError = DecodeInstructionUsingDisassembler(currentPCInITBlock, cpsr, &m_last_decode_arm, &m_last_decode_thumb, &nextPCInITBlock);
if (decodeError != ARM_SUCCESS)
- DNBLogError("unable to disassemble instruction at 0x%8.8lx", currentPCInITBlock);
+ DNBLogError("unable to disassemble instruction at 0x%8.8llx", (uint64_t)currentPCInITBlock);
DNBLogThreadedIf(LOG_STEP | LOG_VERBOSE, "%s: condition=%d", __FUNCTION__, m_last_decode_arm.condition);
if (ConditionPassed(m_last_decode_arm.condition, cpsr))
@@ -1676,7 +1676,7 @@ DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup(nub_addr_t cur
// if targetPC is not known at compile time (PC-relative target), compute targetPC
if (!ComputeNextPC(currentPC, m_last_decode_arm, currentPCIsThumb, &targetPC))
{
- DNBLogError("%s: Unable to compute targetPC for instruction at 0x%8.8lx", __FUNCTION__, currentPC);
+ DNBLogError("%s: Unable to compute targetPC for instruction at 0x%8.8llx", __FUNCTION__, (uint64_t)currentPC);
targetPC = INVALID_NUB_ADDRESS;
}
}
@@ -1760,7 +1760,7 @@ DNBArchMachARM::DecodeInstructionUsingDisassembler(nub_addr_t curr_pc, uint32_t
// Read the ARM opcode
if (m_thread->Process()->Task().ReadMemory(curr_pc, 4, &opcode32) != 4)
{
- DNBLogError("unable to read opcode bits 31:0 for an ARM opcode at 0x%8.8lx", curr_pc);
+ DNBLogError("unable to read opcode bits 31:0 for an ARM opcode at 0x%8.8llx", (uint64_t)curr_pc);
decodeReturnCode = ARM_ERROR;
}
else
@@ -1769,7 +1769,7 @@ DNBArchMachARM::DecodeInstructionUsingDisassembler(nub_addr_t curr_pc, uint32_t
decodeReturnCode = ArmDisassembler((uint64_t)curr_pc, opcode32, false, decodedInstruction, NULL, 0, NULL, 0);
if (decodeReturnCode != ARM_SUCCESS)
- DNBLogError("Unable to decode ARM instruction 0x%8.8x at 0x%8.8lx", opcode32, curr_pc);
+ DNBLogError("Unable to decode ARM instruction 0x%8.8x at 0x%8.8llx", opcode32, (uint64_t)curr_pc);
}
break;
@@ -1778,7 +1778,7 @@ DNBArchMachARM::DecodeInstructionUsingDisassembler(nub_addr_t curr_pc, uint32_t
// Read the a 16 bit Thumb opcode
if (m_thread->Process()->Task().ReadMemory(curr_pc, 2, &opcode16) != 2)
{
- DNBLogError("unable to read opcode bits 15:0 for a thumb opcode at 0x%8.8lx", curr_pc);
+ DNBLogError("unable to read opcode bits 15:0 for a thumb opcode at 0x%8.8llx", (uint64_t)curr_pc);
decodeReturnCode = ARM_ERROR;
}
else
@@ -1794,7 +1794,7 @@ DNBArchMachARM::DecodeInstructionUsingDisassembler(nub_addr_t curr_pc, uint32_t
nextPC += 2;
if (m_thread->Process()->Task().ReadMemory(curr_pc+2, 2, &opcode16) != 2)
{
- DNBLogError("unable to read opcode bits 15:0 for a thumb opcode at 0x%8.8lx", curr_pc+2);
+ DNBLogError("unable to read opcode bits 15:0 for a thumb opcode at 0x%8.8llx", (uint64_t)curr_pc+2);
}
else
{
@@ -1803,7 +1803,7 @@ DNBArchMachARM::DecodeInstructionUsingDisassembler(nub_addr_t curr_pc, uint32_t
decodeReturnCode = ThumbDisassembler((uint64_t)(curr_pc+2), opcode16, false, false, thumbStaticData, decodedInstruction, NULL, 0, NULL, 0);
if (decodeReturnCode != ARM_SUCCESS)
- DNBLogError("Unable to decode 2nd half of Thumb instruction 0x%8.4hx at 0x%8.8lx", opcode16, curr_pc+2);
+ DNBLogError("Unable to decode 2nd half of Thumb instruction 0x%8.4hx at 0x%8.8llx", opcode16, (uint64_t)curr_pc+2);
break;
}
break;
@@ -1813,7 +1813,7 @@ DNBArchMachARM::DecodeInstructionUsingDisassembler(nub_addr_t curr_pc, uint32_t
break;
default:
- DNBLogError("Unable to decode Thumb instruction 0x%8.4hx at 0x%8.8lx", opcode16, curr_pc);
+ DNBLogError("Unable to decode Thumb instruction 0x%8.4hx at 0x%8.8llx", opcode16, (uint64_t)curr_pc);
decodeReturnCode = ARM_ERROR;
break;
}
@@ -1878,7 +1878,7 @@ DNBArchMachARM::SetSingleStepSoftwareBreakpoints()
if (decodeReturnCode != ARM_SUCCESS)
{
err = KERN_INVALID_ARGUMENT;
- DNBLogError("DNBArchMachARM::SetSingleStepSoftwareBreakpoints: Unable to disassemble instruction at 0x%8.8lx", curr_pc);
+ DNBLogError("DNBArchMachARM::SetSingleStepSoftwareBreakpoints: Unable to disassemble instruction at 0x%8.8llx", (uint64_t)curr_pc);
}
}
else
@@ -1970,7 +1970,7 @@ DNBArchMachARM::SetSingleStepSoftwareBreakpoints()
}
else
{
- DNBLogError("FunctionProfiler::SetSingleStepSoftwareBreakpoints(): Unable to read opcode bits 31:16 for a 32 bit thumb opcode at pc=0x%8.8lx", nextPCInITBlock);
+ DNBLogError("FunctionProfiler::SetSingleStepSoftwareBreakpoints(): Unable to read opcode bits 31:16 for a 32 bit thumb opcode at pc=0x%8.8llx", (uint64_t)nextPCInITBlock);
}
}
}
@@ -2198,13 +2198,13 @@ DNBArchMachARM::EnableHardwareBreakpoint (nub_addr_t addr, nub_size_t size)
byte_addr_select | // Set the correct byte address select so we only trigger on the correct opcode
S_USER | // Which modes should this breakpoint stop in?
BCR_ENABLE; // Enable this hardware breakpoint
- DNBLogThreadedIf(LOG_BREAKPOINTS, "DNBArchMachARM::EnableHardwareBreakpoint( addr = %8.8p, size = %u ) - BVR%u/BCR%u = 0x%8.8x / 0x%8.8x (Thumb)",
- addr,
- size,
- i,
- i,
- m_state.dbg.__bvr[i],
- m_state.dbg.__bcr[i]);
+ DNBLogThreadedIf (LOG_BREAKPOINTS, "DNBArchMachARM::EnableHardwareBreakpoint( addr = 0x%8.8llx, size = %zu ) - BVR%u/BCR%u = 0x%8.8x / 0x%8.8x (Thumb)",
+ (uint64_t)addr,
+ size,
+ i,
+ i,
+ m_state.dbg.__bvr[i],
+ m_state.dbg.__bcr[i]);
}
else if (size == 4)
{
@@ -2213,13 +2213,13 @@ DNBArchMachARM::EnableHardwareBreakpoint (nub_addr_t addr, nub_size_t size)
BAS_IMVA_ALL | // Stop on any of the four bytes following the IMVA
S_USER | // Which modes should this breakpoint stop in?
BCR_ENABLE; // Enable this hardware breakpoint
- DNBLogThreadedIf(LOG_BREAKPOINTS, "DNBArchMachARM::EnableHardwareBreakpoint( addr = %8.8p, size = %u ) - BVR%u/BCR%u = 0x%8.8x / 0x%8.8x (ARM)",
- addr,
- size,
- i,
- i,
- m_state.dbg.__bvr[i],
- m_state.dbg.__bcr[i]);
+ DNBLogThreadedIf (LOG_BREAKPOINTS, "DNBArchMachARM::EnableHardwareBreakpoint( addr = 0x%8.8llx, size = %zu ) - BVR%u/BCR%u = 0x%8.8x / 0x%8.8x (ARM)",
+ (uint64_t)addr,
+ size,
+ i,
+ i,
+ m_state.dbg.__bvr[i],
+ m_state.dbg.__bcr[i]);
}
kret = SetDBGState();
@@ -2230,7 +2230,7 @@ DNBArchMachARM::EnableHardwareBreakpoint (nub_addr_t addr, nub_size_t size)
}
else
{
- DNBLogThreadedIf(LOG_BREAKPOINTS, "DNBArchMachARM::EnableHardwareBreakpoint(addr = %8.8p, size = %u) => all hardware breakpoint resources are being used.", addr, size);
+ DNBLogThreadedIf (LOG_BREAKPOINTS, "DNBArchMachARM::EnableHardwareBreakpoint(addr = 0x%8.8llx, size = %zu) => all hardware breakpoint resources are being used.", (uint64_t)addr, size);
}
}
@@ -2267,7 +2267,7 @@ DNBArchMachARM::DisableHardwareBreakpoint (uint32_t hw_index)
uint32_t
DNBArchMachARM::EnableHardwareWatchpoint (nub_addr_t addr, nub_size_t size, bool read, bool write)
{
- DNBLogThreadedIf(LOG_WATCHPOINTS, "DNBArchMachARM::EnableHardwareWatchpoint(addr = %8.8p, size = %u, read = %u, write = %u)", addr, size, read, write);
+ DNBLogThreadedIf(LOG_WATCHPOINTS, "DNBArchMachARM::EnableHardwareWatchpoint(addr = 0x%8.8llx, size = %zu, read = %u, write = %u)", (uint64_t)addr, size, read, write);
const uint32_t num_hw_watchpoints = NumSupportedHardwareWatchpoints();
OpenPOWER on IntegriCloud