forked from OSchip/llvm-project
Fixed the Xcode project building of LLVM to be a bit more user friendly:
- If you download and build the sources in the Xcode project, x86_64 builds by default using the "llvm.zip" checkpointed LLVM. - If you delete the "lldb/llvm.zip" and the "lldb/llvm" folder, and build the Xcode project will download the right LLVM sources and build them from scratch - If you have a "lldb/llvm" folder already that contains a "lldb/llvm/lib" directory, we will use the sources you have placed in the LLDB directory. Python can now be disabled for platforms that don't support it. Changed the way the libllvmclang.a files get used. They now all get built into arch specific directories and never get merged into universal binaries as this was causing issues where you would have to go and delete the file if you wanted to build an extra architecture slice. llvm-svn: 143678
This commit is contained in:
parent
96e0c101fe
commit
dce502ede0
|
@ -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);
|
||||
|
||||
|
|
|
@ -205,7 +205,9 @@ protected:
|
|||
private:
|
||||
friend class SBThread;
|
||||
friend class SBInstruction;
|
||||
#ifndef LLDB_DISABLE_PYTHON
|
||||
friend class lldb_private::ScriptInterpreterPython;
|
||||
#endif
|
||||
|
||||
#ifndef SWIG
|
||||
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
};
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
@ -3726,6 +3717,12 @@
|
|||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-framework",
|
||||
Carbon,
|
||||
"-framework",
|
||||
DebugSymbols,
|
||||
"-lpython",
|
||||
"-lllvmclang",
|
||||
"-framework",
|
||||
Foundation,
|
||||
"-framework",
|
||||
|
@ -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",
|
||||
|
@ -3776,6 +3778,12 @@
|
|||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-framework",
|
||||
Carbon,
|
||||
"-framework",
|
||||
DebugSymbols,
|
||||
"-lpython",
|
||||
"-lllvmclang",
|
||||
"-framework",
|
||||
Foundation,
|
||||
"-framework",
|
||||
|
@ -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",
|
||||
|
@ -4005,6 +4002,12 @@
|
|||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-framework",
|
||||
Carbon,
|
||||
"-framework",
|
||||
DebugSymbols,
|
||||
"-lpython",
|
||||
"-lllvmclang",
|
||||
"-framework",
|
||||
Foundation,
|
||||
"-framework",
|
||||
|
@ -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;
|
||||
INSTALL_PATH = "$(DEVELOPER_DIR)/usr/bin";
|
||||
OTHER_LDFLAGS = (
|
||||
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;
|
||||
INSTALL_PATH = "$(DEVELOPER_DIR)/usr/bin";
|
||||
OTHER_LDFLAGS = (
|
||||
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;
|
||||
INSTALL_PATH = "$(DEVELOPER_DIR)/usr/bin";
|
||||
OTHER_LDFLAGS = (
|
||||
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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ public:
|
|||
~CommandObjectType ();
|
||||
};
|
||||
|
||||
|
||||
} // namespace lldb_private
|
||||
|
||||
#endif // liblldb_CommandObjectType_h_
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -2276,12 +2276,16 @@ CommandInterpreter::GetScriptInterpreter ()
|
|||
lldb::ScriptLanguage script_lang = GetDebugger().GetScriptLanguage();
|
||||
switch (script_lang)
|
||||
{
|
||||
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;
|
||||
case eScriptLanguagePython:
|
||||
m_script_interpreter_ap.reset (new ScriptInterpreterPython (*this));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -30,8 +30,6 @@
|
|||
// Project includes
|
||||
#include "ProcessKDPLog.h"
|
||||
|
||||
#define DEBUGSERVER_BASENAME "debugserver"
|
||||
|
||||
using namespace lldb;
|
||||
using namespace lldb_private;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
Loading…
Reference in New Issue