summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-03-22 01:14:58 +0000
committerGreg Clayton <gclayton@apple.com>2011-03-22 01:14:58 +0000
commitfc36f79170a2e462697f00529f1df92c53dae505 (patch)
treec5da4eda43626cba1b396ec0aa3a475d6f30d7e0
parent348a54838144c0b5525edf33be457c50a9257628 (diff)
downloadbcm5719-llvm-fc36f79170a2e462697f00529f1df92c53dae505.tar.gz
bcm5719-llvm-fc36f79170a2e462697f00529f1df92c53dae505.zip
Abtracted the innards of lldb-core away from the SB interface. There was some
overlap in the SWIG integration which has now been fixed by introducing callbacks for initializing SWIG for each language (python only right now). There was also a breakpoint command callback that called into SWIG which has been abtracted into a callback to avoid cross over as well. Added a new binary: lldb-platform This will be the start of the remote platform that will use as much of the Host functionality to do its job so it should just work on all platforms. It is pretty hollowed out for now, but soon it will implement a platform using the GDB remote packets as the transport. llvm-svn: 128053
-rw-r--r--lldb/include/lldb/API/SBBreakpointLocation.h4
-rw-r--r--lldb/include/lldb/API/SBCommandInterpreter.h4
-rw-r--r--lldb/include/lldb/API/SBFrame.h4
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreter.h11
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreterPython.h7
-rw-r--r--lldb/lldb.xcodeproj/project.pbxproj276
-rw-r--r--lldb/scripts/lldb.swig9
-rw-r--r--lldb/source/API/SBCommandInterpreter.cpp21
-rw-r--r--lldb/source/API/SBDebugger.cpp2
-rw-r--r--lldb/source/Interpreter/ScriptInterpreter.cpp10
-rw-r--r--lldb/source/Interpreter/ScriptInterpreterPython.cpp127
-rw-r--r--lldb/source/lldb.cpp7
-rw-r--r--lldb/test/abbreviation_tests/TestAbbreviations.py2
-rw-r--r--lldb/tools/debugserver/source/RNBRemote.cpp72
14 files changed, 327 insertions, 229 deletions
diff --git a/lldb/include/lldb/API/SBBreakpointLocation.h b/lldb/include/lldb/API/SBBreakpointLocation.h
index bb14cd1fdfd..652b7c5eed5 100644
--- a/lldb/include/lldb/API/SBBreakpointLocation.h
+++ b/lldb/include/lldb/API/SBBreakpointLocation.h
@@ -87,11 +87,11 @@ public:
SBBreakpoint
GetBreakpoint ();
+ SBBreakpointLocation (const lldb::BreakpointLocationSP &break_loc_sp);
+
private:
friend class SBBreakpoint;
friend class lldb_private::ScriptInterpreterPython;
-
- SBBreakpointLocation (const lldb::BreakpointLocationSP &break_loc_sp);
void
SetLocation (const lldb::BreakpointLocationSP &break_loc_sp);
diff --git a/lldb/include/lldb/API/SBCommandInterpreter.h b/lldb/include/lldb/API/SBCommandInterpreter.h
index f6a839c4625..0ce9d4a588c 100644
--- a/lldb/include/lldb/API/SBCommandInterpreter.h
+++ b/lldb/include/lldb/API/SBCommandInterpreter.h
@@ -101,7 +101,9 @@ private:
SBCommandInterpreter (lldb_private::CommandInterpreter *interpreter_ptr = NULL); // Access using SBDebugger::GetCommandInterpreter();
-
+ static void
+ InitializeSWIG ();
+
lldb_private::CommandInterpreter *m_opaque_ptr;
};
diff --git a/lldb/include/lldb/API/SBFrame.h b/lldb/include/lldb/API/SBFrame.h
index da90867a14b..9d7165b36aa 100644
--- a/lldb/include/lldb/API/SBFrame.h
+++ b/lldb/include/lldb/API/SBFrame.h
@@ -130,6 +130,8 @@ public:
bool
GetDescription (lldb::SBStream &description);
+ SBFrame (const lldb::StackFrameSP &lldb_object_sp);
+
protected:
friend class SBValue;
@@ -152,8 +154,6 @@ private:
#endif
- SBFrame (const lldb::StackFrameSP &lldb_object_sp);
-
void
SetFrame (const lldb::StackFrameSP &lldb_object_sp);
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreter.h b/lldb/include/lldb/Interpreter/ScriptInterpreter.h
index da8bce60b7e..438222c7456 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreter.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreter.h
@@ -20,6 +20,12 @@ class ScriptInterpreter
{
public:
+ typedef void (*SWIGInitCallback) (void);
+
+ typedef bool (*SWIGBreakpointCallbackFunction) (const char *python_function_name,
+ const char *session_dictionary_name,
+ const lldb::StackFrameSP& frame_sp,
+ const lldb::BreakpointLocationSP &bp_loc_sp);
typedef enum
{
eCharPtr,
@@ -97,10 +103,11 @@ public:
LanguageToString (lldb::ScriptLanguage language);
static void
- Initialize ();
+ InitializeInterpreter (SWIGInitCallback python_swig_init_callback,
+ SWIGBreakpointCallbackFunction python_swig_breakpoint_callback);
static void
- Terminate ();
+ TerminateInterpreter ();
virtual void
ResetOutputFileHandle (FILE *new_fh) { } //By default, do nothing.
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
index 42642174b72..4b1c38d5cdc 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
@@ -84,10 +84,11 @@ public:
RunEmbeddedPythonInterpreter (lldb::thread_arg_t baton);
static void
- Initialize ();
-
+ InitializePrivate ();
+
static void
- Terminate ();
+ InitializeInterpreter (SWIGInitCallback python_swig_init_callback,
+ SWIGBreakpointCallbackFunction python_swig_breakpoint_callback);
protected:
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj
index 98b2307b530..6f4e106cf38 100644
--- a/lldb/lldb.xcodeproj/project.pbxproj
+++ b/lldb/lldb.xcodeproj/project.pbxproj
@@ -7,20 +7,12 @@
objects = {
/* Begin PBXBuildFile section */
- 260C6EA113011578005E16B0 /* File.h in Headers */ = {isa = PBXBuildFile; fileRef = 260C6EA013011578005E16B0 /* File.h */; };
260C876A10F538E700BB2B04 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260C876910F538E700BB2B04 /* Foundation.framework */; };
261744781168585B005ADD65 /* SBType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 261744771168585B005ADD65 /* SBType.cpp */; };
2617447A11685869005ADD65 /* SBType.h in Headers */ = {isa = PBXBuildFile; fileRef = 2617447911685869005ADD65 /* SBType.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 2618EE661315B29C001D6D71 /* GDBRemoteCommunication.h in Headers */ = {isa = PBXBuildFile; fileRef = 2618EE5C1315B29C001D6D71 /* GDBRemoteCommunication.h */; };
- 2618EE681315B29C001D6D71 /* GDBRemoteRegisterContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 2618EE5E1315B29C001D6D71 /* GDBRemoteRegisterContext.h */; };
- 2618EE6A1315B29C001D6D71 /* ProcessGDBRemote.h in Headers */ = {isa = PBXBuildFile; fileRef = 2618EE601315B29C001D6D71 /* ProcessGDBRemote.h */; };
- 2618EE6C1315B29C001D6D71 /* ProcessGDBRemoteLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 2618EE621315B29C001D6D71 /* ProcessGDBRemoteLog.h */; };
- 2618EE6E1315B29C001D6D71 /* ThreadGDBRemote.h in Headers */ = {isa = PBXBuildFile; fileRef = 2618EE641315B29C001D6D71 /* ThreadGDBRemote.h */; };
262CFC7711A4510000946C6C /* debugserver in Resources */ = {isa = PBXBuildFile; fileRef = 26CE05A0115C31E50022F371 /* debugserver */; };
- 2635DA87127D0D0400675BC1 /* SharingPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 261B5A5311C3F2AD00AABD0A /* SharingPtr.h */; settings = {ATTRIBUTES = (Public, ); }; };
26368A3C126B697600E8659F /* darwin-debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26368A3B126B697600E8659F /* darwin-debug.cpp */; };
26368AF7126B960500E8659F /* darwin-debug in Resources */ = {isa = PBXBuildFile; fileRef = 26579F68126A25920007C5CB /* darwin-debug */; };
- 264A43BC1320B3B4005B4096 /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 264A43BB1320B3B4005B4096 /* Platform.h */; };
265ABF6310F42EE900531910 /* DebugSymbols.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 265ABF6210F42EE900531910 /* DebugSymbols.framework */; };
2668020E115FD12C008E1FE4 /* lldb-defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 26BC7C2510F1B3BC00F91463 /* lldb-defines.h */; settings = {ATTRIBUTES = (Public, ); }; };
2668020F115FD12C008E1FE4 /* lldb-enumerations.h in Headers */ = {isa = PBXBuildFile; fileRef = 26BC7C2610F1B3BC00F91463 /* lldb-enumerations.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -64,10 +56,6 @@
26680336116005EF008E1FE4 /* SBBreakpointLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AF16CC7114086A1007A7B3F /* SBBreakpointLocation.cpp */; };
26680337116005F1008E1FE4 /* SBBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AF16A9C11402D5B007A7B3F /* SBBreakpoint.cpp */; };
2668035C11601108008E1FE4 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26680207115FD0ED008E1FE4 /* LLDB.framework */; };
- 266A42D8128E40040090CF7C /* ClangNamespaceDecl.h in Headers */ = {isa = PBXBuildFile; fileRef = 266A42D7128E40040090CF7C /* ClangNamespaceDecl.h */; };
- 266F5CBC12FC846200DFCE33 /* Config.h in Headers */ = {isa = PBXBuildFile; fileRef = 266F5CBB12FC846200DFCE33 /* Config.h */; };
- 2675F7011332BE690067997B /* PlatformRemoteiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 2675F6FF1332BE690067997B /* PlatformRemoteiOS.h */; };
- 26879CE61333F5750012C1F8 /* CommandObjectPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 26879CE51333F5750012C1F8 /* CommandObjectPlatform.h */; };
2689000013353DB600698AC0 /* BreakpointResolverAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D0DD5010FE554D00271C65 /* BreakpointResolverAddress.h */; };
2689000113353DB600698AC0 /* BreakpointResolverAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D0DD5310FE555900271C65 /* BreakpointResolverAddress.cpp */; };
2689000213353DB600698AC0 /* BreakpointResolverFileLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D0DD5110FE554D00271C65 /* BreakpointResolverFileLine.h */; };
@@ -194,7 +182,6 @@
2689007B13353E1A00698AC0 /* CFCString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EF810F1B8AD00F91463 /* CFCString.cpp */; };
2689007C13353E1A00698AC0 /* Symbols.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2689B0B5113EE47E00A4AEDB /* Symbols.cpp */; };
2689007D13353E2200698AC0 /* Args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6C10F1B85900F91463 /* Args.cpp */; };
- 2689007E13353E2200698AC0 /* LLDBWrapPython.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A4EEB511682AAC007A372A /* LLDBWrapPython.cpp */; };
2689007F13353E2200698AC0 /* CommandCompletions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C09CB74116BD98B00C7A725 /* CommandCompletions.cpp */; };
2689008013353E2200698AC0 /* CommandInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F0810F1B8DD00F91463 /* CommandInterpreter.cpp */; };
2689008113353E2200698AC0 /* CommandObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F0910F1B8DD00F91463 /* CommandObject.cpp */; };
@@ -365,19 +352,22 @@
2689FFFD13353DB600698AC0 /* BreakpointOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1110F1B83100F91463 /* BreakpointOptions.cpp */; };
2689FFFE13353DB600698AC0 /* BreakpointResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 26BC7CF610F1B71400F91463 /* BreakpointResolver.h */; };
2689FFFF13353DB600698AC0 /* BreakpointResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1210F1B83100F91463 /* BreakpointResolver.cpp */; };
- 268A68401321B53B000E3FB8 /* DynamicLoaderStatic.h in Headers */ = {isa = PBXBuildFile; fileRef = 268A683E1321B53B000E3FB8 /* DynamicLoaderStatic.h */; };
- 268DA872130095D000C9483A /* Terminal.h in Headers */ = {isa = PBXBuildFile; fileRef = 268DA871130095D000C9483A /* Terminal.h */; };
268F9D53123AA15200B91E9B /* SBSymbolContextList.h in Headers */ = {isa = PBXBuildFile; fileRef = 268F9D52123AA15200B91E9B /* SBSymbolContextList.h */; settings = {ATTRIBUTES = (Public, ); }; };
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268F9D54123AA16600B91E9B /* SBSymbolContextList.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 */; };
26B42B1F1187A92B0079C8C8 /* lldb-include.h in Headers */ = {isa = PBXBuildFile; fileRef = 26B42B1E1187A92B0079C8C8 /* lldb-include.h */; settings = {ATTRIBUTES = (Public, ); }; };
26B42C4D1187ABA50079C8C8 /* LLDB.h in Headers */ = {isa = PBXBuildFile; fileRef = 26B42C4C1187ABA50079C8C8 /* LLDB.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 26C557811325781D008FD8FE /* PlatformMacOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C5577C132575AD008FD8FE /* PlatformMacOSX.h */; };
26C72C94124322890068DC16 /* SBStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C72C93124322890068DC16 /* SBStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
26C72C961243229A0068DC16 /* SBStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C72C951243229A0068DC16 /* SBStream.cpp */; };
- 26D5B0C211B07550009A862E /* Host.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EE810F1B88F00F91463 /* Host.mm */; };
- 26D5B10011B07550009A862E /* ProcessControl-mig.defs in Sources */ = {isa = PBXBuildFile; fileRef = 260C89A110F57C5600BB2B04 /* ProcessControl-mig.defs */; settings = {ATTRIBUTES = (Client, Server, ); }; };
- 26D9FDC712F784E60003F2EE /* EmulateInstruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D9FDC612F784E60003F2EE /* EmulateInstruction.h */; };
- 26D9FDCF12F7853F0003F2EE /* EmulateInstructionARM.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D9FDCD12F7853F0003F2EE /* EmulateInstructionARM.h */; };
+ 26DC6A171337FE8000FF7998 /* liblldb-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2689FFCA13353D7A00698AC0 /* liblldb-core.a */; };
+ 26DC6A1D1337FECA00FF7998 /* lldb-platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DC6A1C1337FECA00FF7998 /* lldb-platform.cpp */; };
26DE1E6B11616C2E00A093E2 /* lldb-forward-rtti.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE1E6911616C2E00A093E2 /* lldb-forward-rtti.h */; settings = {ATTRIBUTES = (Public, ); }; };
26DE1E6C11616C2E00A093E2 /* lldb-forward.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE1E6A11616C2E00A093E2 /* lldb-forward.h */; settings = {ATTRIBUTES = (Public, ); }; };
26DE204111618AB900A093E2 /* SBSymbolContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE204011618AB900A093E2 /* SBSymbolContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -396,7 +386,6 @@
26DE20611161902700A093E2 /* SBBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE20601161902600A093E2 /* SBBlock.cpp */; };
26DE20631161904200A093E2 /* SBLineEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE20621161904200A093E2 /* SBLineEntry.cpp */; };
26DE20651161904E00A093E2 /* SBSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE20641161904E00A093E2 /* SBSymbol.cpp */; };
- 26E6902F129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E6902E129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h */; };
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 */; };
@@ -404,13 +393,7 @@
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 */; };
- 26FA4316130103F400E71120 /* FileSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 26FA4315130103F400E71120 /* FileSpec.h */; };
- 4C61978D12823D4300FAFFCC /* AppleObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C61978912823D4300FAFFCC /* AppleObjCRuntime.h */; };
- 4C61978F12823D4300FAFFCC /* AppleObjCRuntimeV1.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C61978B12823D4300FAFFCC /* AppleObjCRuntimeV1.h */; };
- 4C626534130F1B0A00C889F6 /* StreamTee.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C626533130F1B0A00C889F6 /* StreamTee.h */; };
4C74CB6312288704006A8171 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C74CB6212288704006A8171 /* Carbon.framework */; };
- 4C7CF7E41295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C7CF7E31295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h */; };
- 4CC2A14D128C7409001531C4 /* ThreadPlanTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC2A14C128C7409001531C4 /* ThreadPlanTracer.h */; };
9A19A6AF1163BBB200E0D453 /* SBValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A19A6A51163BB7E00E0D453 /* SBValue.h */; settings = {ATTRIBUTES = (Public, ); }; };
9A19A6B01163BBB300E0D453 /* SBValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A19A6AD1163BB9800E0D453 /* SBValue.cpp */; };
9A357583116CFDEE00E8ED2F /* SBValueList.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A357582116CFDEE00E8ED2F /* SBValueList.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -426,9 +409,6 @@
9AC70390117675270086C050 /* SBInstructionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AC7038F117675270086C050 /* SBInstructionList.h */; settings = {ATTRIBUTES = (Public, ); }; };
9AC703AF117675410086C050 /* SBInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC703AE117675410086C050 /* SBInstruction.cpp */; };
9AC703B1117675490086C050 /* SBInstructionList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC703B0117675490086C050 /* SBInstructionList.cpp */; };
- B23DD25012EDFAC1000C3894 /* ARMUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B23DD24F12EDFAC1000C3894 /* ARMUtils.h */; };
- B287E63F12EFAE2C00C9BEFE /* ARMDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = B287E63E12EFAE2C00C9BEFE /* ARMDefines.h */; };
- B2D3033712EFA5C500F84EB3 /* InstructionUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B2D3033612EFA5C500F84EB3 /* InstructionUtils.h */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -474,6 +454,20 @@
remoteGlobalIDString = 26CE0593115C31C20022F371;
remoteInfo = "lldb-debugserver";
};
+ 26DC6A151337FE7300FF7998 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2689FFC913353D7A00698AC0;
+ remoteInfo = "lldb-core";
+ };
+ 26DC6A201338008100FF7998 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 26DC6A0F1337FE6900FF7998;
+ remoteInfo = "lldb-platform";
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@@ -950,6 +944,8 @@
26D9FDCC12F7853F0003F2EE /* EmulateInstructionARM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmulateInstructionARM.cpp; path = Instruction/ARM/EmulateInstructionARM.cpp; sourceTree = "<group>"; };
26D9FDCD12F7853F0003F2EE /* EmulateInstructionARM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmulateInstructionARM.h; path = Instruction/ARM/EmulateInstructionARM.h; sourceTree = "<group>"; };
26DAFD9711529BC7005A394E /* ExecutionContextScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExecutionContextScope.h; path = include/lldb/Target/ExecutionContextScope.h; sourceTree = "<group>"; };
+ 26DC6A101337FE6900FF7998 /* lldb-platform */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "lldb-platform"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 26DC6A1C1337FECA00FF7998 /* lldb-platform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "lldb-platform.cpp"; path = "tools/lldb-platform/lldb-platform.cpp"; sourceTree = "<group>"; };
26DE1E6911616C2E00A093E2 /* lldb-forward-rtti.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-forward-rtti.h"; path = "include/lldb/lldb-forward-rtti.h"; sourceTree = "<group>"; };
26DE1E6A11616C2E00A093E2 /* lldb-forward.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-forward.h"; path = "include/lldb/lldb-forward.h"; sourceTree = "<group>"; };
26DE204011618AB900A093E2 /* SBSymbolContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBSymbolContext.h; path = include/lldb/API/SBSymbolContext.h; sourceTree = "<group>"; };
@@ -1200,6 +1196,20 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 26DC6A0E1337FE6900FF7998 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ 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;
+ };
26F5C26810F3D9A4009D5894 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -1261,6 +1271,7 @@
26F5C26A10F3D9A4009D5894 /* lldb */,
26680207115FD0ED008E1FE4 /* LLDB.framework */,
26579F68126A25920007C5CB /* darwin-debug */,
+ 26DC6A101337FE6900FF7998 /* lldb-platform */,
);
name = Products;
sourceTree = "<group>";
@@ -2238,12 +2249,21 @@
name = ARM;
sourceTree = "<group>";
};
+ 26DC6A1B1337FEA400FF7998 /* lldb-platform */ = {
+ isa = PBXGroup;
+ children = (
+ 26DC6A1C1337FECA00FF7998 /* lldb-platform.cpp */,
+ );
+ name = "lldb-platform";
+ sourceTree = "<group>";
+ };
26F5C22410F3D950009D5894 /* Tools */ = {
isa = PBXGroup;
children = (
26579F55126A255E0007C5CB /* darwin-debug */,
265E9BE0115C2B8500D0DCCB /* debugserver */,
26F5C22510F3D956009D5894 /* Driver */,
+ 26DC6A1B1337FEA400FF7998 /* lldb-platform */,
);
name = Tools;
sourceTree = "<group>";
@@ -2438,33 +2458,6 @@
2617447A11685869005ADD65 /* SBType.h in Headers */,
9A19A6AF1163BBB200E0D453 /* SBValue.h in Headers */,
9A357583116CFDEE00E8ED2F /* SBValueList.h in Headers */,
- 2635DA87127D0D0400675BC1 /* SharingPtr.h in Headers */,
- 4C61978D12823D4300FAFFCC /* AppleObjCRuntime.h in Headers */,
- 4C61978F12823D4300FAFFCC /* AppleObjCRuntimeV1.h in Headers */,
- 4CC2A14D128C7409001531C4 /* ThreadPlanTracer.h in Headers */,
- 266A42D8128E40040090CF7C /* ClangNamespaceDecl.h in Headers */,
- 26E6902F129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h in Headers */,
- 4C7CF7E41295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h in Headers */,
- B23DD25012EDFAC1000C3894 /* ARMUtils.h in Headers */,
- B2D3033712EFA5C500F84EB3 /* InstructionUtils.h in Headers */,
- B287E63F12EFAE2C00C9BEFE /* ARMDefines.h in Headers */,
- 26D9FDC712F784E60003F2EE /* EmulateInstruction.h in Headers */,
- 26D9FDCF12F7853F0003F2EE /* EmulateInstructionARM.h in Headers */,
- 266F5CBC12FC846200DFCE33 /* Config.h in Headers */,
- 268DA872130095D000C9483A /* Terminal.h in Headers */,
- 26FA4316130103F400E71120 /* FileSpec.h in Headers */,
- 260C6EA113011578005E16B0 /* File.h in Headers */,
- 4C626534130F1B0A00C889F6 /* StreamTee.h in Headers */,
- 2618EE661315B29C001D6D71 /* GDBRemoteCommunication.h in Headers */,
- 2618EE681315B29C001D6D71 /* GDBRemoteRegisterContext.h in Headers */,
- 2618EE6A1315B29C001D6D71 /* ProcessGDBRemote.h in Headers */,
- 2618EE6C1315B29C001D6D71 /* ProcessGDBRemoteLog.h in Headers */,
- 2618EE6E1315B29C001D6D71 /* ThreadGDBRemote.h in Headers */,
- 264A43BC1320B3B4005B4096 /* Platform.h in Headers */,
- 268A68401321B53B000E3FB8 /* DynamicLoaderStatic.h in Headers */,
- 26C557811325781D008FD8FE /* PlatformMacOSX.h in Headers */,
- 2675F7011332BE690067997B /* PlatformRemoteiOS.h in Headers */,
- 26879CE61333F5750012C1F8 /* CommandObjectPlatform.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2516,6 +2509,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 2668020B115FD0EE008E1FE4 /* Build configuration list for PBXNativeTarget "LLDB" */;
buildPhases = (
+ 26DC6A5813380D4300FF7998 /* Build swig wrapper classes */,
26680202115FD0ED008E1FE4 /* Headers */,
26680203115FD0ED008E1FE4 /* Resources */,
26680204115FD0ED008E1FE4 /* Sources */,
@@ -2540,7 +2534,6 @@
buildConfigurationList = 2689FFD813353D7A00698AC0 /* Build configuration list for PBXNativeTarget "lldb-core" */;
buildPhases = (
261EECA21337D399001D193C /* Build llvm and clang */,
- 261EECA41337D4BB001D193C /* Build swig wrapper classes */,
2689FFC613353D7A00698AC0 /* Sources */,
2689FFC713353D7A00698AC0 /* Frameworks */,
2689FFC813353D7A00698AC0 /* Headers */,
@@ -2554,6 +2547,23 @@
productReference = 2689FFCA13353D7A00698AC0 /* liblldb-core.a */;
productType = "com.apple.product-type.library.dynamic";
};
+ 26DC6A0F1337FE6900FF7998 /* lldb-platform */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 26DC6A1A1337FE8B00FF7998 /* Build configuration list for PBXNativeTarget "lldb-platform" */;
+ buildPhases = (
+ 26DC6A0D1337FE6900FF7998 /* Sources */,
+ 26DC6A0E1337FE6900FF7998 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 26DC6A161337FE7300FF7998 /* PBXTargetDependency */,
+ );
+ name = "lldb-platform";
+ productName = "lldb-platform";
+ productReference = 26DC6A101337FE6900FF7998 /* lldb-platform */;
+ productType = "com.apple.product-type.tool";
+ };
26F5C26910F3D9A4009D5894 /* lldb-tool */ = {
isa = PBXNativeTarget;
buildConfigurationList = 26F5C26E10F3D9C5009D5894 /* Build configuration list for PBXNativeTarget "lldb-tool" */;
@@ -2566,6 +2576,7 @@
dependencies = (
26CE0610115C438C0022F371 /* PBXTargetDependency */,
266803621160110D008E1FE4 /* PBXTargetDependency */,
+ 26DC6A211338008100FF7998 /* PBXTargetDependency */,
);
name = "lldb-tool";
productName = lldb;
@@ -2598,6 +2609,7 @@
26680206115FD0ED008E1FE4 /* LLDB */,
26579F67126A25920007C5CB /* darwin-debug */,
2689FFC913353D7A00698AC0 /* lldb-core */,
+ 26DC6A0F1337FE6900FF7998 /* lldb-platform */,
);
};
/* End PBXProject section */
@@ -2657,7 +2669,7 @@
shellPath = /bin/sh;
shellScript = "perl $SRCROOT/scripts/build-llvm.pl";
};
- 261EECA41337D4BB001D193C /* Build swig wrapper classes */ = {
+ 26DC6A5813380D4300FF7998 /* Build swig wrapper classes */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -2706,8 +2718,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 26D5B0C211B07550009A862E /* Host.mm in Sources */,
- 26D5B10011B07550009A862E /* ProcessControl-mig.defs in Sources */,
26680324116005D9008E1FE4 /* SBThread.cpp in Sources */,
26680326116005DB008E1FE4 /* SBTarget.cpp in Sources */,
26680327116005DC008E1FE4 /* SBSourceManager.cpp in Sources */,
@@ -2742,6 +2752,7 @@
9AA69DB1118A024600D753A0 /* SBInputReader.cpp in Sources */,
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */,
26C72C961243229A0068DC16 /* SBStream.cpp in Sources */,
+ 26B1FA1413380E61002886E2 /* LLDBWrapPython.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2877,7 +2888,6 @@
2689007B13353E1A00698AC0 /* CFCString.cpp in Sources */,
2689007C13353E1A00698AC0 /* Symbols.cpp in Sources */,
2689007D13353E2200698AC0 /* Args.cpp in Sources */,
- 2689007E13353E2200698AC0 /* LLDBWrapPython.cpp in Sources */,
2689007F13353E2200698AC0 /* CommandCompletions.cpp in Sources */,
2689008013353E2200698AC0 /* CommandInterpreter.cpp in Sources */,
2689008113353E2200698AC0 /* CommandObject.cpp in Sources */,
@@ -3027,6 +3037,15 @@
2689011113353E8200698AC0 /* StringExtractor.cpp in Sources */,
2689011213353E8200698AC0 /* StringExtractorGDBRemote.cpp in Sources */,
2689011313353E8200698AC0 /* PseudoTerminal.cpp in Sources */,
+ 26B1FCC21338115F002886E2 /* Host.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 26DC6A0D1337FE6900FF7998 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 26DC6A1D1337FECA00FF7998 /* lldb-platform.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3068,6 +3087,16 @@
name = "lldb-debugserver";
targetProxy = 26CE060F115C438C0022F371 /* PBXContainerItemProxy */;
};
+ 26DC6A161337FE7300FF7998 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 2689FFC913353D7A00698AC0 /* lldb-core */;
+ targetProxy = 26DC6A151337FE7300FF7998 /* PBXContainerItemProxy */;
+ };
+ 26DC6A211338008100FF7998 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 26DC6A0F1337FE6900FF7998 /* lldb-platform */;
+ targetProxy = 26DC6A201338008100FF7998 /* PBXContainerItemProxy */;
+ };
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
@@ -3211,7 +3240,7 @@
"$(LLVM_BUILD_DIR)",
);
LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
- LLVM_CONFIGURATION = "Debug+Asserts";
+ LLVM_CONFIGURATION = Release;
OTHER_CFLAGS = "-Wparentheses";
OTHER_CPLUSPLUSFLAGS = (
"-fno-rtti",
@@ -3219,7 +3248,6 @@
"$(OTHER_CFLAGS)",
);
OTHER_LDFLAGS = (
- "-lllvmclang",
"-framework",
Foundation,
"-framework",
@@ -3264,7 +3292,7 @@
"$(LLVM_BUILD_DIR)",
);
LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
- LLVM_CONFIGURATION = "Debug+Asserts";
+ LLVM_CONFIGURATION = Release;
OTHER_CFLAGS = "-Wparentheses";
OTHER_CPLUSPLUSFLAGS = (
"-fno-rtti",
@@ -3272,7 +3300,6 @@
"$(OTHER_CFLAGS)",
);
OTHER_LDFLAGS = (
- "-lllvmclang",
"-framework",
Foundation,
"-framework",
@@ -3291,6 +3318,8 @@
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 46;
+ DYLIB_CURRENT_VERSION = 46;
EXECUTABLE_EXTENSION = a;
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
@@ -3299,7 +3328,11 @@
__STDC_LIMIT_MACROS,
LLDB_CONFIGURATION_DEBUG,
);
- LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/lldb-core.a";
+ LD_DYLIB_INSTALL_NAME = "/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/lldb-core.a";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LLVM_BUILD_DIR)",
+ );
LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
LLVM_CONFIGURATION = Release;
MACH_O_TYPE = staticlib;
@@ -3310,10 +3343,12 @@
"-Wglobal-constructors",
"$(OTHER_CFLAGS)",
);
+ OTHER_LDFLAGS = "-lllvmclang";
PRODUCT_NAME = "lib$(TARGET_NAME)";
SDKROOT = macosx;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/source $(SRCROOT)/source/Plugins/Process/Utility $(SRCROOT)/include $(SRCROOT)/source/Host/macosx/cfcpp $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include";
+ VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
@@ -3322,7 +3357,9 @@
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = YES;
+ CURRENT_PROJECT_VERSION = 46;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DYLIB_CURRENT_VERSION = 46;
EXECUTABLE_EXTENSION = a;
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
@@ -3331,7 +3368,12 @@
__STDC_LIMIT_MACROS,
LLDB_CONFIGURATION_RELEASE,
);
- LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/lldb-core.a";
+ LD_DYLIB_INSTALL_NAME = "/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/lldb-core.a";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LLVM_BUILD_DIR)",
+ );
+ LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
LLVM_CONFIGURATION = Release;
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.6;
@@ -3341,10 +3383,12 @@
"-Wglobal-constructors",
"$(OTHER_CFLAGS)",
);
+ OTHER_LDFLAGS = "-lllvmclang";
PRODUCT_NAME = "lib$(TARGET_NAME)";
SDKROOT = macosx;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/source $(SRCROOT)/source/Plugins/Process/Utility $(SRCROOT)/include $(SRCROOT)/source/Host/macosx/cfcpp $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include";
+ VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
@@ -3353,7 +3397,9 @@
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = YES;
+ CURRENT_PROJECT_VERSION = 46;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DYLIB_CURRENT_VERSION = 46;
EXECUTABLE_EXTENSION = a;
GCC_ENABLE_OBJC_GC = supported;
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
@@ -3362,7 +3408,12 @@
__STDC_LIMIT_MACROS,
LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
);
- LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/lldb-core.a";
+ LD_DYLIB_INSTALL_NAME = "/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/lldb-core.a";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LLVM_BUILD_DIR)",
+ );
+ LLVM_BUILD_DIR = "$(DERIVED_FILE_DIR)/llvm.build";
LLVM_CONFIGURATION = Release;
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.6;
@@ -3372,10 +3423,12 @@
"-Wglobal-constructors",
"$(OTHER_CFLAGS)",
);
+ OTHER_LDFLAGS = "-lllvmclang";
PRODUCT_NAME = "lib$(TARGET_NAME)";
SDKROOT = macosx;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/source $(SRCROOT)/source/Plugins/Process/Utility $(SRCROOT)/include $(SRCROOT)/source/Host/macosx/cfcpp $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include";
+ VERSIONING_SYSTEM = "apple-generic";
};
name = BuildAndIntegration;
};
@@ -3475,7 +3528,7 @@
"$(LLVM_BUILD_DIR)",
);
LLVM_BUILD_DIR = "$(DERIVED_FILE_DIR)/llvm.build";
- LLVM_CONFIGURATION = "Debug+Asserts";
+ LLVM_CONFIGURATION = Release;
OTHER_CFLAGS = "-Wparentheses";
OTHER_CPLUSPLUSFLAGS = (
"-fno-rtti",
@@ -3483,7 +3536,6 @@
"$(OTHER_CFLAGS)",
);
OTHER_LDFLAGS = (
- "-lllvmclang",
"-framework",
Foundation,
"-framework",
@@ -3497,6 +3549,78 @@
};
name = BuildAndIntegration;
};
+ 26DC6A121337FE6A00FF7998 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
+ );
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ INSTALL_PATH = /usr/local/bin;
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "lldb-platform";
+ USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include $(SRCROOT)/source/Plugins/Process/gdb-remote $(SRCROOT)/source";
+ };
+ name = Debug;
+ };
+ 26DC6A131337FE6A00FF7998 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
+ );
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_MODEL_TUNING = G5;
+ INSTALL_PATH = /usr/local/bin;
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "lldb-platform";
+ USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include $(SRCROOT)/source/Plugins/Process/gdb-remote $(SRCROOT)/source";
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
+ 26DC6A141337FE6A00FF7998 /* BuildAndIntegration */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
+ );
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_MODEL_TUNING = G5;
+ INSTALL_PATH = /usr/local/bin;
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "lldb-platform";
+ USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include $(SRCROOT)/source/Plugins/Process/gdb-remote $(SRCROOT)/source";
+ };
+ name = BuildAndIntegration;
+ };
26F5C26C10F3D9A5009D5894 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -3614,6 +3738,16 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = BuildAndIntegration;
};
+ 26DC6A1A1337FE8B00FF7998 /* Build configuration list for PBXNativeTarget "lldb-platform" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 26DC6A121337FE6A00FF7998 /* Debug */,
+ 26DC6A131337FE6A00FF7998 /* Release */,
+ 26DC6A141337FE6A00FF7998 /* BuildAndIntegration */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = BuildAndIntegration;
+ };
26F5C26E10F3D9C5009D5894 /* Build configuration list for PBXNativeTarget "lldb-tool" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/lldb/scripts/lldb.swig b/lldb/scripts/lldb.swig
index ff0463305d6..c34e7e9013e 100644
--- a/lldb/scripts/lldb.swig
+++ b/lldb/scripts/lldb.swig
@@ -205,14 +205,17 @@
// and is used when a script command is attached to a breakpoint for execution.
SWIGEXPORT bool
-LLDBSWIGPythonBreakpointCallbackFunction
+LLDBSwigPythonBreakpointCallbackFunction
(
const char *python_function_name,
const char *session_dictionary_name,
- lldb::SBFrame& sb_frame,
- lldb::SBBreakpointLocation& sb_bp_loc
+ const lldb::StackFrameSP& frame_sp,
+ const lldb::BreakpointLocationSP& bp_loc_sp
)
{
+ lldb::SBFrame sb_frame (frame_sp);
+ lldb::SBBreakpointLocation sb_bp_loc(bp_loc_sp);
+
bool stop_at_breakpoint = true;
PyObject *Frame_PyObj = SWIG_NewPointerObj((void *) &sb_frame, SWIGTYPE_p_lldb__SBFrame, 0);
PyObject *Bp_Loc_PyObj = SWIG_NewPointerObj ((void *) &sb_bp_loc, SWIGTYPE_p_lldb__SBBreakpointLocation, 0);
diff --git a/lldb/source/API/SBCommandInterpreter.cpp b/lldb/source/API/SBCommandInterpreter.cpp
index 443545df972..0f1914b6f95 100644
--- a/lldb/source/API/SBCommandInterpreter.cpp
+++ b/lldb/source/API/SBCommandInterpreter.cpp
@@ -305,4 +305,25 @@ SBCommandInterpreter::GetArgumentDescriptionAsCString (const lldb::CommandArgume
}
+extern "C" bool
+LLDBSwigPythonBreakpointCallbackFunction
+(
+ const char *python_function_name,
+ const char *session_dictionary_name,
+ const lldb::StackFrameSP& sb_frame,
+ const lldb::BreakpointLocationSP& sb_bp_loc
+);
+extern "C" void init_lldb(void);
+
+void
+SBCommandInterpreter::InitializeSWIG ()
+{
+ static bool g_initialized = false;
+ if (!g_initialized)
+ {
+ g_initialized = true;
+ ScriptInterpreter::InitializeInterpreter (init_lldb,
+ LLDBSwigPythonBreakpointCallbackFunction);
+ }
+}
diff --git a/lldb/source/API/SBDebugger.cpp b/lldb/source/API/SBDebugger.cpp
index f871524dd06..57fff384788 100644
--- a/lldb/source/API/SBDebugger.cpp
+++ b/lldb/source/API/SBDebugger.cpp
@@ -42,6 +42,8 @@ SBDebugger::Initialize ()
if (log)
log->Printf ("SBDebugger::Initialize ()");
+ SBCommandInterpreter::InitializeSWIG ();
+
Debugger::Initialize();
}
diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp
index fd1e10abfbc..7011c2e7f2b 100644
--- a/lldb/source/Interpreter/ScriptInterpreter.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreter.cpp
@@ -91,14 +91,16 @@ ScriptInterpreter::LanguageToString (lldb::ScriptLanguage language)
}
void
-ScriptInterpreter::Initialize ()
+ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_callback,
+ SWIGBreakpointCallbackFunction python_swig_breakpoint_callback)
{
-// ScriptInterpreterPython::Initialize ();
+ ScriptInterpreterPython::InitializeInterpreter (python_swig_init_callback,
+ python_swig_breakpoint_callback);
}
void
-ScriptInterpreter::Terminate ()
+ScriptInterpreter::TerminateInterpreter ()
{
-// ScriptInterpreterPython::Terminate ();
+ ScriptInterpreterPython::TerminateInterpreter ();
}
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
index c8dfec513cc..10b9792f009 100644
--- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
@@ -28,22 +28,13 @@
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Target/Thread.h"
-// This function is in the C++ output file generated by SWIG after it is
-// run on all of the headers in "lldb/API/SB*.h"
-extern "C" void init_lldb (void);
-
-extern "C" bool
-LLDBSWIGPythonBreakpointCallbackFunction
-(
- const char *python_function_name,
- const char *session_dictionary_name,
- lldb::SBFrame& sb_frame,
- lldb::SBBreakpointLocation& sb_bp_loc
-);
-
using namespace lldb;
using namespace lldb_private;
+
+static ScriptInterpreter::SWIGInitCallback g_swig_init_callback = NULL;
+static ScriptInterpreter::SWIGBreakpointCallbackFunction g_swig_breakpoint_callback = NULL;
+
const char embedded_interpreter_string[] =
"import readline\n\
import code\n\
@@ -212,7 +203,7 @@ ScriptInterpreterPython::ScriptInterpreterPython (CommandInterpreter &interprete
if (!g_initialized)
{
g_initialized = true;
- ScriptInterpreterPython::Initialize ();
+ ScriptInterpreterPython::InitializePrivate ();
}
bool safe_to_run = false;
@@ -1288,38 +1279,40 @@ ScriptInterpreterPython::BreakpointCallbackFunction
&& python_function_name[0] != '\0')
{
Thread *thread = context->exe_ctx.thread;
- const StackFrameSP stop_frame_sp = thread->GetStackFrameSPForStackFramePtr (context->exe_ctx.frame);
+ const StackFrameSP stop_frame_sp (thread->GetStackFrameSPForStackFramePtr (context->exe_ctx.frame));
BreakpointSP breakpoint_sp = target->GetBreakpointByID (break_id);
- const BreakpointLocationSP bp_loc_sp = breakpoint_sp->FindLocationByID (break_loc_id);
-
- SBFrame sb_frame (stop_frame_sp);
- SBBreakpointLocation sb_bp_loc (bp_loc_sp);
-
- if (sb_bp_loc.IsValid() || sb_frame.IsValid())
+ if (breakpoint_sp)
{
- bool ret_val = true;
- FILE *tmp_fh = (python_interpreter->m_dbg_stdout ? python_interpreter->m_dbg_stdout : stdout);
- if (CurrentThreadHasPythonLock())
- {
- python_interpreter->EnterSession ();
- ret_val = LLDBSWIGPythonBreakpointCallbackFunction(python_function_name,
- python_interpreter->m_dictionary_name.c_str(),
- sb_frame, sb_bp_loc);
- python_interpreter->LeaveSession ();
- }
- else
+ const BreakpointLocationSP bp_loc_sp (breakpoint_sp->FindLocationByID (break_loc_id));
+
+ if (stop_frame_sp && bp_loc_sp)
{
- while (!GetPythonLock (1))
- fprintf (tmp_fh,
- "Python interpreter locked on another thread; waiting to acquire lock...\n");
- python_interpreter->EnterSession ();
- ret_val = LLDBSWIGPythonBreakpointCallbackFunction(python_function_name,
- python_interpreter->m_dictionary_name.c_str(),
- sb_frame, sb_bp_loc);
- python_interpreter->LeaveSession ();
- ReleasePythonLock ();
+ bool ret_val = true;
+ FILE *tmp_fh = (python_interpreter->m_dbg_stdout ? python_interpreter->m_dbg_stdout : stdout);
+ if (CurrentThreadHasPythonLock())
+ {
+ python_interpreter->EnterSession ();
+ ret_val = g_swig_breakpoint_callback (python_function_name,
+ python_interpreter->m_dictionary_name.c_str(),
+ stop_frame_sp,
+ bp_loc_sp);
+ python_interpreter->LeaveSession ();
+ }
+ else
+ {
+ while (!GetPythonLock (1))
+ fprintf (tmp_fh,
+ "Python interpreter locked on another thread; waiting to acquire lock...\n");
+ python_interpreter->EnterSession ();
+ ret_val = g_swig_breakpoint_callback (python_function_name,
+ python_interpreter->m_dictionary_name.c_str(),
+ stop_frame_sp,
+ bp_loc_sp);
+ python_interpreter->LeaveSession ();
+ ReleasePythonLock ();
+ }
+ return ret_val;
}
- return ret_val;
}
}
// We currently always true so we stop in case anything goes wrong when
@@ -1447,7 +1440,15 @@ ScriptInterpreterPython::RunEmbeddedPythonInterpreter (lldb::thread_arg_t baton)
void
-ScriptInterpreterPython::Initialize ()
+ScriptInterpreterPython::InitializeInterpreter (SWIGInitCallback python_swig_init_callback,
+ SWIGBreakpointCallbackFunction python_swig_breakpoint_callback)
+{
+ g_swig_init_callback = python_swig_init_callback;
+ g_swig_breakpoint_callback = python_swig_breakpoint_callback;
+}
+
+void
+ScriptInterpreterPython::InitializePrivate ()
{
Timer scoped_timer (__PRETTY_FUNCTION__, __PRETTY_FUNCTION__);
@@ -1506,9 +1507,9 @@ ScriptInterpreterPython::Initialize ()
}
- // This function is in the C++ output file generated by SWIG after it is
- // run on all of the headers in "lldb/API/SB*.h"
- init_lldb ();
+ // Initialize SWIG after setting up python
+ assert (g_swig_init_callback != NULL);
+ g_swig_init_callback ();
// Update the path python uses to search for modules to include the current directory.
@@ -1536,20 +1537,20 @@ ScriptInterpreterPython::Initialize ()
stdin_tty_state.Restore();
}
-void
-ScriptInterpreterPython::Terminate ()
-{
- // We are intentionally NOT calling Py_Finalize here (this would be the logical place to call it). Calling
- // Py_Finalize here causes test suite runs to seg fault: The test suite runs in Python. It registers
- // SBDebugger::Terminate to be called 'at_exit'. When the test suite Python harness finishes up, it calls
- // Py_Finalize, which calls all the 'at_exit' registered functions. SBDebugger::Terminate calls Debugger::Terminate,
- // which calls lldb::Terminate, which calls ScriptInterpreter::Terminate, which calls
- // ScriptInterpreterPython::Terminate. So if we call Py_Finalize here, we end up with Py_Finalize being called from
- // within Py_Finalize, which results in a seg fault.
- //
- // Since this function only gets called when lldb is shutting down and going away anyway, the fact that we don't
- // actually call Py_Finalize should not cause any problems (everything should shut down/go away anyway when the
- // process exits).
- //
-// Py_Finalize ();
-}
+//void
+//ScriptInterpreterPython::Terminate ()
+//{
+// // We are intentionally NOT calling Py_Finalize here (this would be the logical place to call it). Calling
+// // Py_Finalize here causes test suite runs to seg fault: The test suite runs in Python. It registers
+// // SBDebugger::Terminate to be called 'at_exit'. When the test suite Python harness finishes up, it calls
+// // Py_Finalize, which calls all the 'at_exit' registered functions. SBDebugger::Terminate calls Debugger::Terminate,
+// // which calls lldb::Terminate, which calls ScriptInterpreter::Terminate, which calls
+// // ScriptInterpreterPython::Terminate. So if we call Py_Finalize here, we end up with Py_Finalize being called from
+// // within Py_Finalize, which results in a seg fault.
+// //
+// // Since this function only gets called when lldb is shutting down and going away anyway, the fact that we don't
+// // actually call Py_Finalize should not cause any problems (everything should shut down/go away anyway when the
+// // process exits).
+// //
+//// Py_Finalize ();
+//}
diff --git a/lldb/source/lldb.cpp b/lldb/source/lldb.cpp
index b2c2de9bc1d..6f219d446ff 100644
--- a/lldb/source/lldb.cpp
+++ b/lldb/source/lldb.cpp
@@ -17,7 +17,6 @@
#include "lldb/Core/Timer.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/Mutex.h"
-#include "lldb/Interpreter/ScriptInterpreter.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
@@ -85,7 +84,6 @@ lldb_private::Initialize ()
ArchDefaultUnwindPlan_x86_64::Initialize();
ArchDefaultUnwindPlan_i386::Initialize();
ArchVolatileRegs_x86::Initialize();
- ScriptInterpreter::Initialize ();
#if defined (__APPLE__)
ABIMacOSX_i386::Initialize();
@@ -142,7 +140,6 @@ lldb_private::Terminate ()
ArchDefaultUnwindPlan_i386::Terminate();
ArchDefaultUnwindPlan_x86_64::Terminate();
ArchVolatileRegs_x86::Terminate();
- ScriptInterpreter::Terminate ();
#if defined (__APPLE__)
DynamicLoaderMacOSXDYLD::Terminate();
@@ -172,13 +169,13 @@ lldb_private::Terminate ()
Log::Terminate();
}
-extern "C" const double LLDBVersionNumber;
+extern "C" const double liblldb_coreVersionNumber;
const char *
lldb_private::GetVersion ()
{
static char g_version_string[32];
if (g_version_string[0] == '\0')
- ::snprintf (g_version_string, sizeof(g_version_string), "LLDB-%g", LLDBVersionNumber);
+ ::snprintf (g_version_string, sizeof(g_version_string), "LLDB-%g", liblldb_coreVersionNumber);
return g_version_string;
}
diff --git a/lldb/test/abbreviation_tests/TestAbbreviations.py b/lldb/test/abbreviation_tests/TestAbbreviations.py
index ca801f280de..ed2cf5718f4 100644
--- a/lldb/test/abbreviation_tests/TestAbbreviations.py
+++ b/lldb/test/abbreviation_tests/TestAbbreviations.py
@@ -47,7 +47,7 @@ class AbbreviationsTestCase(TestBase):
self.expect("lo li",
- startstr = "Logging categories for 'lldb':")
+ startstr = "Logging categories for ")
self.runCmd("se se prompt Sycamore> ")
self.expect("se sh prompt",
diff --git a/lldb/tools/debugserver/source/RNBRemote.cpp b/lldb/tools/debugserver/source/RNBRemote.cpp
index ad5640d848a..4d061fdb741 100644
--- a/lldb/tools/debugserver/source/RNBRemote.cpp
+++ b/lldb/tools/debugserver/source/RNBRemote.cpp
@@ -3351,78 +3351,6 @@ RNBRemote::HandlePacket_qHostInfo (const char *p)
strm << "ptrsize:" << std::dec << sizeof(void *) << ';';
return SendPacket (strm.str());
}
-//
-//struct ProcessInfo
-//{
-// nub_process_t pid;
-// std::string name;
-// std::string user;
-// std::string group;
-// uint32_t cpu; // mach-o cpu type
-// uint32_t sub; // mach-o cpu subtype
-//
-// void
-// Clear()
-// {
-// pid = 0;
-// name.clear();
-// user.clear();
-// group.clear();
-// cpu = 0;
-// sub = 0;
-// }
-//};
-//
-//static bool
-//GetMacOSXProcessName (ProcessInfo &proc_info,
-// const char *name_match) // can be NULL
-//{
-// char process_name[MAXCOMLEN * 2 + 1];
-// int name_len = ::proc_name(proc_info.pid, process_name, MAXCOMLEN * 2);
-// if (name_len == 0)
-// return false;
-//
-// if (name_match == NULL || strcmp (name_match, process_name) == 0)
-// {
-// proc_info.name.assign (process_name, name_len);
-// return true;
-// }
-// proc_info.name.clear();
-// return false;
-//}
-//
-//
-//static bool
-//GetMacOSXProcessCPUType (ProcessInfo &proc_info)
-//{
-// // Make a new mib to stay thread safe
-// int mib[CTL_MAXNAME]={0,};
-// size_t mib_len = CTL_MAXNAME;
-// if (::sysctlnametomib("sysctl.proc_cputype", mib, &mib_len))
-// return false;
-//
-// mib[mib_len] = proc_info.pid;
-// mib_len++;
-//
-// cpu_type_t cpu = 0;
-// cpu_type_t sub = 0;
-// size_t cpu_len = sizeof(cpu);
-// if (::sysctl (mib, mib_len, &cpu, &cpu_len, 0, 0) == 0)
-// {
-// switch (cpu)
-// {
-// case llvm::MachO::CPUTypeI386: sub = llvm::MachO::CPUSubType_I386_ALL; break;
-// case llvm::MachO::CPUTypeX86_64: sub = llvm::MachO::CPUSubType_X86_64_ALL; break;
-// default: break;
-// }
-// proc_info.cpu = cpu;
-// proc_info.sub = sub;
-// return true;
-// }
-// proc_info.cpu = 0;
-// proc_info.sub = 0;
-// return false;
-//}
rnb_err_t
RNBRemote::HandlePacket_qProcessInfo (const char *p)
OpenPOWER on IntegriCloud