2010-06-09 00:52:24 +08:00
|
|
|
// !$*UTF8*$!
|
|
|
|
{
|
|
|
|
archiveVersion = 1;
|
|
|
|
classes = {
|
|
|
|
};
|
|
|
|
objectVersion = 45;
|
|
|
|
objects = {
|
|
|
|
|
|
|
|
/* Begin PBXBuildFile section */
|
|
|
|
260C876A10F538E700BB2B04 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260C876910F538E700BB2B04 /* Foundation.framework */; };
|
2010-08-04 09:40:35 +08:00
|
|
|
2615DB871208A9E40021781D /* StopInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2615DB861208A9E40021781D /* StopInfo.cpp */; };
|
|
|
|
2615DBCA1208B5FC0021781D /* StopInfoMachException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2615DBC81208B5FC0021781D /* StopInfoMachException.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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, ); }; };
|
2010-09-15 07:36:40 +08:00
|
|
|
2618D7921240116900F2B8FE /* SectionLoadList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2618D7911240116900F2B8FE /* SectionLoadList.cpp */; };
|
2010-09-15 12:15:46 +08:00
|
|
|
2618D9EB12406FE600F2B8FE /* NameToDIE.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2618D9EA12406FE600F2B8FE /* NameToDIE.cpp */; };
|
2010-06-13 01:45:57 +08:00
|
|
|
261B5A5411C3F2AD00AABD0A /* SharingPtr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 261B5A5211C3F2AD00AABD0A /* SharingPtr.cpp */; };
|
2011-01-22 06:02:52 +08:00
|
|
|
2621C9CD12EA009300711A30 /* EmulateInstructionARM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2621C9CB12EA009300711A30 /* EmulateInstructionARM.cpp */; };
|
|
|
|
2621C9CE12EA009300711A30 /* EmulateInstruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 2621C9CC12EA009300711A30 /* EmulateInstruction.h */; };
|
|
|
|
2621C9D012EA066500711A30 /* EmulateInstructionARM.h in Headers */ = {isa = PBXBuildFile; fileRef = 2621C9CF12EA066500711A30 /* EmulateInstructionARM.h */; };
|
|
|
|
2621CA0B12EA107700711A30 /* EmulateInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2621CA0A12EA107700711A30 /* EmulateInstruction.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
262CFC7711A4510000946C6C /* debugserver in Resources */ = {isa = PBXBuildFile; fileRef = 26CE05A0115C31E50022F371 /* debugserver */; };
|
2010-10-31 11:01:06 +08:00
|
|
|
2635DA87127D0D0400675BC1 /* SharingPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 261B5A5311C3F2AD00AABD0A /* SharingPtr.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26368A3C126B697600E8659F /* darwin-debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26368A3B126B697600E8659F /* darwin-debug.cpp */; };
|
|
|
|
26368AF7126B960500E8659F /* darwin-debug in Resources */ = {isa = PBXBuildFile; fileRef = 26579F68126A25920007C5CB /* darwin-debug */; };
|
2010-10-05 08:00:42 +08:00
|
|
|
26424E3D125986CB0016D82C /* ValueObjectConstResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26424E3C125986CB0016D82C /* ValueObjectConstResult.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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, ); }; };
|
|
|
|
26680214115FD12C008E1FE4 /* lldb-types.h in Headers */ = {isa = PBXBuildFile; fileRef = 26BC7C2910F1B3BC00F91463 /* lldb-types.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680219115FD13D008E1FE4 /* SBBreakpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AF16A9E11402D69007A7B3F /* SBBreakpoint.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668021A115FD13D008E1FE4 /* SBBreakpointLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AF16CC611408686007A7B3F /* SBBreakpointLocation.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668021B115FD13D008E1FE4 /* SBBroadcaster.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9830F31125FC5800A56CB0 /* SBBroadcaster.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668021D115FD13D008E1FE4 /* SBCommandInterpreter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9830F71125FC5800A56CB0 /* SBCommandInterpreter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668021E115FD13D008E1FE4 /* SBCommandReturnObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9830F91125FC5800A56CB0 /* SBCommandReturnObject.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668021F115FD13D008E1FE4 /* SBCommunication.h in Headers */ = {isa = PBXBuildFile; fileRef = 260223E7115F06D500A601A2 /* SBCommunication.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680220115FD13D008E1FE4 /* SBDebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9830FB1125FC5800A56CB0 /* SBDebugger.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680221115FD13D008E1FE4 /* SBDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9830FC1125FC5800A56CB0 /* SBDefines.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680222115FD13D008E1FE4 /* SBError.h in Headers */ = {isa = PBXBuildFile; fileRef = 2682F286115EF3BD00CCFF99 /* SBError.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680223115FD13D008E1FE4 /* SBEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9830FE1125FC5800A56CB0 /* SBEvent.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680224115FD13D008E1FE4 /* SBFileSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 26022531115F27FA00A601A2 /* SBFileSpec.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680225115FD13D008E1FE4 /* SBFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A633FE8112DCE3C001A7E43 /* SBFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26680227115FD13D008E1FE4 /* SBListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9831021125FC5800A56CB0 /* SBListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668022A115FD13D008E1FE4 /* SBProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9831041125FC5800A56CB0 /* SBProcess.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
2668022B115FD13D008E1FE4 /* SBSourceManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9831061125FC5800A56CB0 /* SBSourceManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
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 */; };
|
2010-10-29 05:51:20 +08:00
|
|
|
26680232115FD1A4008E1FE4 /* libpython.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32410F3DF23009D5894 /* libpython.dylib */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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 */; };
|
|
|
|
26680327116005DC008E1FE4 /* SBSourceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9831051125FC5800A56CB0 /* SBSourceManager.cpp */; };
|
|
|
|
26680328116005DE008E1FE4 /* SBProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9831031125FC5800A56CB0 /* SBProcess.cpp */; };
|
|
|
|
2668032A116005E0008E1FE4 /* SBListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9831011125FC5800A56CB0 /* SBListener.cpp */; };
|
|
|
|
2668032C116005E2008E1FE4 /* SBFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A633FE7112DCE3C001A7E43 /* SBFrame.cpp */; };
|
|
|
|
2668032D116005E3008E1FE4 /* SBFileSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26022532115F281400A601A2 /* SBFileSpec.cpp */; };
|
|
|
|
2668032E116005E5008E1FE4 /* SBEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9830FD1125FC5800A56CB0 /* SBEvent.cpp */; };
|
|
|
|
2668032F116005E6008E1FE4 /* SBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2682F284115EF3A700CCFF99 /* SBError.cpp */; };
|
|
|
|
26680330116005E7008E1FE4 /* SBDebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9830FA1125FC5800A56CB0 /* SBDebugger.cpp */; };
|
|
|
|
26680331116005E9008E1FE4 /* SBCommunication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260223E8115F06E500A601A2 /* SBCommunication.cpp */; };
|
|
|
|
26680332116005EA008E1FE4 /* SBCommandReturnObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9830F81125FC5800A56CB0 /* SBCommandReturnObject.cpp */; };
|
|
|
|
26680333116005EC008E1FE4 /* SBCommandInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9830F61125FC5800A56CB0 /* SBCommandInterpreter.cpp */; };
|
|
|
|
26680335116005EE008E1FE4 /* SBBroadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9830F21125FC5800A56CB0 /* SBBroadcaster.cpp */; };
|
|
|
|
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 */; };
|
2010-11-13 11:52:47 +08:00
|
|
|
266A42D6128E3FFB0090CF7C /* ClangNamespaceDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266A42D5128E3FFB0090CF7C /* ClangNamespaceDecl.cpp */; };
|
|
|
|
266A42D8128E40040090CF7C /* ClangNamespaceDecl.h in Headers */ = {isa = PBXBuildFile; fileRef = 266A42D7128E40040090CF7C /* ClangNamespaceDecl.h */; };
|
2010-10-31 11:01:06 +08:00
|
|
|
268F9D53123AA15200B91E9B /* SBSymbolContextList.h in Headers */ = {isa = PBXBuildFile; fileRef = 268F9D52123AA15200B91E9B /* SBSymbolContextList.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2010-09-11 02:31:35 +08:00
|
|
|
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268F9D54123AA16600B91E9B /* SBSymbolContextList.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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, ); }; };
|
2010-10-31 11:01:06 +08:00
|
|
|
26C72C94124322890068DC16 /* SBStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C72C93124322890068DC16 /* SBStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2010-09-18 01:42:16 +08:00
|
|
|
26C72C961243229A0068DC16 /* SBStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C72C951243229A0068DC16 /* SBStream.cpp */; };
|
2010-07-14 08:20:31 +08:00
|
|
|
26D27C9F11ED3A4E0024D721 /* ELFHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D27C9D11ED3A4E0024D721 /* ELFHeader.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26D5B06511B07550009A862E /* StoppointCallbackContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0910F1B83100F91463 /* StoppointCallbackContext.cpp */; };
|
|
|
|
26D5B06611B07550009A862E /* Breakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0A10F1B83100F91463 /* Breakpoint.cpp */; };
|
|
|
|
26D5B06711B07550009A862E /* BreakpointID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0B10F1B83100F91463 /* BreakpointID.cpp */; };
|
|
|
|
26D5B06811B07550009A862E /* BreakpointIDList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0C10F1B83100F91463 /* BreakpointIDList.cpp */; };
|
|
|
|
26D5B06911B07550009A862E /* BreakpointList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0D10F1B83100F91463 /* BreakpointList.cpp */; };
|
|
|
|
26D5B06A11B07550009A862E /* BreakpointLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0E10F1B83100F91463 /* BreakpointLocation.cpp */; };
|
|
|
|
26D5B06B11B07550009A862E /* BreakpointLocationCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E0F10F1B83100F91463 /* BreakpointLocationCollection.cpp */; };
|
|
|
|
26D5B06C11B07550009A862E /* BreakpointLocationList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1010F1B83100F91463 /* BreakpointLocationList.cpp */; };
|
|
|
|
26D5B06D11B07550009A862E /* BreakpointOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1110F1B83100F91463 /* BreakpointOptions.cpp */; };
|
|
|
|
26D5B06E11B07550009A862E /* BreakpointResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1210F1B83100F91463 /* BreakpointResolver.cpp */; };
|
|
|
|
26D5B06F11B07550009A862E /* BreakpointSite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1310F1B83100F91463 /* BreakpointSite.cpp */; };
|
|
|
|
26D5B07011B07550009A862E /* BreakpointSiteList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1410F1B83100F91463 /* BreakpointSiteList.cpp */; };
|
|
|
|
26D5B07111B07550009A862E /* SearchFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1510F1B83100F91463 /* SearchFilter.cpp */; };
|
|
|
|
26D5B07211B07550009A862E /* Stoppoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1610F1B83100F91463 /* Stoppoint.cpp */; };
|
|
|
|
26D5B07311B07550009A862E /* StoppointLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1710F1B83100F91463 /* StoppointLocation.cpp */; };
|
|
|
|
26D5B07411B07550009A862E /* WatchpointLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E1810F1B83100F91463 /* WatchpointLocation.cpp */; };
|
|
|
|
26D5B07711B07550009A862E /* CommandObjectBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E2D10F1B84700F91463 /* CommandObjectBreakpoint.cpp */; };
|
|
|
|
26D5B07911B07550009A862E /* CommandObjectDisassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3010F1B84700F91463 /* CommandObjectDisassemble.cpp */; };
|
|
|
|
26D5B07A11B07550009A862E /* CommandObjectExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3110F1B84700F91463 /* CommandObjectExpression.cpp */; };
|
|
|
|
26D5B07B11B07550009A862E /* CommandObjectFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3210F1B84700F91463 /* CommandObjectFile.cpp */; };
|
|
|
|
26D5B07C11B07550009A862E /* CommandObjectHelp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3310F1B84700F91463 /* CommandObjectHelp.cpp */; };
|
|
|
|
26D5B07D11B07550009A862E /* CommandObjectImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3410F1B84700F91463 /* CommandObjectImage.cpp */; };
|
|
|
|
26D5B07F11B07550009A862E /* CommandObjectMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3610F1B84700F91463 /* CommandObjectMemory.cpp */; };
|
|
|
|
26D5B08011B07550009A862E /* CommandObjectProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3810F1B84700F91463 /* CommandObjectProcess.cpp */; };
|
|
|
|
26D5B08111B07550009A862E /* CommandObjectQuit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3910F1B84700F91463 /* CommandObjectQuit.cpp */; };
|
|
|
|
26D5B08211B07550009A862E /* CommandObjectRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3B10F1B84700F91463 /* CommandObjectRegister.cpp */; };
|
|
|
|
26D5B08311B07550009A862E /* CommandObjectScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E3D10F1B84700F91463 /* CommandObjectScript.cpp */; };
|
|
|
|
26D5B08611B07550009A862E /* CommandObjectSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E4010F1B84700F91463 /* CommandObjectSettings.cpp */; };
|
|
|
|
26D5B08811B07550009A862E /* CommandObjectSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E4210F1B84700F91463 /* CommandObjectSource.cpp */; };
|
|
|
|
26D5B08B11B07550009A862E /* CommandObjectSyntax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E4510F1B84700F91463 /* CommandObjectSyntax.cpp */; };
|
|
|
|
26D5B08C11B07550009A862E /* CommandObjectThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E4610F1B84700F91463 /* CommandObjectThread.cpp */; };
|
|
|
|
26D5B08E11B07550009A862E /* Address.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6910F1B85900F91463 /* Address.cpp */; };
|
|
|
|
26D5B08F11B07550009A862E /* AddressRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6A10F1B85900F91463 /* AddressRange.cpp */; };
|
|
|
|
26D5B09011B07550009A862E /* ArchSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6B10F1B85900F91463 /* ArchSpec.cpp */; };
|
|
|
|
26D5B09111B07550009A862E /* Args.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6C10F1B85900F91463 /* Args.cpp */; };
|
|
|
|
26D5B09211B07550009A862E /* Broadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6D10F1B85900F91463 /* Broadcaster.cpp */; };
|
|
|
|
26D5B09311B07550009A862E /* Communication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6E10F1B85900F91463 /* Communication.cpp */; };
|
|
|
|
26D5B09411B07550009A862E /* Connection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E6F10F1B85900F91463 /* Connection.cpp */; };
|
|
|
|
26D5B09511B07550009A862E /* ConnectionFileDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7010F1B85900F91463 /* ConnectionFileDescriptor.cpp */; };
|
|
|
|
26D5B09611B07550009A862E /* DataExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7110F1B85900F91463 /* DataExtractor.cpp */; };
|
|
|
|
26D5B09711B07550009A862E /* DataBufferHeap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7210F1B85900F91463 /* DataBufferHeap.cpp */; };
|
|
|
|
26D5B09811B07550009A862E /* DataBufferMemoryMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7310F1B85900F91463 /* DataBufferMemoryMap.cpp */; };
|
|
|
|
26D5B09911B07550009A862E /* lldb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7410F1B85900F91463 /* lldb.cpp */; };
|
|
|
|
26D5B09A11B07550009A862E /* lldb-log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7510F1B85900F91463 /* lldb-log.cpp */; };
|
|
|
|
26D5B09B11B07550009A862E /* Disassembler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7610F1B85900F91463 /* Disassembler.cpp */; };
|
|
|
|
26D5B09C11B07550009A862E /* DynamicLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7710F1B85900F91463 /* DynamicLoader.cpp */; };
|
|
|
|
26D5B09D11B07550009A862E /* Error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7810F1B85900F91463 /* Error.cpp */; };
|
|
|
|
26D5B09E11B07550009A862E /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7910F1B85900F91463 /* Event.cpp */; };
|
|
|
|
26D5B09F11B07550009A862E /* FileSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7A10F1B85900F91463 /* FileSpec.cpp */; };
|
|
|
|
26D5B0A011B07550009A862E /* FileSpecList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7B10F1B85900F91463 /* FileSpecList.cpp */; };
|
|
|
|
26D5B0A211B07550009A862E /* Language.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7D10F1B85900F91463 /* Language.cpp */; };
|
|
|
|
26D5B0A311B07550009A862E /* Listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7E10F1B85900F91463 /* Listener.cpp */; };
|
|
|
|
26D5B0A411B07550009A862E /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E7F10F1B85900F91463 /* Log.cpp */; };
|
|
|
|
26D5B0A511B07550009A862E /* Mangled.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8010F1B85900F91463 /* Mangled.cpp */; };
|
|
|
|
26D5B0A611B07550009A862E /* Module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8110F1B85900F91463 /* Module.cpp */; };
|
|
|
|
26D5B0A711B07550009A862E /* ModuleChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8210F1B85900F91463 /* ModuleChild.cpp */; };
|
|
|
|
26D5B0A811B07550009A862E /* ModuleList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8310F1B85900F91463 /* ModuleList.cpp */; };
|
|
|
|
26D5B0A911B07550009A862E /* Options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8610F1B85900F91463 /* Options.cpp */; };
|
|
|
|
26D5B0AA11B07550009A862E /* PluginManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8A10F1B85900F91463 /* PluginManager.cpp */; };
|
|
|
|
26D5B0AB11B07550009A862E /* RegularExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8C10F1B85900F91463 /* RegularExpression.cpp */; };
|
|
|
|
26D5B0AC11B07550009A862E /* Scalar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8D10F1B85900F91463 /* Scalar.cpp */; };
|
|
|
|
26D5B0AD11B07550009A862E /* Section.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8E10F1B85900F91463 /* Section.cpp */; };
|
|
|
|
26D5B0AE11B07550009A862E /* SourceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E8F10F1B85900F91463 /* SourceManager.cpp */; };
|
|
|
|
26D5B0AF11B07550009A862E /* State.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9010F1B85900F91463 /* State.cpp */; };
|
|
|
|
26D5B0B011B07550009A862E /* Stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9110F1B85900F91463 /* Stream.cpp */; };
|
|
|
|
26D5B0B111B07550009A862E /* StreamFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9210F1B85900F91463 /* StreamFile.cpp */; };
|
|
|
|
26D5B0B211B07550009A862E /* StreamString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9310F1B85900F91463 /* StreamString.cpp */; };
|
|
|
|
26D5B0B311B07550009A862E /* ConstString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9410F1B85900F91463 /* ConstString.cpp */; };
|
|
|
|
26D5B0B411B07550009A862E /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9610F1B85900F91463 /* Timer.cpp */; };
|
|
|
|
26D5B0B511B07550009A862E /* TTYState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9710F1B85900F91463 /* TTYState.cpp */; };
|
|
|
|
26D5B0B611B07550009A862E /* UserID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9810F1B85900F91463 /* UserID.cpp */; };
|
|
|
|
26D5B0B711B07550009A862E /* Value.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9910F1B85900F91463 /* Value.cpp */; };
|
|
|
|
26D5B0B811B07550009A862E /* ValueObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9A10F1B85900F91463 /* ValueObject.cpp */; };
|
|
|
|
26D5B0B911B07550009A862E /* ValueObjectChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9B10F1B85900F91463 /* ValueObjectChild.cpp */; };
|
|
|
|
26D5B0BA11B07550009A862E /* ValueObjectList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9C10F1B85900F91463 /* ValueObjectList.cpp */; };
|
|
|
|
26D5B0BB11B07550009A862E /* ValueObjectVariable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9D10F1B85900F91463 /* ValueObjectVariable.cpp */; };
|
|
|
|
26D5B0BC11B07550009A862E /* VMRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7E9E10F1B85900F91463 /* VMRange.cpp */; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
26D5B0BD11B07550009A862E /* ClangUserExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7ED510F1B86700F91463 /* ClangUserExpression.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26D5B0BE11B07550009A862E /* ClangExpressionVariable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7ED610F1B86700F91463 /* ClangExpressionVariable.cpp */; };
|
|
|
|
26D5B0C211B07550009A862E /* Host.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EE810F1B88F00F91463 /* Host.mm */; };
|
|
|
|
26D5B0C411B07550009A862E /* CFCBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EED10F1B8AD00F91463 /* CFCBundle.cpp */; };
|
|
|
|
26D5B0C511B07550009A862E /* CFCData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EEF10F1B8AD00F91463 /* CFCData.cpp */; };
|
|
|
|
26D5B0C611B07550009A862E /* CFCMutableArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EF110F1B8AD00F91463 /* CFCMutableArray.cpp */; };
|
|
|
|
26D5B0C711B07550009A862E /* CFCMutableDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EF310F1B8AD00F91463 /* CFCMutableDictionary.cpp */; };
|
|
|
|
26D5B0C811B07550009A862E /* CFCMutableSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EF510F1B8AD00F91463 /* CFCMutableSet.cpp */; };
|
|
|
|
26D5B0C911B07550009A862E /* CFCString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7EF810F1B8AD00F91463 /* CFCString.cpp */; };
|
|
|
|
26D5B0CB11B07550009A862E /* CommandInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F0810F1B8DD00F91463 /* CommandInterpreter.cpp */; };
|
|
|
|
26D5B0CC11B07550009A862E /* CommandObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F0910F1B8DD00F91463 /* CommandObject.cpp */; };
|
|
|
|
26D5B0CD11B07550009A862E /* CommandReturnObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F0A10F1B8DD00F91463 /* CommandReturnObject.cpp */; };
|
|
|
|
26D5B0CF11B07550009A862E /* ScriptInterpreterPython.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F0C10F1B8DD00F91463 /* ScriptInterpreterPython.cpp */; };
|
|
|
|
26D5B0D011B07550009A862E /* Block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1310F1B8EC00F91463 /* Block.cpp */; };
|
|
|
|
26D5B0D111B07550009A862E /* ClangASTContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1410F1B8EC00F91463 /* ClangASTContext.cpp */; settings = {COMPILER_FLAGS = "-fno-rtti"; }; };
|
|
|
|
26D5B0D211B07550009A862E /* CompileUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1510F1B8EC00F91463 /* CompileUnit.cpp */; };
|
|
|
|
26D5B0D311B07550009A862E /* Declaration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1610F1B8EC00F91463 /* Declaration.cpp */; };
|
|
|
|
26D5B0D411B07550009A862E /* DWARFCallFrameInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1710F1B8EC00F91463 /* DWARFCallFrameInfo.cpp */; };
|
|
|
|
26D5B0D511B07550009A862E /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1810F1B8EC00F91463 /* Function.cpp */; };
|
|
|
|
26D5B0D611B07550009A862E /* LineEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1910F1B8EC00F91463 /* LineEntry.cpp */; };
|
|
|
|
26D5B0D711B07550009A862E /* LineTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1A10F1B8EC00F91463 /* LineTable.cpp */; };
|
|
|
|
26D5B0D811B07550009A862E /* Symbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1B10F1B8EC00F91463 /* Symbol.cpp */; };
|
|
|
|
26D5B0D911B07550009A862E /* SymbolContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1C10F1B8EC00F91463 /* SymbolContext.cpp */; };
|
|
|
|
26D5B0DA11B07550009A862E /* SymbolFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1D10F1B8EC00F91463 /* SymbolFile.cpp */; };
|
|
|
|
26D5B0DC11B07550009A862E /* Symtab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F1F10F1B8EC00F91463 /* Symtab.cpp */; };
|
|
|
|
26D5B0DD11B07550009A862E /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F2010F1B8EC00F91463 /* Type.cpp */; };
|
|
|
|
26D5B0DE11B07550009A862E /* TypeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F2110F1B8EC00F91463 /* TypeList.cpp */; };
|
|
|
|
26D5B0DF11B07550009A862E /* Variable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F2210F1B8EC00F91463 /* Variable.cpp */; };
|
|
|
|
26D5B0E011B07550009A862E /* VariableList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F2310F1B8EC00F91463 /* VariableList.cpp */; };
|
|
|
|
26D5B0E111B07550009A862E /* ExecutionContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3510F1B90C00F91463 /* ExecutionContext.cpp */; };
|
|
|
|
26D5B0E211B07550009A862E /* Process.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3610F1B90C00F91463 /* Process.cpp */; };
|
|
|
|
26D5B0E311B07550009A862E /* RegisterContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3710F1B90C00F91463 /* RegisterContext.cpp */; };
|
|
|
|
26D5B0E411B07550009A862E /* StackFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3810F1B90C00F91463 /* StackFrame.cpp */; };
|
|
|
|
26D5B0E511B07550009A862E /* StackFrameList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3910F1B90C00F91463 /* StackFrameList.cpp */; };
|
|
|
|
26D5B0E611B07550009A862E /* StackID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3A10F1B90C00F91463 /* StackID.cpp */; };
|
|
|
|
26D5B0E711B07550009A862E /* Target.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3B10F1B90C00F91463 /* Target.cpp */; };
|
|
|
|
26D5B0E811B07550009A862E /* TargetList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3C10F1B90C00F91463 /* TargetList.cpp */; };
|
|
|
|
26D5B0E911B07550009A862E /* Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3D10F1B90C00F91463 /* Thread.cpp */; };
|
|
|
|
26D5B0EA11B07550009A862E /* ThreadList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3E10F1B90C00F91463 /* ThreadList.cpp */; };
|
|
|
|
26D5B0EB11B07550009A862E /* ThreadPlan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F3F10F1B90C00F91463 /* ThreadPlan.cpp */; };
|
|
|
|
26D5B0EC11B07550009A862E /* ObjectFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7F4C10F1BC1A00F91463 /* ObjectFile.cpp */; };
|
|
|
|
26D5B0EE11B07550009A862E /* ThreadPlanBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C847110F50EFC00BB2B04 /* ThreadPlanBase.cpp */; };
|
|
|
|
26D5B0EF11B07550009A862E /* ThreadPlanStepInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C847210F50EFC00BB2B04 /* ThreadPlanStepInstruction.cpp */; };
|
|
|
|
26D5B0F011B07550009A862E /* ThreadPlanStepOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C847310F50EFC00BB2B04 /* ThreadPlanStepOut.cpp */; };
|
|
|
|
26D5B0F111B07550009A862E /* ThreadPlanStepOverBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C847410F50EFC00BB2B04 /* ThreadPlanStepOverBreakpoint.cpp */; };
|
|
|
|
26D5B0F211B07550009A862E /* ThreadPlanStepThrough.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C847510F50EFC00BB2B04 /* ThreadPlanStepThrough.cpp */; };
|
|
|
|
26D5B0F311B07550009A862E /* ThreadPlanStepRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C847610F50EFC00BB2B04 /* ThreadPlanStepRange.cpp */; };
|
|
|
|
26D5B0F411B07550009A862E /* DynamicLoaderMacOSXDYLD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C897A10F57C5600BB2B04 /* DynamicLoaderMacOSXDYLD.cpp */; };
|
|
|
|
26D5B0F611B07550009A862E /* ObjectContainerUniversalMachO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C898010F57C5600BB2B04 /* ObjectContainerUniversalMachO.cpp */; };
|
|
|
|
26D5B0F711B07550009A862E /* ObjectFileELF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C898510F57C5600BB2B04 /* ObjectFileELF.cpp */; };
|
|
|
|
26D5B0F811B07550009A862E /* ObjectFileMachO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C898810F57C5600BB2B04 /* ObjectFileMachO.cpp */; };
|
|
|
|
26D5B0F911B07550009A862E /* MachException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899210F57C5600BB2B04 /* MachException.cpp */; };
|
|
|
|
26D5B0FA11B07550009A862E /* MachTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899410F57C5600BB2B04 /* MachTask.cpp */; };
|
|
|
|
26D5B0FB11B07550009A862E /* MachThreadContext_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899710F57C5600BB2B04 /* MachThreadContext_arm.cpp */; };
|
|
|
|
26D5B0FC11B07550009A862E /* MachThreadContext_i386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899910F57C5600BB2B04 /* MachThreadContext_i386.cpp */; };
|
|
|
|
26D5B0FD11B07550009A862E /* MachThreadContext_x86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899B10F57C5600BB2B04 /* MachThreadContext_x86_64.cpp */; };
|
|
|
|
26D5B0FE11B07550009A862E /* MachVMMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899D10F57C5600BB2B04 /* MachVMMemory.cpp */; };
|
|
|
|
26D5B0FF11B07550009A862E /* MachVMRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C899F10F57C5600BB2B04 /* MachVMRegion.cpp */; };
|
|
|
|
26D5B10011B07550009A862E /* ProcessControl-mig.defs in Sources */ = {isa = PBXBuildFile; fileRef = 260C89A110F57C5600BB2B04 /* ProcessControl-mig.defs */; settings = {ATTRIBUTES = (Client, Server, ); }; };
|
|
|
|
26D5B10111B07550009A862E /* ProcessMacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89A310F57C5600BB2B04 /* ProcessMacOSX.cpp */; };
|
|
|
|
26D5B10211B07550009A862E /* ProcessMacOSXLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89A510F57C5600BB2B04 /* ProcessMacOSXLog.cpp */; };
|
|
|
|
26D5B10311B07550009A862E /* RegisterContextMach_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89A910F57C5600BB2B04 /* RegisterContextMach_arm.cpp */; };
|
|
|
|
26D5B10411B07550009A862E /* RegisterContextMach_i386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89AB10F57C5600BB2B04 /* RegisterContextMach_i386.cpp */; };
|
|
|
|
26D5B10511B07550009A862E /* RegisterContextMach_x86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89AD10F57C5600BB2B04 /* RegisterContextMach_x86_64.cpp */; };
|
|
|
|
26D5B10611B07550009A862E /* ThreadMacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89AF10F57C5600BB2B04 /* ThreadMacOSX.cpp */; };
|
|
|
|
26D5B10711B07550009A862E /* DWARFAbbreviationDeclaration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89B310F57C5600BB2B04 /* DWARFAbbreviationDeclaration.cpp */; };
|
|
|
|
26D5B10811B07550009A862E /* DWARFCompileUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89B710F57C5600BB2B04 /* DWARFCompileUnit.cpp */; };
|
|
|
|
26D5B10911B07550009A862E /* DWARFDebugAbbrev.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89B910F57C5600BB2B04 /* DWARFDebugAbbrev.cpp */; };
|
|
|
|
26D5B10A11B07550009A862E /* DWARFDebugAranges.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89BB10F57C5600BB2B04 /* DWARFDebugAranges.cpp */; };
|
|
|
|
26D5B10B11B07550009A862E /* DWARFDebugArangeSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89BD10F57C5600BB2B04 /* DWARFDebugArangeSet.cpp */; };
|
|
|
|
26D5B10C11B07550009A862E /* DWARFDebugInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89BF10F57C5600BB2B04 /* DWARFDebugInfo.cpp */; };
|
|
|
|
26D5B10D11B07550009A862E /* DWARFDebugInfoEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89C110F57C5600BB2B04 /* DWARFDebugInfoEntry.cpp */; };
|
|
|
|
26D5B10E11B07550009A862E /* DWARFDebugLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89C310F57C5600BB2B04 /* DWARFDebugLine.cpp */; };
|
|
|
|
26D5B10F11B07550009A862E /* DWARFDebugMacinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89C510F57C5600BB2B04 /* DWARFDebugMacinfo.cpp */; };
|
|
|
|
26D5B11011B07550009A862E /* DWARFDebugMacinfoEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89C710F57C5600BB2B04 /* DWARFDebugMacinfoEntry.cpp */; };
|
|
|
|
26D5B11111B07550009A862E /* DWARFDebugPubnames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89C910F57C5600BB2B04 /* DWARFDebugPubnames.cpp */; };
|
|
|
|
26D5B11211B07550009A862E /* DWARFDebugPubnamesSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89CB10F57C5600BB2B04 /* DWARFDebugPubnamesSet.cpp */; };
|
|
|
|
26D5B11311B07550009A862E /* DWARFDebugRanges.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89CD10F57C5600BB2B04 /* DWARFDebugRanges.cpp */; };
|
2010-07-07 06:38:03 +08:00
|
|
|
26D5B11411B07550009A862E /* DWARFDefines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89CF10F57C5600BB2B04 /* DWARFDefines.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26D5B11511B07550009A862E /* DWARFDIECollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89D110F57C5600BB2B04 /* DWARFDIECollection.cpp */; };
|
|
|
|
26D5B11611B07550009A862E /* DWARFFormValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89D310F57C5600BB2B04 /* DWARFFormValue.cpp */; };
|
|
|
|
26D5B11711B07550009A862E /* DWARFLocationDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89D510F57C5600BB2B04 /* DWARFLocationDescription.cpp */; };
|
|
|
|
26D5B11811B07550009A862E /* DWARFLocationList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89D710F57C5600BB2B04 /* DWARFLocationList.cpp */; };
|
|
|
|
26D5B11911B07550009A862E /* SymbolFileDWARF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89D910F57C5600BB2B04 /* SymbolFileDWARF.cpp */; };
|
|
|
|
26D5B11A11B07550009A862E /* SymbolFileDWARFDebugMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89DB10F57C5600BB2B04 /* SymbolFileDWARFDebugMap.cpp */; };
|
|
|
|
26D5B11B11B07550009A862E /* SymbolFileSymtab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89DE10F57C5600BB2B04 /* SymbolFileSymtab.cpp */; };
|
|
|
|
26D5B11C11B07550009A862E /* SymbolVendorMacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C89E210F57C5600BB2B04 /* SymbolVendorMacOSX.cpp */; };
|
|
|
|
26D5B11E11B07550009A862E /* ScriptInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A82010B10FFB49800182560 /* ScriptInterpreter.cpp */; };
|
|
|
|
26D5B11F11B07550009A862E /* BreakpointResolverAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D0DD5310FE555900271C65 /* BreakpointResolverAddress.cpp */; };
|
|
|
|
26D5B12011B07550009A862E /* BreakpointResolverFileLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D0DD5410FE555900271C65 /* BreakpointResolverFileLine.cpp */; };
|
|
|
|
26D5B12111B07550009A862E /* BreakpointResolverName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D0DD5510FE555900271C65 /* BreakpointResolverName.cpp */; };
|
|
|
|
26D5B12211B07550009A862E /* DisassemblerLLVM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260C897410F57C5600BB2B04 /* DisassemblerLLVM.cpp */; };
|
|
|
|
26D5B12311B07550009A862E /* ThreadPlanRunToAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CAFCE031101218900CA63DB /* ThreadPlanRunToAddress.cpp */; };
|
|
|
|
26D5B12411B07550009A862E /* ThreadPlanShouldStopHere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C43DEFA110641F300E55CBF /* ThreadPlanShouldStopHere.cpp */; };
|
|
|
|
26D5B12511B07550009A862E /* ThreadPlanStepInRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C43DF8911069C3200E55CBF /* ThreadPlanStepInRange.cpp */; };
|
|
|
|
26D5B12611B07550009A862E /* ThreadPlanStepOverRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C43DF8A11069C3200E55CBF /* ThreadPlanStepOverRange.cpp */; };
|
|
|
|
26D5B12711B07550009A862E /* CommandObjectLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264AD83711095BA600E0B039 /* CommandObjectLog.cpp */; };
|
|
|
|
26D5B12811B07550009A862E /* ValueObjectRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264334381110F63100CDB6C6 /* ValueObjectRegister.cpp */; };
|
|
|
|
26D5B12A11B07550009A862E /* UUID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C81CA511335651004BDC5A /* UUID.cpp */; };
|
|
|
|
26D5B12B11B07550009A862E /* ScriptInterpreterNone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A2771FC1135A37500E6ADB6 /* ScriptInterpreterNone.cpp */; };
|
|
|
|
26D5B12C11B07550009A862E /* CommandObjectCrossref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DFBC57113B48F300DD817F /* CommandObjectCrossref.cpp */; };
|
|
|
|
26D5B12D11B07550009A862E /* CommandObjectMultiword.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DFBC58113B48F300DD817F /* CommandObjectMultiword.cpp */; };
|
|
|
|
26D5B12E11B07550009A862E /* CommandObjectRegexCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DFBC59113B48F300DD817F /* CommandObjectRegexCommand.cpp */; };
|
|
|
|
26D5B12F11B07550009A862E /* Symbols.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2689B0B5113EE47E00A4AEDB /* Symbols.cpp */; };
|
|
|
|
26D5B13011B07550009A862E /* Debugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 263664921140A4930075843B /* Debugger.cpp */; };
|
|
|
|
26D5B13111B07550009A862E /* ProcessGDBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE62FA1145F2130064CF93 /* ProcessGDBRemote.cpp */; };
|
|
|
|
26D5B13211B07550009A862E /* ProcessGDBRemoteLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE62FC1145F2130064CF93 /* ProcessGDBRemoteLog.cpp */; };
|
|
|
|
26D5B13311B07550009A862E /* ThreadGDBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE62FE1145F2130064CF93 /* ThreadGDBRemote.cpp */; };
|
|
|
|
26D5B13411B07550009A862E /* GDBRemoteCommunication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26FE25221146CADE00F4085A /* GDBRemoteCommunication.cpp */; };
|
|
|
|
26D5B13511B07550009A862E /* GDBRemoteRegisterContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 261E18CD1148966100BADCD3 /* GDBRemoteRegisterContext.cpp */; };
|
|
|
|
26D5B13611B07550009A862E /* UnixSignals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C00987011500B4300F316B0 /* UnixSignals.cpp */; };
|
|
|
|
26D5B13711B07550009A862E /* LogChannelDWARF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26109B3B1155D70100CC3529 /* LogChannelDWARF.cpp */; };
|
|
|
|
26D5B13811B07550009A862E /* PseudoTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2682F16A115EDA0D00CCFF99 /* PseudoTerminal.cpp */; };
|
|
|
|
26D5B13911B07550009A862E /* LLDBWrapPython.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A4EEB511682AAC007A372A /* LLDBWrapPython.cpp */; };
|
|
|
|
26D5B13A11B07550009A862E /* StringList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A35765F116E76B900E8ED2F /* StringList.cpp */; };
|
|
|
|
26D5B13B11B07550009A862E /* CommandCompletions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C09CB74116BD98B00C7A725 /* CommandCompletions.cpp */; };
|
|
|
|
26D5B13C11B07550009A862E /* AddressResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC7034011752C6B0086C050 /* AddressResolver.cpp */; };
|
|
|
|
26D5B13D11B07550009A862E /* AddressResolverFileLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC7034211752C720086C050 /* AddressResolverFileLine.cpp */; };
|
|
|
|
26D5B13E11B07550009A862E /* AddressResolverName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC7034411752C790086C050 /* AddressResolverName.cpp */; };
|
|
|
|
26D5B13F11B07550009A862E /* ObjectContainerBSDArchive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A3B4AC1181454800381BC2 /* ObjectContainerBSDArchive.cpp */; };
|
|
|
|
26D5B14011B07550009A862E /* CommandObjectBreakpointCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A42976211861AA600FE05CD /* CommandObjectBreakpointCommand.cpp */; };
|
|
|
|
26D5B14111B07550009A862E /* InputReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA69DB5118A027A00D753A0 /* InputReader.cpp */; };
|
|
|
|
26D5B14211B07550009A862E /* CommandObjectFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2672D8461189055500FF4019 /* CommandObjectFrame.cpp */; };
|
|
|
|
26D5B14311B07550009A862E /* ABISysV_x86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 493C63F11189203300914D5E /* ABISysV_x86_64.cpp */; };
|
|
|
|
26D5B14411B07550009A862E /* ABI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 497E7B9D1188F6690065CCA1 /* ABI.cpp */; };
|
|
|
|
26D5B14511B07550009A862E /* StringExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2660D9F611922A1300958FBD /* StringExtractor.cpp */; };
|
|
|
|
26D5B14611B07550009A862E /* ThreadPlanStepUntil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2660D9FE11922A7F00958FBD /* ThreadPlanStepUntil.cpp */; };
|
|
|
|
26D5B14711B07550009A862E /* ThreadPlanCallFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49EC3E98118F90AC00B1265E /* ThreadPlanCallFunction.cpp */; };
|
|
|
|
26D5B14811B07550009A862E /* ClangFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C98D3DA118FB96F00E575D0 /* ClangFunction.cpp */; };
|
|
|
|
26D5B14911B07550009A862E /* RecordingMemoryManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C98D3DB118FB96F00E575D0 /* RecordingMemoryManager.cpp */; settings = {COMPILER_FLAGS = "-fno-rtti"; }; };
|
|
|
|
26D5B14B11B07550009A862E /* CommandObjectTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 269416AD119A024800FF2715 /* CommandObjectTarget.cpp */; };
|
|
|
|
26D5B14C11B07550009A862E /* PathMappingList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 495BBACB119A0DBE00418BEA /* PathMappingList.cpp */; };
|
|
|
|
26D5B14D11B07550009A862E /* StringExtractorGDBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2676A093119C93C8008A98EF /* StringExtractorGDBRemote.cpp */; };
|
|
|
|
26D5B15311B07550009A862E /* ABIMacOSX_i386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 497650CE11A21BEE008DDB57 /* ABIMacOSX_i386.cpp */; };
|
|
|
|
26D5B15511B07550009A862E /* Baton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A0604811A5D03C00F75969 /* Baton.cpp */; };
|
|
|
|
26D5B15611B07550009A862E /* CommandObjectArgs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 499F381F11A5B3F300F5CE02 /* CommandObjectArgs.cpp */; };
|
|
|
|
26D5B15A11B07550009A862E /* UnwindMacOSXFrameBackchain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26E3EEE311A9901300FBADB6 /* UnwindMacOSXFrameBackchain.cpp */; };
|
|
|
|
26D5B15B11B07550009A862E /* RegisterContextMacOSXFrameBackchain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26E3EEF711A994E800FBADB6 /* RegisterContextMacOSXFrameBackchain.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, ); }; };
|
|
|
|
26DE204311618ACA00A093E2 /* SBAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE204211618ACA00A093E2 /* SBAddress.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE204511618ADA00A093E2 /* SBAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE204411618ADA00A093E2 /* SBAddress.cpp */; };
|
|
|
|
26DE204711618AED00A093E2 /* SBSymbolContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE204611618AED00A093E2 /* SBSymbolContext.cpp */; };
|
|
|
|
26DE204D11618E7A00A093E2 /* SBModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE204C11618E7A00A093E2 /* SBModule.cpp */; };
|
|
|
|
26DE204F11618E9800A093E2 /* SBModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE204E11618E9800A093E2 /* SBModule.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE205311618FAC00A093E2 /* SBFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE205211618FAC00A093E2 /* SBFunction.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE205511618FB800A093E2 /* SBCompileUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE205411618FB800A093E2 /* SBCompileUnit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE205711618FC500A093E2 /* SBBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE205611618FC500A093E2 /* SBBlock.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE205911618FE700A093E2 /* SBLineEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE205811618FE700A093E2 /* SBLineEntry.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE205B11618FF600A093E2 /* SBSymbol.h in Headers */ = {isa = PBXBuildFile; fileRef = 26DE205A11618FF600A093E2 /* SBSymbol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
26DE205D1161901400A093E2 /* SBFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE205C1161901400A093E2 /* SBFunction.cpp */; };
|
|
|
|
26DE205F1161901B00A093E2 /* SBCompileUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26DE205E1161901B00A093E2 /* SBCompileUnit.cpp */; };
|
|
|
|
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 */; };
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
26E6902F129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E6902E129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h */; };
|
|
|
|
26E69031129C6BEF00DDECD9 /* ClangExternalASTSourceCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26E69030129C6BEF00DDECD9 /* ClangExternalASTSourceCallbacks.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26F5C27710F3D9E4009D5894 /* Driver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26F5C27310F3D9E4009D5894 /* Driver.cpp */; };
|
|
|
|
26F5C27810F3D9E4009D5894 /* IOChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26F5C27510F3D9E4009D5894 /* IOChannel.cpp */; };
|
2010-10-29 05:51:20 +08:00
|
|
|
26F5C32510F3DF23009D5894 /* libpython.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F5C32410F3DF23009D5894 /* libpython.dylib */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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 */; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
491193521226386000578B7F /* ASTStructExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 491193501226386000578B7F /* ASTStructExtractor.cpp */; };
|
2010-07-03 09:35:46 +08:00
|
|
|
49307AAE11DEA4D90081F992 /* IRForTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49307AAD11DEA4D90081F992 /* IRForTarget.cpp */; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49445C2612245E3600C11A81 /* ClangExpressionParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49445C2512245E3600C11A81 /* ClangExpressionParser.cpp */; };
|
2010-08-28 07:31:21 +08:00
|
|
|
497C86BE122823D800B54702 /* ClangUtilityFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 497C86BD122823D800B54702 /* ClangUtilityFunction.cpp */; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49A8A3A011D568A300AD3B68 /* ASTResultSynthesizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49A8A39F11D568A300AD3B68 /* ASTResultSynthesizer.cpp */; };
|
2010-09-01 08:58:00 +08:00
|
|
|
49CF982A122C70BD007A0B96 /* IRDynamicChecks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49CF9829122C70BD007A0B96 /* IRDynamicChecks.cpp */; };
|
2010-08-11 11:57:18 +08:00
|
|
|
49D4FE891210B61C00CDB854 /* ClangPersistentVariables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49D4FE871210B61C00CDB854 /* ClangPersistentVariables.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
49D7072911B5AD11001AD875 /* ClangASTSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49D7072811B5AD11001AD875 /* ClangASTSource.cpp */; settings = {COMPILER_FLAGS = "-fno-rtti"; }; };
|
2010-07-03 05:09:36 +08:00
|
|
|
49DA743011DE6A5A006AEF7E /* IRToDWARF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49DA742F11DE6A5A006AEF7E /* IRToDWARF.cpp */; };
|
2010-07-22 06:12:05 +08:00
|
|
|
49E45FAF11F660FE008F7B28 /* ClangASTType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49E45FAD11F660FE008F7B28 /* ClangASTType.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
49F1A74611B3388F003ED505 /* ClangExpressionDeclMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49F1A74511B3388F003ED505 /* ClangExpressionDeclMap.cpp */; };
|
2010-08-13 05:29:03 +08:00
|
|
|
49FB515E121481B000DF8983 /* DWARFExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26BC7ED810F1B86700F91463 /* DWARFExpression.cpp */; };
|
2010-06-16 10:00:15 +08:00
|
|
|
4C08CDE811C81EF8001610A8 /* ThreadSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C08CDE711C81EF8001610A8 /* ThreadSpec.cpp */; };
|
2010-09-28 09:25:32 +08:00
|
|
|
4C0A91D812511CB900CA6636 /* AppleObjCTrampolineHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A91D412511CB900CA6636 /* AppleObjCTrampolineHandler.cpp */; };
|
|
|
|
4C0A91DA12511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A91D612511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.cpp */; };
|
2010-09-23 10:01:19 +08:00
|
|
|
4C139EA5124A8B03000BFF8D /* AppleObjCRuntimeV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C139EA3124A8B03000BFF8D /* AppleObjCRuntimeV2.cpp */; };
|
2010-10-15 07:45:03 +08:00
|
|
|
4C1AB23B1263E5F400D0F04A /* ThreadPlanTestCondition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C1AB23A1263E5F400D0F04A /* ThreadPlanTestCondition.cpp */; };
|
2010-07-07 11:36:20 +08:00
|
|
|
4C5DBBC811E3FEC60035160F /* CommandObjectCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C5DBBC611E3FEC60035160F /* CommandObjectCommands.cpp */; };
|
2010-11-05 02:30:59 +08:00
|
|
|
4C61978C12823D4300FAFFCC /* AppleObjCRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C61978812823D4300FAFFCC /* AppleObjCRuntime.cpp */; };
|
|
|
|
4C61978D12823D4300FAFFCC /* AppleObjCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C61978912823D4300FAFFCC /* AppleObjCRuntime.h */; };
|
|
|
|
4C61978E12823D4300FAFFCC /* AppleObjCRuntimeV1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C61978A12823D4300FAFFCC /* AppleObjCRuntimeV1.cpp */; };
|
|
|
|
4C61978F12823D4300FAFFCC /* AppleObjCRuntimeV1.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C61978B12823D4300FAFFCC /* AppleObjCRuntimeV1.h */; };
|
2010-08-31 03:44:40 +08:00
|
|
|
4C74CB6312288704006A8171 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C74CB6212288704006A8171 /* Carbon.framework */; };
|
2010-11-30 10:22:11 +08:00
|
|
|
4C7CF7E41295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C7CF7E31295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h */; };
|
|
|
|
4C7CF7E61295E12B00B4FBB5 /* ThreadPlanCallUserExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C7CF7E51295E12B00B4FBB5 /* ThreadPlanCallUserExpression.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
4CA9637B11B6E99A00780E28 /* CommandObjectApropos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CA9637911B6E99A00780E28 /* CommandObjectApropos.cpp */; };
|
2010-09-23 10:01:19 +08:00
|
|
|
4CB4430C12491DDA00C13DC2 /* LanguageRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CB4430A12491DDA00C13DC2 /* LanguageRuntime.cpp */; };
|
|
|
|
4CB4436C124944B000C13DC2 /* ItaniumABILanguageRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CB4436A124944B000C13DC2 /* ItaniumABILanguageRuntime.cpp */; };
|
|
|
|
4CB443BE1249920C00C13DC2 /* CPPLanguageRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CB443BC1249920C00C13DC2 /* CPPLanguageRuntime.cpp */; };
|
|
|
|
4CB443F312499B5000C13DC2 /* ObjCLanguageRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CB443F212499B5000C13DC2 /* ObjCLanguageRuntime.cpp */; };
|
2010-11-12 03:26:09 +08:00
|
|
|
4CC2A149128C73ED001531C4 /* ThreadPlanTracer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CC2A148128C73ED001531C4 /* ThreadPlanTracer.cpp */; };
|
|
|
|
4CC2A14D128C7409001531C4 /* ThreadPlanTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC2A14C128C7409001531C4 /* ThreadPlanTracer.h */; };
|
2010-09-08 04:11:56 +08:00
|
|
|
69A01E211236C5D400C660B5 /* Condition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A01E1B1236C5D400C660B5 /* Condition.cpp */; };
|
|
|
|
69A01E221236C5D400C660B5 /* Host.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A01E1C1236C5D400C660B5 /* Host.cpp */; };
|
|
|
|
69A01E241236C5D400C660B5 /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A01E1E1236C5D400C660B5 /* Mutex.cpp */; };
|
|
|
|
69A01E251236C5D400C660B5 /* Symbols.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A01E1F1236C5D400C660B5 /* Symbols.cpp */; };
|
|
|
|
69A01E261236C5D400C660B5 /* TimeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A01E201236C5D400C660B5 /* TimeValue.cpp */; };
|
2010-09-10 15:49:16 +08:00
|
|
|
961FABBB1235DE1600F93A47 /* FuncUnwinders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FABB81235DE1600F93A47 /* FuncUnwinders.cpp */; };
|
|
|
|
961FABBC1235DE1600F93A47 /* UnwindPlan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FABB91235DE1600F93A47 /* UnwindPlan.cpp */; };
|
|
|
|
961FABBD1235DE1600F93A47 /* UnwindTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FABBA1235DE1600F93A47 /* UnwindTable.cpp */; };
|
|
|
|
961FABE51235F15900F93A47 /* UnwindAssemblyProfiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FABE41235F15900F93A47 /* UnwindAssemblyProfiler.cpp */; };
|
|
|
|
961FABEA1235F26800F93A47 /* UnwindAssemblyProfiler-x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FABE81235F26800F93A47 /* UnwindAssemblyProfiler-x86.cpp */; };
|
|
|
|
961FAC19123605A200F93A47 /* ArchDefaultUnwindPlan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FAC18123605A200F93A47 /* ArchDefaultUnwindPlan.cpp */; };
|
|
|
|
961FAC1E12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 961FAC1C12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.cpp */; };
|
2010-09-22 15:37:07 +08:00
|
|
|
96A6D9C61249D96F00250B38 /* ArchVolatileRegs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 96A6D9C51249D96F00250B38 /* ArchVolatileRegs.cpp */; };
|
|
|
|
96A6D9C91249D98800250B38 /* ArchVolatileRegs-x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 96A6D9C71249D98800250B38 /* ArchVolatileRegs-x86.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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, ); }; };
|
|
|
|
9A35758E116CFE0F00E8ED2F /* SBValueList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A35758D116CFE0F00E8ED2F /* SBValueList.cpp */; };
|
|
|
|
9A357671116E7B5200E8ED2F /* SBStringList.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A357670116E7B5200E8ED2F /* SBStringList.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
9A357673116E7B6400E8ED2F /* SBStringList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A357672116E7B6400E8ED2F /* SBStringList.cpp */; };
|
|
|
|
9A3576A8116E9AB700E8ED2F /* SBHostOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A3576A7116E9AB700E8ED2F /* SBHostOS.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
9A3576AA116E9AC700E8ED2F /* SBHostOS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A3576A9116E9AC700E8ED2F /* SBHostOS.cpp */; };
|
2010-09-04 08:03:46 +08:00
|
|
|
9A4633DD11F65D9A00955CE1 /* UserSettingsController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A4633DC11F65D9A00955CE1 /* UserSettingsController.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
9AA69DA61188F52100D753A0 /* PseudoTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2682F16A115EDA0D00CCFF99 /* PseudoTerminal.cpp */; };
|
|
|
|
9AA69DAF118A023300D753A0 /* SBInputReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AA69DAE118A023300D753A0 /* SBInputReader.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
9AA69DB1118A024600D753A0 /* SBInputReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA69DB0118A024600D753A0 /* SBInputReader.cpp */; };
|
|
|
|
9AC7038E117674FB0086C050 /* SBInstruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AC7038D117674EB0086C050 /* SBInstruction.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
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 */; };
|
2010-10-25 19:12:07 +08:00
|
|
|
AF68D2561255416E002FF25B /* RegisterContextLLDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF68D2541255416E002FF25B /* RegisterContextLLDB.cpp */; };
|
|
|
|
AF68D3311255A111002FF25B /* UnwindLLDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF68D32F1255A110002FF25B /* UnwindLLDB.cpp */; };
|
2010-06-10 05:48:33 +08:00
|
|
|
AF94005911C03F6500085DB9 /* SymbolVendor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF94005711C03F6500085DB9 /* SymbolVendor.cpp */; };
|
2011-01-25 02:24:53 +08:00
|
|
|
B23DD25012EDFAC1000C3894 /* ARMUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B23DD24F12EDFAC1000C3894 /* ARMUtils.h */; };
|
2010-12-24 04:21:44 +08:00
|
|
|
B296983712C2FB98002D92C3 /* CommandObjectVersion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B296983412C2FB2B002D92C3 /* CommandObjectVersion.cpp */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
/* End PBXBuildFile section */
|
|
|
|
|
|
|
|
/* Begin PBXContainerItemProxy section */
|
|
|
|
262CFC7111A450CB00946C6C /* PBXContainerItemProxy */ = {
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
containerPortal = 265E9BE1115C2BAA00D0DCCB /* debugserver.xcodeproj */;
|
|
|
|
proxyType = 1;
|
|
|
|
remoteGlobalIDString = 26CE0593115C31C20022F371;
|
|
|
|
remoteInfo = debugserver;
|
|
|
|
};
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26368AF5126B95FA00E8659F /* PBXContainerItemProxy */ = {
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
|
|
|
|
proxyType = 1;
|
2010-10-18 12:14:23 +08:00
|
|
|
remoteGlobalIDString = 26579F67126A25920007C5CB;
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
remoteInfo = "darwin-debug";
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
266803611160110D008E1FE4 /* PBXContainerItemProxy */ = {
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
|
|
|
|
proxyType = 1;
|
|
|
|
remoteGlobalIDString = 26680206115FD0ED008E1FE4;
|
|
|
|
remoteInfo = LLDB;
|
|
|
|
};
|
|
|
|
26CE059F115C31E50022F371 /* PBXContainerItemProxy */ = {
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
containerPortal = 265E9BE1115C2BAA00D0DCCB /* debugserver.xcodeproj */;
|
|
|
|
proxyType = 2;
|
|
|
|
remoteGlobalIDString = 26CE0594115C31C20022F371;
|
|
|
|
remoteInfo = "lldb-debugserver";
|
|
|
|
};
|
|
|
|
26CE060F115C438C0022F371 /* PBXContainerItemProxy */ = {
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
containerPortal = 265E9BE1115C2BAA00D0DCCB /* debugserver.xcodeproj */;
|
|
|
|
proxyType = 1;
|
|
|
|
remoteGlobalIDString = 26CE0593115C31C20022F371;
|
|
|
|
remoteInfo = "lldb-debugserver";
|
|
|
|
};
|
|
|
|
/* End PBXContainerItemProxy section */
|
|
|
|
|
|
|
|
/* Begin PBXFileReference section */
|
|
|
|
260223E7115F06D500A601A2 /* SBCommunication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBCommunication.h; path = include/lldb/API/SBCommunication.h; sourceTree = "<group>"; };
|
|
|
|
260223E8115F06E500A601A2 /* SBCommunication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBCommunication.cpp; path = source/API/SBCommunication.cpp; sourceTree = "<group>"; };
|
|
|
|
26022531115F27FA00A601A2 /* SBFileSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBFileSpec.h; path = include/lldb/API/SBFileSpec.h; sourceTree = "<group>"; };
|
|
|
|
26022532115F281400A601A2 /* SBFileSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBFileSpec.cpp; path = source/API/SBFileSpec.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847110F50EFC00BB2B04 /* ThreadPlanBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanBase.cpp; path = source/Target/ThreadPlanBase.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847210F50EFC00BB2B04 /* ThreadPlanStepInstruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepInstruction.cpp; path = source/Target/ThreadPlanStepInstruction.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847310F50EFC00BB2B04 /* ThreadPlanStepOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepOut.cpp; path = source/Target/ThreadPlanStepOut.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847410F50EFC00BB2B04 /* ThreadPlanStepOverBreakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepOverBreakpoint.cpp; path = source/Target/ThreadPlanStepOverBreakpoint.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847510F50EFC00BB2B04 /* ThreadPlanStepThrough.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepThrough.cpp; path = source/Target/ThreadPlanStepThrough.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847610F50EFC00BB2B04 /* ThreadPlanStepRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepRange.cpp; path = source/Target/ThreadPlanStepRange.cpp; sourceTree = "<group>"; };
|
|
|
|
260C847F10F50F0A00BB2B04 /* ThreadPlanBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanBase.h; path = include/lldb/Target/ThreadPlanBase.h; sourceTree = "<group>"; };
|
|
|
|
260C848010F50F0A00BB2B04 /* ThreadPlanStepInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepInstruction.h; path = include/lldb/Target/ThreadPlanStepInstruction.h; sourceTree = "<group>"; };
|
|
|
|
260C848110F50F0A00BB2B04 /* ThreadPlanStepOut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepOut.h; path = include/lldb/Target/ThreadPlanStepOut.h; sourceTree = "<group>"; };
|
|
|
|
260C848210F50F0A00BB2B04 /* ThreadPlanStepOverBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepOverBreakpoint.h; path = include/lldb/Target/ThreadPlanStepOverBreakpoint.h; sourceTree = "<group>"; };
|
|
|
|
260C848310F50F0A00BB2B04 /* ThreadPlanStepThrough.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepThrough.h; path = include/lldb/Target/ThreadPlanStepThrough.h; sourceTree = "<group>"; };
|
|
|
|
260C848410F50F0A00BB2B04 /* ThreadPlanStepRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepRange.h; path = include/lldb/Target/ThreadPlanStepRange.h; sourceTree = "<group>"; };
|
|
|
|
260C876910F538E700BB2B04 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
|
|
|
260C897410F57C5600BB2B04 /* DisassemblerLLVM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisassemblerLLVM.cpp; sourceTree = "<group>"; };
|
|
|
|
260C897510F57C5600BB2B04 /* DisassemblerLLVM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisassemblerLLVM.h; sourceTree = "<group>"; };
|
|
|
|
260C897A10F57C5600BB2B04 /* DynamicLoaderMacOSXDYLD.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicLoaderMacOSXDYLD.cpp; sourceTree = "<group>"; };
|
|
|
|
260C897B10F57C5600BB2B04 /* DynamicLoaderMacOSXDYLD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicLoaderMacOSXDYLD.h; sourceTree = "<group>"; };
|
|
|
|
260C898010F57C5600BB2B04 /* ObjectContainerUniversalMachO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectContainerUniversalMachO.cpp; sourceTree = "<group>"; };
|
|
|
|
260C898110F57C5600BB2B04 /* ObjectContainerUniversalMachO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectContainerUniversalMachO.h; sourceTree = "<group>"; };
|
|
|
|
260C898510F57C5600BB2B04 /* ObjectFileELF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectFileELF.cpp; sourceTree = "<group>"; };
|
|
|
|
260C898610F57C5600BB2B04 /* ObjectFileELF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectFileELF.h; sourceTree = "<group>"; };
|
|
|
|
260C898810F57C5600BB2B04 /* ObjectFileMachO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectFileMachO.cpp; sourceTree = "<group>"; };
|
|
|
|
260C898910F57C5600BB2B04 /* ObjectFileMachO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectFileMachO.h; sourceTree = "<group>"; };
|
|
|
|
260C898D10F57C5600BB2B04 /* cc-swig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "cc-swig"; sourceTree = "<group>"; };
|
|
|
|
260C898E10F57C5600BB2B04 /* config.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = config.pl; sourceTree = "<group>"; };
|
|
|
|
260C898F10F57C5600BB2B04 /* test-ProcessDebug.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "test-ProcessDebug.pl"; sourceTree = "<group>"; };
|
|
|
|
260C899210F57C5600BB2B04 /* MachException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachException.cpp; sourceTree = "<group>"; };
|
|
|
|
260C899310F57C5600BB2B04 /* MachException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachException.h; sourceTree = "<group>"; };
|
|
|
|
260C899410F57C5600BB2B04 /* MachTask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachTask.cpp; sourceTree = "<group>"; };
|
|
|
|
260C899510F57C5600BB2B04 /* MachTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachTask.h; sourceTree = "<group>"; };
|
|
|
|
260C899610F57C5600BB2B04 /* MachThreadContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachThreadContext.h; sourceTree = "<group>"; };
|
|
|
|
260C899710F57C5600BB2B04 /* MachThreadContext_arm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachThreadContext_arm.cpp; sourceTree = "<group>"; };
|
|
|
|
260C899810F57C5600BB2B04 /* MachThreadContext_arm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachThreadContext_arm.h; sourceTree = "<group>"; };
|
|
|
|
260C899910F57C5600BB2B04 /* MachThreadContext_i386.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachThreadContext_i386.cpp; sourceTree = "<group>"; };
|
|
|
|
260C899A10F57C5600BB2B04 /* MachThreadContext_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachThreadContext_i386.h; sourceTree = "<group>"; };
|
|
|
|
260C899B10F57C5600BB2B04 /* MachThreadContext_x86_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachThreadContext_x86_64.cpp; sourceTree = "<group>"; };
|
|
|
|
260C899C10F57C5600BB2B04 /* MachThreadContext_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachThreadContext_x86_64.h; sourceTree = "<group>"; };
|
|
|
|
260C899D10F57C5600BB2B04 /* MachVMMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachVMMemory.cpp; sourceTree = "<group>"; };
|
|
|
|
260C899E10F57C5600BB2B04 /* MachVMMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachVMMemory.h; sourceTree = "<group>"; };
|
|
|
|
260C899F10F57C5600BB2B04 /* MachVMRegion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachVMRegion.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89A010F57C5600BB2B04 /* MachVMRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachVMRegion.h; sourceTree = "<group>"; };
|
|
|
|
260C89A110F57C5600BB2B04 /* ProcessControl-mig.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = "ProcessControl-mig.defs"; sourceTree = "<group>"; };
|
|
|
|
260C89A310F57C5600BB2B04 /* ProcessMacOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessMacOSX.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89A410F57C5600BB2B04 /* ProcessMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessMacOSX.h; sourceTree = "<group>"; };
|
|
|
|
260C89A510F57C5600BB2B04 /* ProcessMacOSXLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessMacOSXLog.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89A610F57C5600BB2B04 /* ProcessMacOSXLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessMacOSXLog.h; sourceTree = "<group>"; };
|
|
|
|
260C89A910F57C5600BB2B04 /* RegisterContextMach_arm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegisterContextMach_arm.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89AA10F57C5600BB2B04 /* RegisterContextMach_arm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterContextMach_arm.h; sourceTree = "<group>"; };
|
|
|
|
260C89AB10F57C5600BB2B04 /* RegisterContextMach_i386.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegisterContextMach_i386.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89AC10F57C5600BB2B04 /* RegisterContextMach_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterContextMach_i386.h; sourceTree = "<group>"; };
|
|
|
|
260C89AD10F57C5600BB2B04 /* RegisterContextMach_x86_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegisterContextMach_x86_64.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89AE10F57C5600BB2B04 /* RegisterContextMach_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterContextMach_x86_64.h; sourceTree = "<group>"; };
|
|
|
|
260C89AF10F57C5600BB2B04 /* ThreadMacOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadMacOSX.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89B010F57C5600BB2B04 /* ThreadMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadMacOSX.h; sourceTree = "<group>"; };
|
|
|
|
260C89B310F57C5600BB2B04 /* DWARFAbbreviationDeclaration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFAbbreviationDeclaration.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89B410F57C5600BB2B04 /* DWARFAbbreviationDeclaration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFAbbreviationDeclaration.h; sourceTree = "<group>"; };
|
|
|
|
260C89B610F57C5600BB2B04 /* DWARFAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFAttribute.h; sourceTree = "<group>"; };
|
|
|
|
260C89B710F57C5600BB2B04 /* DWARFCompileUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFCompileUnit.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89B810F57C5600BB2B04 /* DWARFCompileUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFCompileUnit.h; sourceTree = "<group>"; };
|
|
|
|
260C89B910F57C5600BB2B04 /* DWARFDebugAbbrev.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugAbbrev.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89BA10F57C5600BB2B04 /* DWARFDebugAbbrev.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugAbbrev.h; sourceTree = "<group>"; };
|
|
|
|
260C89BB10F57C5600BB2B04 /* DWARFDebugAranges.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugAranges.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89BC10F57C5600BB2B04 /* DWARFDebugAranges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugAranges.h; sourceTree = "<group>"; };
|
|
|
|
260C89BD10F57C5600BB2B04 /* DWARFDebugArangeSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugArangeSet.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89BE10F57C5600BB2B04 /* DWARFDebugArangeSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugArangeSet.h; sourceTree = "<group>"; };
|
|
|
|
260C89BF10F57C5600BB2B04 /* DWARFDebugInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugInfo.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89C010F57C5600BB2B04 /* DWARFDebugInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugInfo.h; sourceTree = "<group>"; };
|
|
|
|
260C89C110F57C5600BB2B04 /* DWARFDebugInfoEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugInfoEntry.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89C210F57C5600BB2B04 /* DWARFDebugInfoEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugInfoEntry.h; sourceTree = "<group>"; };
|
|
|
|
260C89C310F57C5600BB2B04 /* DWARFDebugLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugLine.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89C410F57C5600BB2B04 /* DWARFDebugLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugLine.h; sourceTree = "<group>"; };
|
|
|
|
260C89C510F57C5600BB2B04 /* DWARFDebugMacinfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugMacinfo.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89C610F57C5600BB2B04 /* DWARFDebugMacinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugMacinfo.h; sourceTree = "<group>"; };
|
|
|
|
260C89C710F57C5600BB2B04 /* DWARFDebugMacinfoEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugMacinfoEntry.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89C810F57C5600BB2B04 /* DWARFDebugMacinfoEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugMacinfoEntry.h; sourceTree = "<group>"; };
|
|
|
|
260C89C910F57C5600BB2B04 /* DWARFDebugPubnames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugPubnames.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89CA10F57C5600BB2B04 /* DWARFDebugPubnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugPubnames.h; sourceTree = "<group>"; };
|
|
|
|
260C89CB10F57C5600BB2B04 /* DWARFDebugPubnamesSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugPubnamesSet.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89CC10F57C5600BB2B04 /* DWARFDebugPubnamesSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugPubnamesSet.h; sourceTree = "<group>"; };
|
|
|
|
260C89CD10F57C5600BB2B04 /* DWARFDebugRanges.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDebugRanges.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89CE10F57C5600BB2B04 /* DWARFDebugRanges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDebugRanges.h; sourceTree = "<group>"; };
|
2010-07-07 06:38:03 +08:00
|
|
|
260C89CF10F57C5600BB2B04 /* DWARFDefines.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DWARFDefines.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
260C89D010F57C5600BB2B04 /* DWARFDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDefines.h; sourceTree = "<group>"; };
|
|
|
|
260C89D110F57C5600BB2B04 /* DWARFDIECollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFDIECollection.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89D210F57C5600BB2B04 /* DWARFDIECollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFDIECollection.h; sourceTree = "<group>"; };
|
|
|
|
260C89D310F57C5600BB2B04 /* DWARFFormValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFFormValue.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89D410F57C5600BB2B04 /* DWARFFormValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFFormValue.h; sourceTree = "<group>"; };
|
|
|
|
260C89D510F57C5600BB2B04 /* DWARFLocationDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFLocationDescription.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89D610F57C5600BB2B04 /* DWARFLocationDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFLocationDescription.h; sourceTree = "<group>"; };
|
|
|
|
260C89D710F57C5600BB2B04 /* DWARFLocationList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DWARFLocationList.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89D810F57C5600BB2B04 /* DWARFLocationList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWARFLocationList.h; sourceTree = "<group>"; };
|
|
|
|
260C89D910F57C5600BB2B04 /* SymbolFileDWARF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolFileDWARF.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89DA10F57C5600BB2B04 /* SymbolFileDWARF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolFileDWARF.h; sourceTree = "<group>"; };
|
|
|
|
260C89DB10F57C5600BB2B04 /* SymbolFileDWARFDebugMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolFileDWARFDebugMap.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89DC10F57C5600BB2B04 /* SymbolFileDWARFDebugMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolFileDWARFDebugMap.h; sourceTree = "<group>"; };
|
|
|
|
260C89DE10F57C5600BB2B04 /* SymbolFileSymtab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolFileSymtab.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89DF10F57C5600BB2B04 /* SymbolFileSymtab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolFileSymtab.h; sourceTree = "<group>"; };
|
|
|
|
260C89E210F57C5600BB2B04 /* SymbolVendorMacOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolVendorMacOSX.cpp; sourceTree = "<group>"; };
|
|
|
|
260C89E310F57C5600BB2B04 /* SymbolVendorMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolVendorMacOSX.h; sourceTree = "<group>"; };
|
|
|
|
26109B3B1155D70100CC3529 /* LogChannelDWARF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogChannelDWARF.cpp; sourceTree = "<group>"; };
|
|
|
|
26109B3C1155D70100CC3529 /* LogChannelDWARF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogChannelDWARF.h; sourceTree = "<group>"; };
|
2010-08-04 09:40:35 +08:00
|
|
|
2615DB841208A9C90021781D /* StopInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StopInfo.h; path = include/lldb/Target/StopInfo.h; sourceTree = "<group>"; };
|
|
|
|
2615DB861208A9E40021781D /* StopInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StopInfo.cpp; path = source/Target/StopInfo.cpp; sourceTree = "<group>"; };
|
|
|
|
2615DBC81208B5FC0021781D /* StopInfoMachException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StopInfoMachException.cpp; path = Utility/StopInfoMachException.cpp; sourceTree = "<group>"; };
|
|
|
|
2615DBC91208B5FC0021781D /* StopInfoMachException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StopInfoMachException.h; path = Utility/StopInfoMachException.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
261744771168585B005ADD65 /* SBType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBType.cpp; path = source/API/SBType.cpp; sourceTree = "<group>"; };
|
|
|
|
2617447911685869005ADD65 /* SBType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBType.h; path = include/lldb/API/SBType.h; sourceTree = "<group>"; };
|
2010-09-15 07:36:40 +08:00
|
|
|
2618D78F1240115500F2B8FE /* SectionLoadList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SectionLoadList.h; path = include/lldb/Target/SectionLoadList.h; sourceTree = "<group>"; };
|
|
|
|
2618D7911240116900F2B8FE /* SectionLoadList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SectionLoadList.cpp; path = source/Target/SectionLoadList.cpp; sourceTree = "<group>"; };
|
2010-09-15 12:15:46 +08:00
|
|
|
2618D957124056C700F2B8FE /* NameToDIE.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NameToDIE.h; sourceTree = "<group>"; };
|
|
|
|
2618D9EA12406FE600F2B8FE /* NameToDIE.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NameToDIE.cpp; sourceTree = "<group>"; };
|
2010-06-13 01:45:57 +08:00
|
|
|
261B5A5211C3F2AD00AABD0A /* SharingPtr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SharingPtr.cpp; path = source/Utility/SharingPtr.cpp; sourceTree = "<group>"; };
|
2010-06-13 02:59:55 +08:00
|
|
|
261B5A5311C3F2AD00AABD0A /* SharingPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SharingPtr.h; path = include/lldb/Utility/SharingPtr.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
261E18CC1148966100BADCD3 /* GDBRemoteRegisterContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GDBRemoteRegisterContext.h; path = "source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h"; sourceTree = "<group>"; };
|
|
|
|
261E18CD1148966100BADCD3 /* GDBRemoteRegisterContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GDBRemoteRegisterContext.cpp; path = "source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp"; sourceTree = "<group>"; };
|
2011-01-22 06:02:52 +08:00
|
|
|
2621C9CB12EA009300711A30 /* EmulateInstructionARM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmulateInstructionARM.cpp; path = Utility/EmulateInstructionARM.cpp; sourceTree = "<group>"; };
|
|
|
|
2621C9CC12EA009300711A30 /* EmulateInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmulateInstruction.h; path = Utility/EmulateInstruction.h; sourceTree = "<group>"; };
|
|
|
|
2621C9CF12EA066500711A30 /* EmulateInstructionARM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmulateInstructionARM.h; path = Utility/EmulateInstructionARM.h; sourceTree = "<group>"; };
|
|
|
|
2621CA0A12EA107700711A30 /* EmulateInstruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmulateInstruction.cpp; path = Utility/EmulateInstruction.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
263664921140A4930075843B /* Debugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Debugger.cpp; path = source/Core/Debugger.cpp; sourceTree = "<group>"; };
|
|
|
|
263664941140A4C10075843B /* Debugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Debugger.h; path = include/lldb/Core/Debugger.h; sourceTree = "<group>"; };
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26368A3B126B697600E8659F /* darwin-debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "darwin-debug.cpp"; path = "tools/darwin-debug/darwin-debug.cpp"; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
263FEDA5112CC1DA00E4C208 /* ThreadSafeSTLMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadSafeSTLMap.h; path = include/lldb/Core/ThreadSafeSTLMap.h; sourceTree = "<group>"; };
|
2010-10-05 08:00:42 +08:00
|
|
|
26424E3C125986CB0016D82C /* ValueObjectConstResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValueObjectConstResult.cpp; path = source/Core/ValueObjectConstResult.cpp; sourceTree = "<group>"; };
|
|
|
|
26424E3E125986D30016D82C /* ValueObjectConstResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueObjectConstResult.h; path = include/lldb/Core/ValueObjectConstResult.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
264334381110F63100CDB6C6 /* ValueObjectRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValueObjectRegister.cpp; path = source/Core/ValueObjectRegister.cpp; sourceTree = "<group>"; };
|
|
|
|
2643343A1110F63C00CDB6C6 /* ValueObjectRegister.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueObjectRegister.h; path = include/lldb/Core/ValueObjectRegister.h; sourceTree = "<group>"; };
|
2010-07-24 01:42:15 +08:00
|
|
|
264723A511FA076E00DE380C /* CleanUp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CleanUp.h; path = include/lldb/Utility/CleanUp.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
264AD83711095BA600E0B039 /* CommandObjectLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectLog.cpp; path = source/Commands/CommandObjectLog.cpp; sourceTree = "<group>"; };
|
|
|
|
264AD83911095BBD00E0B039 /* CommandObjectLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectLog.h; path = source/Commands/CommandObjectLog.h; sourceTree = "<group>"; };
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F68126A25920007C5CB /* darwin-debug */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "darwin-debug"; sourceTree = BUILT_PRODUCTS_DIR; };
|
2010-06-09 00:52:24 +08:00
|
|
|
265ABF6210F42EE900531910 /* DebugSymbols.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DebugSymbols.framework; path = /System/Library/PrivateFrameworks/DebugSymbols.framework; sourceTree = "<absolute>"; };
|
|
|
|
265E9BE1115C2BAA00D0DCCB /* debugserver.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = debugserver.xcodeproj; path = tools/debugserver/debugserver.xcodeproj; sourceTree = "<group>"; };
|
|
|
|
2660D9F611922A1300958FBD /* StringExtractor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringExtractor.cpp; path = source/Utility/StringExtractor.cpp; sourceTree = "<group>"; };
|
|
|
|
2660D9F711922A1300958FBD /* StringExtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StringExtractor.h; path = source/Utility/StringExtractor.h; sourceTree = "<group>"; };
|
|
|
|
2660D9FE11922A7F00958FBD /* ThreadPlanStepUntil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepUntil.cpp; path = source/Target/ThreadPlanStepUntil.cpp; sourceTree = "<group>"; };
|
|
|
|
26680207115FD0ED008E1FE4 /* LLDB.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LLDB.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
266960591199F4230075C61A /* build-llvm.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "build-llvm.pl"; sourceTree = "<group>"; };
|
|
|
|
2669605A1199F4230075C61A /* build-swig-wrapper-classes.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "build-swig-wrapper-classes.sh"; sourceTree = "<group>"; };
|
|
|
|
2669605B1199F4230075C61A /* checkpoint-llvm.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "checkpoint-llvm.pl"; sourceTree = "<group>"; };
|
|
|
|
2669605C1199F4230075C61A /* finish-swig-wrapper-classes.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "finish-swig-wrapper-classes.sh"; sourceTree = "<group>"; };
|
|
|
|
2669605D1199F4230075C61A /* install-lldb.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-lldb.sh"; sourceTree = "<group>"; };
|
|
|
|
2669605E1199F4230075C61A /* lldb.swig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = lldb.swig; sourceTree = "<group>"; };
|
|
|
|
266960601199F4230075C61A /* build-swig-Python.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "build-swig-Python.sh"; sourceTree = "<group>"; };
|
|
|
|
266960611199F4230075C61A /* edit-swig-python-wrapper-file.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = "edit-swig-python-wrapper-file.py"; sourceTree = "<group>"; };
|
|
|
|
266960621199F4230075C61A /* finish-swig-Python-lldb.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "finish-swig-Python-lldb.sh"; sourceTree = "<group>"; };
|
|
|
|
266960631199F4230075C61A /* sed-sources */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "sed-sources"; sourceTree = "<group>"; };
|
2010-11-13 11:52:47 +08:00
|
|
|
266A42D5128E3FFB0090CF7C /* ClangNamespaceDecl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangNamespaceDecl.cpp; path = source/Symbol/ClangNamespaceDecl.cpp; sourceTree = "<group>"; };
|
|
|
|
266A42D7128E40040090CF7C /* ClangNamespaceDecl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangNamespaceDecl.h; path = include/lldb/Symbol/ClangNamespaceDecl.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
2672D8461189055500FF4019 /* CommandObjectFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectFrame.cpp; path = source/Commands/CommandObjectFrame.cpp; sourceTree = "<group>"; };
|
|
|
|
2672D8471189055500FF4019 /* CommandObjectFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectFrame.h; path = source/Commands/CommandObjectFrame.h; sourceTree = "<group>"; };
|
|
|
|
2676A093119C93C8008A98EF /* StringExtractorGDBRemote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringExtractorGDBRemote.cpp; path = source/Utility/StringExtractorGDBRemote.cpp; sourceTree = "<group>"; };
|
|
|
|
2676A094119C93C8008A98EF /* StringExtractorGDBRemote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StringExtractorGDBRemote.h; path = source/Utility/StringExtractorGDBRemote.h; sourceTree = "<group>"; };
|
|
|
|
2682F16A115EDA0D00CCFF99 /* PseudoTerminal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PseudoTerminal.cpp; path = source/Utility/PseudoTerminal.cpp; sourceTree = "<group>"; };
|
2010-06-11 11:25:34 +08:00
|
|
|
2682F16B115EDA0D00CCFF99 /* PseudoTerminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PseudoTerminal.h; path = include/lldb/Utility/PseudoTerminal.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
2682F284115EF3A700CCFF99 /* SBError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBError.cpp; path = source/API/SBError.cpp; sourceTree = "<group>"; };
|
|
|
|
2682F286115EF3BD00CCFF99 /* SBError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBError.h; path = include/lldb/API/SBError.h; sourceTree = "<group>"; };
|
|
|
|
2689B0A4113EE3CD00A4AEDB /* Symbols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Symbols.h; path = include/lldb/Host/Symbols.h; sourceTree = "<group>"; };
|
|
|
|
2689B0B5113EE47E00A4AEDB /* Symbols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Symbols.cpp; path = source/Host/macosx/Symbols.cpp; sourceTree = "<group>"; };
|
|
|
|
268A813F115B19D000F645B0 /* UniqueCStringMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UniqueCStringMap.h; path = include/lldb/Core/UniqueCStringMap.h; sourceTree = "<group>"; };
|
2010-09-11 02:31:35 +08:00
|
|
|
268F9D52123AA15200B91E9B /* SBSymbolContextList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBSymbolContextList.h; path = include/lldb/API/SBSymbolContextList.h; sourceTree = "<group>"; };
|
|
|
|
268F9D54123AA16600B91E9B /* SBSymbolContextList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBSymbolContextList.cpp; path = source/API/SBSymbolContextList.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
269416AD119A024800FF2715 /* CommandObjectTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectTarget.cpp; path = source/Commands/CommandObjectTarget.cpp; sourceTree = "<group>"; };
|
|
|
|
269416AE119A024800FF2715 /* CommandObjectTarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectTarget.h; path = source/Commands/CommandObjectTarget.h; sourceTree = "<group>"; };
|
2010-09-23 09:09:21 +08:00
|
|
|
269FF07D12494F7D00225026 /* FuncUnwinders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FuncUnwinders.h; path = include/lldb/Symbol/FuncUnwinders.h; sourceTree = "<group>"; };
|
|
|
|
269FF07F12494F8E00225026 /* UnwindPlan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnwindPlan.h; path = include/lldb/Symbol/UnwindPlan.h; sourceTree = "<group>"; };
|
|
|
|
269FF08112494FC200225026 /* UnwindTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnwindTable.h; path = include/lldb/Symbol/UnwindTable.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26A0604711A5BC7A00F75969 /* Baton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Baton.h; path = include/lldb/Core/Baton.h; sourceTree = "<group>"; };
|
|
|
|
26A0604811A5D03C00F75969 /* Baton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Baton.cpp; path = source/Core/Baton.cpp; sourceTree = "<group>"; };
|
|
|
|
26A3B4AC1181454800381BC2 /* ObjectContainerBSDArchive.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectContainerBSDArchive.cpp; sourceTree = "<group>"; };
|
|
|
|
26A3B4AD1181454800381BC2 /* ObjectContainerBSDArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectContainerBSDArchive.h; sourceTree = "<group>"; };
|
|
|
|
26A4EEB511682AAC007A372A /* LLDBWrapPython.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LLDBWrapPython.cpp; path = source/LLDBWrapPython.cpp; sourceTree = "<group>"; };
|
|
|
|
26B167A41123BF5500DC7B4F /* ThreadSafeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadSafeValue.h; path = include/lldb/Core/ThreadSafeValue.h; sourceTree = "<group>"; };
|
|
|
|
26B42B1E1187A92B0079C8C8 /* lldb-include.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-include.h"; path = "include/lldb/lldb-include.h"; sourceTree = "<group>"; };
|
|
|
|
26B42C4C1187ABA50079C8C8 /* LLDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLDB.h; path = include/lldb/API/LLDB.h; sourceTree = "<group>"; };
|
|
|
|
26B4E26E112F35F700AB3F64 /* TimeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimeValue.h; path = include/lldb/Host/TimeValue.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C2510F1B3BC00F91463 /* lldb-defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-defines.h"; path = "include/lldb/lldb-defines.h"; sourceTree = "<group>"; };
|
|
|
|
26BC7C2610F1B3BC00F91463 /* lldb-enumerations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-enumerations.h"; path = "include/lldb/lldb-enumerations.h"; sourceTree = "<group>"; };
|
|
|
|
26BC7C2810F1B3BC00F91463 /* lldb-private-interfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-private-interfaces.h"; path = "include/lldb/lldb-private-interfaces.h"; sourceTree = "<group>"; };
|
|
|
|
26BC7C2910F1B3BC00F91463 /* lldb-types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-types.h"; path = "include/lldb/lldb-types.h"; sourceTree = "<group>"; };
|
|
|
|
26BC7C2A10F1B3BC00F91463 /* lldb-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-private.h"; path = "include/lldb/lldb-private.h"; sourceTree = "<group>"; };
|
|
|
|
26BC7C5510F1B6E900F91463 /* Block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Block.h; path = include/lldb/Symbol/Block.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5610F1B6E900F91463 /* ClangASTContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangASTContext.h; path = include/lldb/Symbol/ClangASTContext.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5710F1B6E900F91463 /* CompileUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CompileUnit.h; path = include/lldb/Symbol/CompileUnit.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5810F1B6E900F91463 /* Declaration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Declaration.h; path = include/lldb/Symbol/Declaration.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5910F1B6E900F91463 /* DWARFCallFrameInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DWARFCallFrameInfo.h; path = include/lldb/Symbol/DWARFCallFrameInfo.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5A10F1B6E900F91463 /* Function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Function.h; path = include/lldb/Symbol/Function.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5B10F1B6E900F91463 /* LineEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineEntry.h; path = include/lldb/Symbol/LineEntry.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5C10F1B6E900F91463 /* LineTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineTable.h; path = include/lldb/Symbol/LineTable.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5D10F1B6E900F91463 /* ObjectContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectContainer.h; path = include/lldb/Symbol/ObjectContainer.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5E10F1B6E900F91463 /* ObjectFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectFile.h; path = include/lldb/Symbol/ObjectFile.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C5F10F1B6E900F91463 /* Symbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Symbol.h; path = include/lldb/Symbol/Symbol.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6010F1B6E900F91463 /* SymbolContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SymbolContext.h; path = include/lldb/Symbol/SymbolContext.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6110F1B6E900F91463 /* SymbolContextScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SymbolContextScope.h; path = include/lldb/Symbol/SymbolContextScope.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6210F1B6E900F91463 /* SymbolFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SymbolFile.h; path = include/lldb/Symbol/SymbolFile.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6310F1B6E900F91463 /* SymbolVendor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SymbolVendor.h; path = include/lldb/Symbol/SymbolVendor.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6410F1B6E900F91463 /* Symtab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Symtab.h; path = include/lldb/Symbol/Symtab.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6510F1B6E900F91463 /* Type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Type.h; path = include/lldb/Symbol/Type.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6610F1B6E900F91463 /* TypeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TypeList.h; path = include/lldb/Symbol/TypeList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6710F1B6E900F91463 /* Variable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Variable.h; path = include/lldb/Symbol/Variable.h; sourceTree = "<group>"; };
|
|
|
|
26BC7C6810F1B6E900F91463 /* VariableList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VariableList.h; path = include/lldb/Symbol/VariableList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CED10F1B71400F91463 /* StoppointCallbackContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StoppointCallbackContext.h; path = include/lldb/Breakpoint/StoppointCallbackContext.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CEE10F1B71400F91463 /* Breakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Breakpoint.h; path = include/lldb/Breakpoint/Breakpoint.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CEF10F1B71400F91463 /* BreakpointID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointID.h; path = include/lldb/Breakpoint/BreakpointID.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF010F1B71400F91463 /* BreakpointIDList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointIDList.h; path = include/lldb/Breakpoint/BreakpointIDList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF110F1B71400F91463 /* BreakpointList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointList.h; path = include/lldb/Breakpoint/BreakpointList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF210F1B71400F91463 /* BreakpointLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointLocation.h; path = include/lldb/Breakpoint/BreakpointLocation.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF310F1B71400F91463 /* BreakpointLocationCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointLocationCollection.h; path = include/lldb/Breakpoint/BreakpointLocationCollection.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF410F1B71400F91463 /* BreakpointLocationList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointLocationList.h; path = include/lldb/Breakpoint/BreakpointLocationList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF510F1B71400F91463 /* BreakpointOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointOptions.h; path = include/lldb/Breakpoint/BreakpointOptions.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF610F1B71400F91463 /* BreakpointResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointResolver.h; path = include/lldb/Breakpoint/BreakpointResolver.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF710F1B71400F91463 /* BreakpointSite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointSite.h; path = include/lldb/Breakpoint/BreakpointSite.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF810F1B71400F91463 /* BreakpointSiteList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointSiteList.h; path = include/lldb/Breakpoint/BreakpointSiteList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CF910F1B71400F91463 /* SearchFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchFilter.h; path = include/lldb/Core/SearchFilter.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CFA10F1B71400F91463 /* Stoppoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Stoppoint.h; path = include/lldb/Breakpoint/Stoppoint.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CFB10F1B71400F91463 /* StoppointLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StoppointLocation.h; path = include/lldb/Breakpoint/StoppointLocation.h; sourceTree = "<group>"; };
|
|
|
|
26BC7CFC10F1B71400F91463 /* WatchpointLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WatchpointLocation.h; path = include/lldb/Breakpoint/WatchpointLocation.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1410F1B76300F91463 /* CommandObjectBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectBreakpoint.h; path = source/Commands/CommandObjectBreakpoint.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1710F1B76300F91463 /* CommandObjectDisassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectDisassemble.h; path = source/Commands/CommandObjectDisassemble.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1810F1B76300F91463 /* CommandObjectExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectExpression.h; path = source/Commands/CommandObjectExpression.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1910F1B76300F91463 /* CommandObjectFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectFile.h; path = source/Commands/CommandObjectFile.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1A10F1B76300F91463 /* CommandObjectHelp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectHelp.h; path = source/Commands/CommandObjectHelp.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1B10F1B76300F91463 /* CommandObjectImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectImage.h; path = source/Commands/CommandObjectImage.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1D10F1B76300F91463 /* CommandObjectMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectMemory.h; path = source/Commands/CommandObjectMemory.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D1F10F1B76300F91463 /* CommandObjectProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectProcess.h; path = source/Commands/CommandObjectProcess.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D2010F1B76300F91463 /* CommandObjectQuit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectQuit.h; path = source/Commands/CommandObjectQuit.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D2210F1B76300F91463 /* CommandObjectRegister.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectRegister.h; path = source/Commands/CommandObjectRegister.h; sourceTree = "<group>"; };
|
2010-06-12 23:43:35 +08:00
|
|
|
26BC7D2410F1B76300F91463 /* CommandObjectScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectScript.h; path = source/Interpreter/CommandObjectScript.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D2710F1B76300F91463 /* CommandObjectSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectSettings.h; path = source/Commands/CommandObjectSettings.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D2910F1B76300F91463 /* CommandObjectSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectSource.h; path = source/Commands/CommandObjectSource.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D2C10F1B76300F91463 /* CommandObjectSyntax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectSyntax.h; path = source/Commands/CommandObjectSyntax.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D2D10F1B76300F91463 /* CommandObjectThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectThread.h; path = source/Commands/CommandObjectThread.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5010F1B77400F91463 /* Address.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Address.h; path = include/lldb/Core/Address.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5110F1B77400F91463 /* AddressRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AddressRange.h; path = include/lldb/Core/AddressRange.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5210F1B77400F91463 /* ArchSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ArchSpec.h; path = include/lldb/Core/ArchSpec.h; sourceTree = "<group>"; };
|
2010-06-16 03:49:27 +08:00
|
|
|
26BC7D5310F1B77400F91463 /* Args.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Args.h; path = include/lldb/Interpreter/Args.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D5410F1B77400F91463 /* Broadcaster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Broadcaster.h; path = include/lldb/Core/Broadcaster.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5510F1B77400F91463 /* ClangForward.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangForward.h; path = include/lldb/Core/ClangForward.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5610F1B77400F91463 /* Communication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Communication.h; path = include/lldb/Core/Communication.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5710F1B77400F91463 /* Connection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Connection.h; path = include/lldb/Core/Connection.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5810F1B77400F91463 /* ConnectionFileDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConnectionFileDescriptor.h; path = include/lldb/Core/ConnectionFileDescriptor.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5910F1B77400F91463 /* DataBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DataBuffer.h; path = include/lldb/Core/DataBuffer.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5A10F1B77400F91463 /* DataExtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DataExtractor.h; path = include/lldb/Core/DataExtractor.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5B10F1B77400F91463 /* DataBufferHeap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DataBufferHeap.h; path = include/lldb/Core/DataBufferHeap.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5C10F1B77400F91463 /* DataBufferMemoryMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DataBufferMemoryMap.h; path = include/lldb/Core/DataBufferMemoryMap.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5D10F1B77400F91463 /* lldb-private-log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "lldb-private-log.h"; path = "include/lldb/lldb-private-log.h"; sourceTree = "<group>"; };
|
|
|
|
26BC7D5E10F1B77400F91463 /* Disassembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Disassembler.h; path = include/lldb/Core/Disassembler.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D5F10F1B77400F91463 /* dwarf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf.h; path = include/lldb/Core/dwarf.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6010F1B77400F91463 /* Error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Error.h; path = include/lldb/Core/Error.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6110F1B77400F91463 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Event.h; path = include/lldb/Core/Event.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6210F1B77400F91463 /* FileSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileSpec.h; path = include/lldb/Core/FileSpec.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6310F1B77400F91463 /* FileSpecList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileSpecList.h; path = include/lldb/Core/FileSpecList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6410F1B77400F91463 /* Flags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Flags.h; path = include/lldb/Core/Flags.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6510F1B77400F91463 /* IOStreamMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOStreamMacros.h; path = include/lldb/Core/IOStreamMacros.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6610F1B77400F91463 /* Language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Language.h; path = include/lldb/Core/Language.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6710F1B77400F91463 /* Listener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Listener.h; path = include/lldb/Core/Listener.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6810F1B77400F91463 /* Log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Log.h; path = include/lldb/Core/Log.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6910F1B77400F91463 /* Mangled.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Mangled.h; path = include/lldb/Core/Mangled.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6A10F1B77400F91463 /* Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Module.h; path = include/lldb/Core/Module.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6B10F1B77400F91463 /* ModuleChild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModuleChild.h; path = include/lldb/Core/ModuleChild.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D6C10F1B77400F91463 /* ModuleList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModuleList.h; path = include/lldb/Core/ModuleList.h; sourceTree = "<group>"; };
|
2010-06-16 03:49:27 +08:00
|
|
|
26BC7D6D10F1B77400F91463 /* Options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Options.h; path = include/lldb/Interpreter/Options.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D7010F1B77400F91463 /* PluginInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PluginInterface.h; path = include/lldb/Core/PluginInterface.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7110F1B77400F91463 /* PluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PluginManager.h; path = include/lldb/Core/PluginManager.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7310F1B77400F91463 /* RegularExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegularExpression.h; path = include/lldb/Core/RegularExpression.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7410F1B77400F91463 /* Scalar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Scalar.h; path = include/lldb/Core/Scalar.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7510F1B77400F91463 /* Section.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Section.h; path = include/lldb/Core/Section.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7610F1B77400F91463 /* SourceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SourceManager.h; path = include/lldb/Core/SourceManager.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7710F1B77400F91463 /* State.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = State.h; path = include/lldb/Core/State.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7810F1B77400F91463 /* STLUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STLUtils.h; path = include/lldb/Core/STLUtils.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7910F1B77400F91463 /* Stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Stream.h; path = include/lldb/Core/Stream.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7A10F1B77400F91463 /* StreamFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamFile.h; path = include/lldb/Core/StreamFile.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7B10F1B77400F91463 /* StreamString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamString.h; path = include/lldb/Core/StreamString.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7C10F1B77400F91463 /* ConstString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConstString.h; path = include/lldb/Core/ConstString.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7E10F1B77400F91463 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Timer.h; path = include/lldb/Core/Timer.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D7F10F1B77400F91463 /* TTYState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TTYState.h; path = include/lldb/Core/TTYState.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8010F1B77400F91463 /* UserID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserID.h; path = include/lldb/Core/UserID.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8110F1B77400F91463 /* Value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Value.h; path = include/lldb/Core/Value.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8210F1B77400F91463 /* ValueObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueObject.h; path = include/lldb/Core/ValueObject.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8310F1B77400F91463 /* ValueObjectChild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueObjectChild.h; path = include/lldb/Core/ValueObjectChild.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8410F1B77400F91463 /* ValueObjectList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueObjectList.h; path = include/lldb/Core/ValueObjectList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8510F1B77400F91463 /* ValueObjectVariable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueObjectVariable.h; path = include/lldb/Core/ValueObjectVariable.h; sourceTree = "<group>"; };
|
|
|
|
26BC7D8610F1B77400F91463 /* VMRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VMRange.h; path = include/lldb/Core/VMRange.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DC010F1B79500F91463 /* ClangExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangExpression.h; path = include/lldb/Expression/ClangExpression.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DC110F1B79500F91463 /* ClangExpressionVariable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangExpressionVariable.h; path = include/lldb/Expression/ClangExpressionVariable.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DC310F1B79500F91463 /* DWARFExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DWARFExpression.h; path = include/lldb/Expression/DWARFExpression.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DD210F1B7D500F91463 /* Condition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Condition.h; path = include/lldb/Host/Condition.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DD310F1B7D500F91463 /* Endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Endian.h; path = include/lldb/Host/Endian.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DD410F1B7D500F91463 /* Host.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Host.h; path = include/lldb/Host/Host.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DD510F1B7D500F91463 /* Mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Mutex.h; path = include/lldb/Host/Mutex.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DD610F1B7D500F91463 /* Predicate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Predicate.h; path = include/lldb/Host/Predicate.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DE210F1B7F900F91463 /* CommandInterpreter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandInterpreter.h; path = include/lldb/Interpreter/CommandInterpreter.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DE310F1B7F900F91463 /* CommandObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObject.h; path = include/lldb/Interpreter/CommandObject.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DE410F1B7F900F91463 /* CommandReturnObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandReturnObject.h; path = include/lldb/Interpreter/CommandReturnObject.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DE510F1B7F900F91463 /* ScriptInterpreter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScriptInterpreter.h; path = include/lldb/Interpreter/ScriptInterpreter.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DE610F1B7F900F91463 /* ScriptInterpreterPython.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScriptInterpreterPython.h; path = include/lldb/Interpreter/ScriptInterpreterPython.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF110F1B81A00F91463 /* DynamicLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynamicLoader.h; path = include/lldb/Target/DynamicLoader.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF210F1B81A00F91463 /* ExecutionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExecutionContext.h; path = include/lldb/Target/ExecutionContext.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF310F1B81A00F91463 /* Process.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Process.h; path = include/lldb/Target/Process.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF410F1B81A00F91463 /* RegisterContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegisterContext.h; path = include/lldb/Target/RegisterContext.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF510F1B81A00F91463 /* StackFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StackFrame.h; path = include/lldb/Target/StackFrame.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF610F1B81A00F91463 /* StackFrameList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StackFrameList.h; path = include/lldb/Target/StackFrameList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF710F1B81A00F91463 /* StackID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StackID.h; path = include/lldb/Target/StackID.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF810F1B81A00F91463 /* Target.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Target.h; path = include/lldb/Target/Target.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DF910F1B81A00F91463 /* TargetList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetList.h; path = include/lldb/Target/TargetList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DFA10F1B81A00F91463 /* Thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Thread.h; path = include/lldb/Target/Thread.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DFB10F1B81A00F91463 /* ThreadList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadList.h; path = include/lldb/Target/ThreadList.h; sourceTree = "<group>"; };
|
|
|
|
26BC7DFC10F1B81A00F91463 /* ThreadPlan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlan.h; path = include/lldb/Target/ThreadPlan.h; sourceTree = "<group>"; };
|
|
|
|
26BC7E0910F1B83100F91463 /* StoppointCallbackContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StoppointCallbackContext.cpp; path = source/Breakpoint/StoppointCallbackContext.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E0A10F1B83100F91463 /* Breakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Breakpoint.cpp; path = source/Breakpoint/Breakpoint.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E0B10F1B83100F91463 /* BreakpointID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointID.cpp; path = source/Breakpoint/BreakpointID.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E0C10F1B83100F91463 /* BreakpointIDList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointIDList.cpp; path = source/Breakpoint/BreakpointIDList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E0D10F1B83100F91463 /* BreakpointList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointList.cpp; path = source/Breakpoint/BreakpointList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E0E10F1B83100F91463 /* BreakpointLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointLocation.cpp; path = source/Breakpoint/BreakpointLocation.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E0F10F1B83100F91463 /* BreakpointLocationCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointLocationCollection.cpp; path = source/Breakpoint/BreakpointLocationCollection.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1010F1B83100F91463 /* BreakpointLocationList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointLocationList.cpp; path = source/Breakpoint/BreakpointLocationList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1110F1B83100F91463 /* BreakpointOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointOptions.cpp; path = source/Breakpoint/BreakpointOptions.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1210F1B83100F91463 /* BreakpointResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolver.cpp; path = source/Breakpoint/BreakpointResolver.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1310F1B83100F91463 /* BreakpointSite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointSite.cpp; path = source/Breakpoint/BreakpointSite.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1410F1B83100F91463 /* BreakpointSiteList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointSiteList.cpp; path = source/Breakpoint/BreakpointSiteList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1510F1B83100F91463 /* SearchFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SearchFilter.cpp; path = source/Core/SearchFilter.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1610F1B83100F91463 /* Stoppoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stoppoint.cpp; path = source/Breakpoint/Stoppoint.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1710F1B83100F91463 /* StoppointLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StoppointLocation.cpp; path = source/Breakpoint/StoppointLocation.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E1810F1B83100F91463 /* WatchpointLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WatchpointLocation.cpp; path = source/Breakpoint/WatchpointLocation.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E2D10F1B84700F91463 /* CommandObjectBreakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectBreakpoint.cpp; path = source/Commands/CommandObjectBreakpoint.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3010F1B84700F91463 /* CommandObjectDisassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectDisassemble.cpp; path = source/Commands/CommandObjectDisassemble.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3110F1B84700F91463 /* CommandObjectExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectExpression.cpp; path = source/Commands/CommandObjectExpression.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3210F1B84700F91463 /* CommandObjectFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectFile.cpp; path = source/Commands/CommandObjectFile.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3310F1B84700F91463 /* CommandObjectHelp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectHelp.cpp; path = source/Commands/CommandObjectHelp.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3410F1B84700F91463 /* CommandObjectImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectImage.cpp; path = source/Commands/CommandObjectImage.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3610F1B84700F91463 /* CommandObjectMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectMemory.cpp; path = source/Commands/CommandObjectMemory.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3810F1B84700F91463 /* CommandObjectProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectProcess.cpp; path = source/Commands/CommandObjectProcess.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3910F1B84700F91463 /* CommandObjectQuit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectQuit.cpp; path = source/Commands/CommandObjectQuit.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E3B10F1B84700F91463 /* CommandObjectRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectRegister.cpp; path = source/Commands/CommandObjectRegister.cpp; sourceTree = "<group>"; };
|
2010-06-12 23:43:35 +08:00
|
|
|
26BC7E3D10F1B84700F91463 /* CommandObjectScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectScript.cpp; path = source/Interpreter/CommandObjectScript.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7E4010F1B84700F91463 /* CommandObjectSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectSettings.cpp; path = source/Commands/CommandObjectSettings.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E4210F1B84700F91463 /* CommandObjectSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectSource.cpp; path = source/Commands/CommandObjectSource.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E4510F1B84700F91463 /* CommandObjectSyntax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectSyntax.cpp; path = source/Commands/CommandObjectSyntax.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E4610F1B84700F91463 /* CommandObjectThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectThread.cpp; path = source/Commands/CommandObjectThread.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E6910F1B85900F91463 /* Address.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Address.cpp; path = source/Core/Address.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E6A10F1B85900F91463 /* AddressRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AddressRange.cpp; path = source/Core/AddressRange.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E6B10F1B85900F91463 /* ArchSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArchSpec.cpp; path = source/Core/ArchSpec.cpp; sourceTree = "<group>"; };
|
2010-06-16 03:49:27 +08:00
|
|
|
26BC7E6C10F1B85900F91463 /* Args.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Args.cpp; path = source/Interpreter/Args.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7E6D10F1B85900F91463 /* Broadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Broadcaster.cpp; path = source/Core/Broadcaster.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E6E10F1B85900F91463 /* Communication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Communication.cpp; path = source/Core/Communication.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E6F10F1B85900F91463 /* Connection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Connection.cpp; path = source/Core/Connection.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7010F1B85900F91463 /* ConnectionFileDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConnectionFileDescriptor.cpp; path = source/Core/ConnectionFileDescriptor.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7110F1B85900F91463 /* DataExtractor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DataExtractor.cpp; path = source/Core/DataExtractor.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7210F1B85900F91463 /* DataBufferHeap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DataBufferHeap.cpp; path = source/Core/DataBufferHeap.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7310F1B85900F91463 /* DataBufferMemoryMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DataBufferMemoryMap.cpp; path = source/Core/DataBufferMemoryMap.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7410F1B85900F91463 /* lldb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lldb.cpp; path = source/lldb.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7510F1B85900F91463 /* lldb-log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "lldb-log.cpp"; path = "source/lldb-log.cpp"; sourceTree = "<group>"; };
|
|
|
|
26BC7E7610F1B85900F91463 /* Disassembler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Disassembler.cpp; path = source/Core/Disassembler.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7710F1B85900F91463 /* DynamicLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynamicLoader.cpp; path = source/Core/DynamicLoader.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7810F1B85900F91463 /* Error.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Error.cpp; path = source/Core/Error.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7910F1B85900F91463 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Event.cpp; path = source/Core/Event.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7A10F1B85900F91463 /* FileSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileSpec.cpp; path = source/Core/FileSpec.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7B10F1B85900F91463 /* FileSpecList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileSpecList.cpp; path = source/Core/FileSpecList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7D10F1B85900F91463 /* Language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Language.cpp; path = source/Core/Language.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7E10F1B85900F91463 /* Listener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Listener.cpp; path = source/Core/Listener.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E7F10F1B85900F91463 /* Log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Log.cpp; path = source/Core/Log.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8010F1B85900F91463 /* Mangled.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mangled.cpp; path = source/Core/Mangled.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8110F1B85900F91463 /* Module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Module.cpp; path = source/Core/Module.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8210F1B85900F91463 /* ModuleChild.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ModuleChild.cpp; path = source/Core/ModuleChild.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8310F1B85900F91463 /* ModuleList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ModuleList.cpp; path = source/Core/ModuleList.cpp; sourceTree = "<group>"; };
|
2010-06-16 03:49:27 +08:00
|
|
|
26BC7E8610F1B85900F91463 /* Options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Options.cpp; path = source/Interpreter/Options.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7E8A10F1B85900F91463 /* PluginManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PluginManager.cpp; path = source/Core/PluginManager.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8C10F1B85900F91463 /* RegularExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegularExpression.cpp; path = source/Core/RegularExpression.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8D10F1B85900F91463 /* Scalar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Scalar.cpp; path = source/Core/Scalar.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8E10F1B85900F91463 /* Section.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Section.cpp; path = source/Core/Section.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E8F10F1B85900F91463 /* SourceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SourceManager.cpp; path = source/Core/SourceManager.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9010F1B85900F91463 /* State.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = State.cpp; path = source/Core/State.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9110F1B85900F91463 /* Stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stream.cpp; path = source/Core/Stream.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9210F1B85900F91463 /* StreamFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StreamFile.cpp; path = source/Core/StreamFile.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9310F1B85900F91463 /* StreamString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StreamString.cpp; path = source/Core/StreamString.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9410F1B85900F91463 /* ConstString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConstString.cpp; path = source/Core/ConstString.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9610F1B85900F91463 /* Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Timer.cpp; path = source/Core/Timer.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9710F1B85900F91463 /* TTYState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TTYState.cpp; path = source/Core/TTYState.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9810F1B85900F91463 /* UserID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UserID.cpp; path = source/Core/UserID.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9910F1B85900F91463 /* Value.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Value.cpp; path = source/Core/Value.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9A10F1B85900F91463 /* ValueObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValueObject.cpp; path = source/Core/ValueObject.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9B10F1B85900F91463 /* ValueObjectChild.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValueObjectChild.cpp; path = source/Core/ValueObjectChild.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9C10F1B85900F91463 /* ValueObjectList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValueObjectList.cpp; path = source/Core/ValueObjectList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9D10F1B85900F91463 /* ValueObjectVariable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ValueObjectVariable.cpp; path = source/Core/ValueObjectVariable.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7E9E10F1B85900F91463 /* VMRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VMRange.cpp; path = source/Core/VMRange.cpp; sourceTree = "<group>"; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
26BC7ED510F1B86700F91463 /* ClangUserExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangUserExpression.cpp; path = source/Expression/ClangUserExpression.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7ED610F1B86700F91463 /* ClangExpressionVariable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangExpressionVariable.cpp; path = source/Expression/ClangExpressionVariable.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7ED810F1B86700F91463 /* DWARFExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DWARFExpression.cpp; path = source/Expression/DWARFExpression.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EE810F1B88F00F91463 /* Host.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Host.mm; path = source/Host/macosx/Host.mm; sourceTree = "<group>"; };
|
|
|
|
26BC7EED10F1B8AD00F91463 /* CFCBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFCBundle.cpp; path = source/Host/macosx/cfcpp/CFCBundle.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EEE10F1B8AD00F91463 /* CFCBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCBundle.h; path = source/Host/macosx/cfcpp/CFCBundle.h; sourceTree = "<group>"; };
|
|
|
|
26BC7EEF10F1B8AD00F91463 /* CFCData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFCData.cpp; path = source/Host/macosx/cfcpp/CFCData.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EF010F1B8AD00F91463 /* CFCData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCData.h; path = source/Host/macosx/cfcpp/CFCData.h; sourceTree = "<group>"; };
|
|
|
|
26BC7EF110F1B8AD00F91463 /* CFCMutableArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFCMutableArray.cpp; path = source/Host/macosx/cfcpp/CFCMutableArray.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EF210F1B8AD00F91463 /* CFCMutableArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCMutableArray.h; path = source/Host/macosx/cfcpp/CFCMutableArray.h; sourceTree = "<group>"; };
|
|
|
|
26BC7EF310F1B8AD00F91463 /* CFCMutableDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFCMutableDictionary.cpp; path = source/Host/macosx/cfcpp/CFCMutableDictionary.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EF410F1B8AD00F91463 /* CFCMutableDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCMutableDictionary.h; path = source/Host/macosx/cfcpp/CFCMutableDictionary.h; sourceTree = "<group>"; };
|
|
|
|
26BC7EF510F1B8AD00F91463 /* CFCMutableSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFCMutableSet.cpp; path = source/Host/macosx/cfcpp/CFCMutableSet.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EF610F1B8AD00F91463 /* CFCMutableSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCMutableSet.h; path = source/Host/macosx/cfcpp/CFCMutableSet.h; sourceTree = "<group>"; };
|
|
|
|
26BC7EF710F1B8AD00F91463 /* CFCReleaser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCReleaser.h; path = source/Host/macosx/cfcpp/CFCReleaser.h; sourceTree = "<group>"; };
|
|
|
|
26BC7EF810F1B8AD00F91463 /* CFCString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFCString.cpp; path = source/Host/macosx/cfcpp/CFCString.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7EF910F1B8AD00F91463 /* CFCString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFCString.h; path = source/Host/macosx/cfcpp/CFCString.h; sourceTree = "<group>"; };
|
|
|
|
26BC7F0810F1B8DD00F91463 /* CommandInterpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandInterpreter.cpp; path = source/Interpreter/CommandInterpreter.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F0910F1B8DD00F91463 /* CommandObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObject.cpp; path = source/Interpreter/CommandObject.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F0A10F1B8DD00F91463 /* CommandReturnObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandReturnObject.cpp; path = source/Interpreter/CommandReturnObject.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F0C10F1B8DD00F91463 /* ScriptInterpreterPython.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScriptInterpreterPython.cpp; path = source/Interpreter/ScriptInterpreterPython.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1310F1B8EC00F91463 /* Block.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Block.cpp; path = source/Symbol/Block.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1410F1B8EC00F91463 /* ClangASTContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangASTContext.cpp; path = source/Symbol/ClangASTContext.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1510F1B8EC00F91463 /* CompileUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CompileUnit.cpp; path = source/Symbol/CompileUnit.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1610F1B8EC00F91463 /* Declaration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Declaration.cpp; path = source/Symbol/Declaration.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1710F1B8EC00F91463 /* DWARFCallFrameInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DWARFCallFrameInfo.cpp; path = source/Symbol/DWARFCallFrameInfo.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1810F1B8EC00F91463 /* Function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Function.cpp; path = source/Symbol/Function.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1910F1B8EC00F91463 /* LineEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LineEntry.cpp; path = source/Symbol/LineEntry.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1A10F1B8EC00F91463 /* LineTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LineTable.cpp; path = source/Symbol/LineTable.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1B10F1B8EC00F91463 /* Symbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Symbol.cpp; path = source/Symbol/Symbol.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1C10F1B8EC00F91463 /* SymbolContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SymbolContext.cpp; path = source/Symbol/SymbolContext.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1D10F1B8EC00F91463 /* SymbolFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SymbolFile.cpp; path = source/Symbol/SymbolFile.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F1F10F1B8EC00F91463 /* Symtab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Symtab.cpp; path = source/Symbol/Symtab.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F2010F1B8EC00F91463 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Type.cpp; path = source/Symbol/Type.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F2110F1B8EC00F91463 /* TypeList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TypeList.cpp; path = source/Symbol/TypeList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F2210F1B8EC00F91463 /* Variable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Variable.cpp; path = source/Symbol/Variable.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F2310F1B8EC00F91463 /* VariableList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VariableList.cpp; path = source/Symbol/VariableList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3510F1B90C00F91463 /* ExecutionContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ExecutionContext.cpp; path = source/Target/ExecutionContext.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3610F1B90C00F91463 /* Process.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Process.cpp; path = source/Target/Process.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3710F1B90C00F91463 /* RegisterContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegisterContext.cpp; path = source/Target/RegisterContext.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3810F1B90C00F91463 /* StackFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StackFrame.cpp; path = source/Target/StackFrame.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3910F1B90C00F91463 /* StackFrameList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StackFrameList.cpp; path = source/Target/StackFrameList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3A10F1B90C00F91463 /* StackID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StackID.cpp; path = source/Target/StackID.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3B10F1B90C00F91463 /* Target.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Target.cpp; path = source/Target/Target.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3C10F1B90C00F91463 /* TargetList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetList.cpp; path = source/Target/TargetList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3D10F1B90C00F91463 /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Thread.cpp; path = source/Target/Thread.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3E10F1B90C00F91463 /* ThreadList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadList.cpp; path = source/Target/ThreadList.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F3F10F1B90C00F91463 /* ThreadPlan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlan.cpp; path = source/Target/ThreadPlan.cpp; sourceTree = "<group>"; };
|
|
|
|
26BC7F4C10F1BC1A00F91463 /* ObjectFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ObjectFile.cpp; path = source/Symbol/ObjectFile.cpp; sourceTree = "<group>"; };
|
2010-09-18 01:42:16 +08:00
|
|
|
26C72C93124322890068DC16 /* SBStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBStream.h; path = include/lldb/API/SBStream.h; sourceTree = "<group>"; };
|
|
|
|
26C72C951243229A0068DC16 /* SBStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBStream.cpp; path = source/API/SBStream.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26C81CA411335651004BDC5A /* UUID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UUID.h; path = include/lldb/Core/UUID.h; sourceTree = "<group>"; };
|
|
|
|
26C81CA511335651004BDC5A /* UUID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UUID.cpp; path = source/Core/UUID.cpp; sourceTree = "<group>"; };
|
|
|
|
26C9DF03113C5B93006B0F94 /* lldb */ = {isa = PBXFileReference; lastKnownFileType = folder; name = lldb; path = include/lldb; sourceTree = "<group>"; };
|
|
|
|
26D0DD5010FE554D00271C65 /* BreakpointResolverAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointResolverAddress.h; path = include/lldb/Breakpoint/BreakpointResolverAddress.h; sourceTree = "<group>"; };
|
|
|
|
26D0DD5110FE554D00271C65 /* BreakpointResolverFileLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointResolverFileLine.h; path = include/lldb/Breakpoint/BreakpointResolverFileLine.h; sourceTree = "<group>"; };
|
|
|
|
26D0DD5210FE554D00271C65 /* BreakpointResolverName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BreakpointResolverName.h; path = include/lldb/Breakpoint/BreakpointResolverName.h; sourceTree = "<group>"; };
|
|
|
|
26D0DD5310FE555900271C65 /* BreakpointResolverAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolverAddress.cpp; path = source/Breakpoint/BreakpointResolverAddress.cpp; sourceTree = "<group>"; };
|
|
|
|
26D0DD5410FE555900271C65 /* BreakpointResolverFileLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolverFileLine.cpp; path = source/Breakpoint/BreakpointResolverFileLine.cpp; sourceTree = "<group>"; };
|
|
|
|
26D0DD5510FE555900271C65 /* BreakpointResolverName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreakpointResolverName.cpp; path = source/Breakpoint/BreakpointResolverName.cpp; sourceTree = "<group>"; };
|
2010-07-14 08:20:31 +08:00
|
|
|
26D27C9D11ED3A4E0024D721 /* ELFHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ELFHeader.cpp; sourceTree = "<group>"; };
|
|
|
|
26D27C9E11ED3A4E0024D721 /* ELFHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ELFHeader.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26DAFD9711529BC7005A394E /* ExecutionContextScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExecutionContextScope.h; path = include/lldb/Target/ExecutionContextScope.h; 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>"; };
|
|
|
|
26DE204211618ACA00A093E2 /* SBAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBAddress.h; path = include/lldb/API/SBAddress.h; sourceTree = "<group>"; };
|
|
|
|
26DE204411618ADA00A093E2 /* SBAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBAddress.cpp; path = source/API/SBAddress.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE204611618AED00A093E2 /* SBSymbolContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBSymbolContext.cpp; path = source/API/SBSymbolContext.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE204C11618E7A00A093E2 /* SBModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBModule.cpp; path = source/API/SBModule.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE204E11618E9800A093E2 /* SBModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBModule.h; path = include/lldb/API/SBModule.h; sourceTree = "<group>"; };
|
|
|
|
26DE205211618FAC00A093E2 /* SBFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBFunction.h; path = include/lldb/API/SBFunction.h; sourceTree = "<group>"; };
|
|
|
|
26DE205411618FB800A093E2 /* SBCompileUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBCompileUnit.h; path = include/lldb/API/SBCompileUnit.h; sourceTree = "<group>"; };
|
|
|
|
26DE205611618FC500A093E2 /* SBBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBBlock.h; path = include/lldb/API/SBBlock.h; sourceTree = "<group>"; };
|
|
|
|
26DE205811618FE700A093E2 /* SBLineEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBLineEntry.h; path = include/lldb/API/SBLineEntry.h; sourceTree = "<group>"; };
|
|
|
|
26DE205A11618FF600A093E2 /* SBSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBSymbol.h; path = include/lldb/API/SBSymbol.h; sourceTree = "<group>"; };
|
|
|
|
26DE205C1161901400A093E2 /* SBFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBFunction.cpp; path = source/API/SBFunction.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE205E1161901B00A093E2 /* SBCompileUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBCompileUnit.cpp; path = source/API/SBCompileUnit.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE20601161902600A093E2 /* SBBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBBlock.cpp; path = source/API/SBBlock.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE20621161904200A093E2 /* SBLineEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBLineEntry.cpp; path = source/API/SBLineEntry.cpp; sourceTree = "<group>"; };
|
|
|
|
26DE20641161904E00A093E2 /* SBSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBSymbol.cpp; path = source/API/SBSymbol.cpp; sourceTree = "<group>"; };
|
|
|
|
26DFBC50113B48D600DD817F /* CommandObjectCrossref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectCrossref.h; path = include/lldb/Interpreter/CommandObjectCrossref.h; sourceTree = "<group>"; };
|
|
|
|
26DFBC51113B48D600DD817F /* CommandObjectMultiword.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectMultiword.h; path = include/lldb/Interpreter/CommandObjectMultiword.h; sourceTree = "<group>"; };
|
|
|
|
26DFBC52113B48D600DD817F /* CommandObjectRegexCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectRegexCommand.h; path = include/lldb/Interpreter/CommandObjectRegexCommand.h; sourceTree = "<group>"; };
|
2010-06-12 23:43:35 +08:00
|
|
|
26DFBC57113B48F300DD817F /* CommandObjectCrossref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectCrossref.cpp; path = source/Commands/CommandObjectCrossref.cpp; sourceTree = "<group>"; };
|
|
|
|
26DFBC58113B48F300DD817F /* CommandObjectMultiword.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectMultiword.cpp; path = source/Commands/CommandObjectMultiword.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26DFBC59113B48F300DD817F /* CommandObjectRegexCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectRegexCommand.cpp; path = source/Interpreter/CommandObjectRegexCommand.cpp; sourceTree = "<group>"; };
|
|
|
|
26E3EEBD11A9870400FBADB6 /* Unwind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Unwind.h; path = include/lldb/Target/Unwind.h; sourceTree = "<group>"; };
|
|
|
|
26E3EEE311A9901300FBADB6 /* UnwindMacOSXFrameBackchain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnwindMacOSXFrameBackchain.cpp; path = Utility/UnwindMacOSXFrameBackchain.cpp; sourceTree = "<group>"; };
|
|
|
|
26E3EEE411A9901300FBADB6 /* UnwindMacOSXFrameBackchain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnwindMacOSXFrameBackchain.h; path = Utility/UnwindMacOSXFrameBackchain.h; sourceTree = "<group>"; };
|
|
|
|
26E3EEF711A994E800FBADB6 /* RegisterContextMacOSXFrameBackchain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegisterContextMacOSXFrameBackchain.cpp; path = Utility/RegisterContextMacOSXFrameBackchain.cpp; sourceTree = "<group>"; };
|
|
|
|
26E3EEF811A994E800FBADB6 /* RegisterContextMacOSXFrameBackchain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegisterContextMacOSXFrameBackchain.h; path = Utility/RegisterContextMacOSXFrameBackchain.h; sourceTree = "<group>"; };
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
26E6902E129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangExternalASTSourceCallbacks.h; path = include/lldb/Symbol/ClangExternalASTSourceCallbacks.h; sourceTree = "<group>"; };
|
|
|
|
26E69030129C6BEF00DDECD9 /* ClangExternalASTSourceCallbacks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangExternalASTSourceCallbacks.cpp; path = source/Symbol/ClangExternalASTSourceCallbacks.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26F5C26A10F3D9A4009D5894 /* lldb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = lldb; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
26F5C27210F3D9E4009D5894 /* lldb-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "lldb-Info.plist"; path = "tools/driver/lldb-Info.plist"; sourceTree = "<group>"; };
|
|
|
|
26F5C27310F3D9E4009D5894 /* Driver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Driver.cpp; path = tools/driver/Driver.cpp; sourceTree = "<group>"; };
|
|
|
|
26F5C27410F3D9E4009D5894 /* Driver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Driver.h; path = tools/driver/Driver.h; sourceTree = "<group>"; };
|
|
|
|
26F5C27510F3D9E4009D5894 /* IOChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOChannel.cpp; path = tools/driver/IOChannel.cpp; sourceTree = "<group>"; };
|
|
|
|
26F5C27610F3D9E4009D5894 /* IOChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOChannel.h; path = tools/driver/IOChannel.h; sourceTree = "<group>"; };
|
2010-10-29 05:51:20 +08:00
|
|
|
26F5C32410F3DF23009D5894 /* libpython.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpython.dylib; path = /usr/lib/libpython.dylib; sourceTree = "<absolute>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
26F5C32A10F3DFDD009D5894 /* libedit.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libedit.dylib; path = /usr/lib/libedit.dylib; sourceTree = "<absolute>"; };
|
|
|
|
26F5C32B10F3DFDD009D5894 /* libtermcap.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtermcap.dylib; path = /usr/lib/libtermcap.dylib; sourceTree = "<absolute>"; };
|
|
|
|
26F5C37410F3F61B009D5894 /* libobjc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libobjc.dylib; path = /usr/lib/libobjc.dylib; sourceTree = "<absolute>"; };
|
|
|
|
26F5C39010F3FA26009D5894 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
|
|
|
|
26F996A7119B79C300412154 /* ARM_DWARF_Registers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ARM_DWARF_Registers.h; path = source/Utility/ARM_DWARF_Registers.h; sourceTree = "<group>"; };
|
|
|
|
26F996A8119B79C300412154 /* ARM_GCC_Registers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ARM_GCC_Registers.h; path = source/Utility/ARM_GCC_Registers.h; sourceTree = "<group>"; };
|
|
|
|
26FE25221146CADE00F4085A /* GDBRemoteCommunication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GDBRemoteCommunication.cpp; path = "source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp"; sourceTree = "<group>"; };
|
|
|
|
26FE25231146CADE00F4085A /* GDBRemoteCommunication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GDBRemoteCommunication.h; path = "source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h"; sourceTree = "<group>"; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
4911934B1226383D00578B7F /* ASTStructExtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASTStructExtractor.h; path = include/lldb/Expression/ASTStructExtractor.h; sourceTree = "<group>"; };
|
|
|
|
491193501226386000578B7F /* ASTStructExtractor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ASTStructExtractor.cpp; path = source/Expression/ASTStructExtractor.cpp; sourceTree = "<group>"; };
|
2010-07-03 09:35:46 +08:00
|
|
|
49307AAD11DEA4D90081F992 /* IRForTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IRForTarget.cpp; path = source/Expression/IRForTarget.cpp; sourceTree = "<group>"; };
|
|
|
|
49307AB111DEA4F20081F992 /* IRForTarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IRForTarget.h; path = include/lldb/Expression/IRForTarget.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
493C63F01189203300914D5E /* ABISysV_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ABISysV_x86_64.h; path = "ABI/SysV-x86_64/ABISysV_x86_64.h"; sourceTree = "<group>"; };
|
|
|
|
493C63F11189203300914D5E /* ABISysV_x86_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ABISysV_x86_64.cpp; path = "ABI/SysV-x86_64/ABISysV_x86_64.cpp"; sourceTree = "<group>"; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49445C2512245E3600C11A81 /* ClangExpressionParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangExpressionParser.cpp; path = source/Expression/ClangExpressionParser.cpp; sourceTree = "<group>"; };
|
|
|
|
49445C2912245E5500C11A81 /* ClangExpressionParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangExpressionParser.h; path = include/lldb/Expression/ClangExpressionParser.h; sourceTree = "<group>"; };
|
|
|
|
49445E341225AB6A00C11A81 /* ClangUserExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangUserExpression.h; path = include/lldb/Expression/ClangUserExpression.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
495BBACB119A0DBE00418BEA /* PathMappingList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PathMappingList.cpp; path = source/Target/PathMappingList.cpp; sourceTree = "<group>"; };
|
|
|
|
495BBACF119A0DE700418BEA /* PathMappingList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PathMappingList.h; path = include/lldb/Target/PathMappingList.h; sourceTree = "<group>"; };
|
|
|
|
497650CE11A21BEE008DDB57 /* ABIMacOSX_i386.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ABIMacOSX_i386.cpp; path = "ABI/MacOSX-i386/ABIMacOSX_i386.cpp"; sourceTree = "<group>"; };
|
|
|
|
497650CF11A21BEE008DDB57 /* ABIMacOSX_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ABIMacOSX_i386.h; path = "ABI/MacOSX-i386/ABIMacOSX_i386.h"; sourceTree = "<group>"; };
|
2010-08-28 07:31:21 +08:00
|
|
|
497C86BD122823D800B54702 /* ClangUtilityFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangUtilityFunction.cpp; path = source/Expression/ClangUtilityFunction.cpp; sourceTree = "<group>"; };
|
|
|
|
497C86C1122823F300B54702 /* ClangUtilityFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangUtilityFunction.h; path = include/lldb/Expression/ClangUtilityFunction.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
497E7B331188ED300065CCA1 /* ABI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ABI.h; path = include/lldb/Target/ABI.h; sourceTree = "<group>"; };
|
|
|
|
497E7B9D1188F6690065CCA1 /* ABI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ABI.cpp; path = source/Target/ABI.cpp; sourceTree = "<group>"; };
|
|
|
|
499F381E11A5B3F300F5CE02 /* CommandObjectArgs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectArgs.h; path = source/Commands/CommandObjectArgs.h; sourceTree = "<group>"; };
|
|
|
|
499F381F11A5B3F300F5CE02 /* CommandObjectArgs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectArgs.cpp; path = source/Commands/CommandObjectArgs.cpp; sourceTree = "<group>"; };
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49A8A39F11D568A300AD3B68 /* ASTResultSynthesizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ASTResultSynthesizer.cpp; path = source/Expression/ASTResultSynthesizer.cpp; sourceTree = "<group>"; };
|
|
|
|
49A8A3A311D568BF00AD3B68 /* ASTResultSynthesizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASTResultSynthesizer.h; path = include/lldb/Expression/ASTResultSynthesizer.h; sourceTree = "<group>"; };
|
2010-07-23 08:16:21 +08:00
|
|
|
49BB309511F79450001A4197 /* TaggedASTType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TaggedASTType.h; path = include/lldb/Symbol/TaggedASTType.h; sourceTree = "<group>"; };
|
2010-09-01 08:58:00 +08:00
|
|
|
49CF9829122C70BD007A0B96 /* IRDynamicChecks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IRDynamicChecks.cpp; path = source/Expression/IRDynamicChecks.cpp; sourceTree = "<group>"; };
|
|
|
|
49CF9833122C718B007A0B96 /* IRDynamicChecks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IRDynamicChecks.h; path = include/lldb/Expression/IRDynamicChecks.h; sourceTree = "<group>"; };
|
2010-08-11 11:57:18 +08:00
|
|
|
49D4FE821210B5FB00CDB854 /* ClangPersistentVariables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangPersistentVariables.h; path = include/lldb/Expression/ClangPersistentVariables.h; sourceTree = "<group>"; };
|
|
|
|
49D4FE871210B61C00CDB854 /* ClangPersistentVariables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangPersistentVariables.cpp; path = source/Expression/ClangPersistentVariables.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
49D7072611B5AD03001AD875 /* ClangASTSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangASTSource.h; path = include/lldb/Expression/ClangASTSource.h; sourceTree = "<group>"; };
|
|
|
|
49D7072811B5AD11001AD875 /* ClangASTSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangASTSource.cpp; path = source/Expression/ClangASTSource.cpp; sourceTree = "<group>"; };
|
2010-07-03 05:09:36 +08:00
|
|
|
49DA742F11DE6A5A006AEF7E /* IRToDWARF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IRToDWARF.cpp; path = source/Expression/IRToDWARF.cpp; sourceTree = "<group>"; };
|
|
|
|
49DA743411DE6BB2006AEF7E /* IRToDWARF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IRToDWARF.h; path = include/lldb/Expression/IRToDWARF.h; sourceTree = "<group>"; };
|
2010-07-22 06:12:05 +08:00
|
|
|
49E45FA911F660DC008F7B28 /* ClangASTType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangASTType.h; path = include/lldb/Symbol/ClangASTType.h; sourceTree = "<group>"; };
|
|
|
|
49E45FAD11F660FE008F7B28 /* ClangASTType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangASTType.cpp; path = source/Symbol/ClangASTType.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
49EC3E98118F90AC00B1265E /* ThreadPlanCallFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanCallFunction.cpp; path = source/Target/ThreadPlanCallFunction.cpp; sourceTree = "<group>"; };
|
|
|
|
49EC3E9C118F90D400B1265E /* ThreadPlanCallFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanCallFunction.h; path = include/lldb/Target/ThreadPlanCallFunction.h; sourceTree = "<group>"; };
|
|
|
|
49F1A74511B3388F003ED505 /* ClangExpressionDeclMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangExpressionDeclMap.cpp; path = source/Expression/ClangExpressionDeclMap.cpp; sourceTree = "<group>"; };
|
|
|
|
49F1A74911B338AE003ED505 /* ClangExpressionDeclMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangExpressionDeclMap.h; path = include/lldb/Expression/ClangExpressionDeclMap.h; sourceTree = "<group>"; };
|
|
|
|
4C00986F11500B4300F316B0 /* UnixSignals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnixSignals.h; path = include/lldb/Target/UnixSignals.h; sourceTree = "<group>"; };
|
|
|
|
4C00987011500B4300F316B0 /* UnixSignals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnixSignals.cpp; path = source/Target/UnixSignals.cpp; sourceTree = "<group>"; };
|
2010-06-16 10:00:15 +08:00
|
|
|
4C08CDE711C81EF8001610A8 /* ThreadSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadSpec.cpp; path = source/Target/ThreadSpec.cpp; sourceTree = "<group>"; };
|
|
|
|
4C08CDEB11C81F1E001610A8 /* ThreadSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadSpec.h; path = include/lldb/Target/ThreadSpec.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
4C09CB73116BD98B00C7A725 /* CommandCompletions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandCompletions.h; path = include/lldb/Interpreter/CommandCompletions.h; sourceTree = "<group>"; };
|
2010-06-12 23:43:35 +08:00
|
|
|
4C09CB74116BD98B00C7A725 /* CommandCompletions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandCompletions.cpp; path = source/Commands/CommandCompletions.cpp; sourceTree = "<group>"; };
|
2010-11-05 02:30:59 +08:00
|
|
|
4C0A91D412511CB900CA6636 /* AppleObjCTrampolineHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppleObjCTrampolineHandler.cpp; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp; sourceTree = "<group>"; };
|
|
|
|
4C0A91D512511CB900CA6636 /* AppleObjCTrampolineHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleObjCTrampolineHandler.h; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h; sourceTree = "<group>"; };
|
|
|
|
4C0A91D612511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppleThreadPlanStepThroughObjCTrampoline.cpp; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp; sourceTree = "<group>"; };
|
|
|
|
4C0A91D712511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleThreadPlanStepThroughObjCTrampoline.h; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h; sourceTree = "<group>"; };
|
|
|
|
4C139EA3124A8B03000BFF8D /* AppleObjCRuntimeV2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppleObjCRuntimeV2.cpp; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp; sourceTree = "<group>"; };
|
|
|
|
4C139EA4124A8B03000BFF8D /* AppleObjCRuntimeV2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleObjCRuntimeV2.h; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h; sourceTree = "<group>"; };
|
2010-10-15 07:45:03 +08:00
|
|
|
4C1AB23A1263E5F400D0F04A /* ThreadPlanTestCondition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanTestCondition.cpp; path = source/Target/ThreadPlanTestCondition.cpp; sourceTree = "<group>"; };
|
|
|
|
4C1AB23E1263E61100D0F04A /* ThreadPlanTestCondition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanTestCondition.h; path = include/lldb/Target/ThreadPlanTestCondition.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
4C43DEF9110641F300E55CBF /* ThreadPlanShouldStopHere.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanShouldStopHere.h; path = include/lldb/Target/ThreadPlanShouldStopHere.h; sourceTree = "<group>"; };
|
|
|
|
4C43DEFA110641F300E55CBF /* ThreadPlanShouldStopHere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanShouldStopHere.cpp; path = source/Target/ThreadPlanShouldStopHere.cpp; sourceTree = "<group>"; };
|
|
|
|
4C43DF8511069BFD00E55CBF /* ThreadPlanStepInRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepInRange.h; path = include/lldb/Target/ThreadPlanStepInRange.h; sourceTree = "<group>"; };
|
|
|
|
4C43DF8611069BFD00E55CBF /* ThreadPlanStepOverRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepOverRange.h; path = include/lldb/Target/ThreadPlanStepOverRange.h; sourceTree = "<group>"; };
|
|
|
|
4C43DF8911069C3200E55CBF /* ThreadPlanStepInRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepInRange.cpp; path = source/Target/ThreadPlanStepInRange.cpp; sourceTree = "<group>"; };
|
|
|
|
4C43DF8A11069C3200E55CBF /* ThreadPlanStepOverRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanStepOverRange.cpp; path = source/Target/ThreadPlanStepOverRange.cpp; sourceTree = "<group>"; };
|
2010-07-07 11:36:20 +08:00
|
|
|
4C5DBBC611E3FEC60035160F /* CommandObjectCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectCommands.cpp; path = source/Commands/CommandObjectCommands.cpp; sourceTree = "<group>"; };
|
|
|
|
4C5DBBC711E3FEC60035160F /* CommandObjectCommands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectCommands.h; path = source/Commands/CommandObjectCommands.h; sourceTree = "<group>"; };
|
2010-11-05 02:30:59 +08:00
|
|
|
4C61978812823D4300FAFFCC /* AppleObjCRuntime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppleObjCRuntime.cpp; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp; sourceTree = "<group>"; };
|
|
|
|
4C61978912823D4300FAFFCC /* AppleObjCRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleObjCRuntime.h; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h; sourceTree = "<group>"; };
|
|
|
|
4C61978A12823D4300FAFFCC /* AppleObjCRuntimeV1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppleObjCRuntimeV1.cpp; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp; sourceTree = "<group>"; };
|
|
|
|
4C61978B12823D4300FAFFCC /* AppleObjCRuntimeV1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleObjCRuntimeV1.h; path = LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h; sourceTree = "<group>"; };
|
2010-08-31 03:44:40 +08:00
|
|
|
4C74CB6212288704006A8171 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
|
2010-11-30 10:22:11 +08:00
|
|
|
4C7CF7E31295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanCallUserExpression.h; path = include/lldb/Target/ThreadPlanCallUserExpression.h; sourceTree = "<group>"; };
|
|
|
|
4C7CF7E51295E12B00B4FBB5 /* ThreadPlanCallUserExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanCallUserExpression.cpp; path = source/Target/ThreadPlanCallUserExpression.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
4C98D3DA118FB96F00E575D0 /* ClangFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangFunction.cpp; path = source/Expression/ClangFunction.cpp; sourceTree = "<group>"; };
|
|
|
|
4C98D3DB118FB96F00E575D0 /* RecordingMemoryManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecordingMemoryManager.cpp; path = source/Expression/RecordingMemoryManager.cpp; sourceTree = "<group>"; };
|
|
|
|
4C98D3E0118FB98F00E575D0 /* ClangFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangFunction.h; path = include/lldb/Expression/ClangFunction.h; sourceTree = "<group>"; };
|
|
|
|
4C98D3E1118FB98F00E575D0 /* RecordingMemoryManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecordingMemoryManager.h; path = include/lldb/Expression/RecordingMemoryManager.h; sourceTree = "<group>"; };
|
|
|
|
4CA9637911B6E99A00780E28 /* CommandObjectApropos.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectApropos.cpp; path = source/Commands/CommandObjectApropos.cpp; sourceTree = "<group>"; };
|
|
|
|
4CA9637A11B6E99A00780E28 /* CommandObjectApropos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectApropos.h; path = source/Commands/CommandObjectApropos.h; sourceTree = "<group>"; };
|
|
|
|
4CAFCE001101216B00CA63DB /* ThreadPlanRunToAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanRunToAddress.h; path = include/lldb/Target/ThreadPlanRunToAddress.h; sourceTree = "<group>"; };
|
|
|
|
4CAFCE031101218900CA63DB /* ThreadPlanRunToAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanRunToAddress.cpp; path = source/Target/ThreadPlanRunToAddress.cpp; sourceTree = "<group>"; };
|
2010-09-23 10:01:19 +08:00
|
|
|
4CB4430912491DDA00C13DC2 /* LanguageRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LanguageRuntime.h; path = include/lldb/Target/LanguageRuntime.h; sourceTree = "<group>"; };
|
|
|
|
4CB4430A12491DDA00C13DC2 /* LanguageRuntime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LanguageRuntime.cpp; path = source/Target/LanguageRuntime.cpp; sourceTree = "<group>"; };
|
|
|
|
4CB44369124944B000C13DC2 /* ItaniumABILanguageRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItaniumABILanguageRuntime.h; path = LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h; sourceTree = "<group>"; };
|
|
|
|
4CB4436A124944B000C13DC2 /* ItaniumABILanguageRuntime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ItaniumABILanguageRuntime.cpp; path = LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp; sourceTree = "<group>"; };
|
|
|
|
4CB443BB1249920C00C13DC2 /* CPPLanguageRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CPPLanguageRuntime.h; path = include/lldb/Target/CPPLanguageRuntime.h; sourceTree = "<group>"; };
|
|
|
|
4CB443BC1249920C00C13DC2 /* CPPLanguageRuntime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CPPLanguageRuntime.cpp; path = source/Target/CPPLanguageRuntime.cpp; sourceTree = "<group>"; };
|
|
|
|
4CB443F212499B5000C13DC2 /* ObjCLanguageRuntime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ObjCLanguageRuntime.cpp; path = source/Target/ObjCLanguageRuntime.cpp; sourceTree = "<group>"; };
|
|
|
|
4CB443F612499B6E00C13DC2 /* ObjCLanguageRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjCLanguageRuntime.h; path = include/lldb/Target/ObjCLanguageRuntime.h; sourceTree = "<group>"; };
|
2010-11-12 03:26:09 +08:00
|
|
|
4CC2A148128C73ED001531C4 /* ThreadPlanTracer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPlanTracer.cpp; path = source/Target/ThreadPlanTracer.cpp; sourceTree = "<group>"; };
|
|
|
|
4CC2A14C128C7409001531C4 /* ThreadPlanTracer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanTracer.h; path = include/lldb/Target/ThreadPlanTracer.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
4CEDAED311754F5E00E875A6 /* ThreadPlanStepUntil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPlanStepUntil.h; path = include/lldb/Target/ThreadPlanStepUntil.h; sourceTree = "<group>"; };
|
|
|
|
4CEE62FA1145F2130064CF93 /* ProcessGDBRemote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ProcessGDBRemote.cpp; path = "source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp"; sourceTree = "<group>"; };
|
|
|
|
4CEE62FB1145F2130064CF93 /* ProcessGDBRemote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProcessGDBRemote.h; path = "source/Plugins/Process/gdb-remote/ProcessGDBRemote.h"; sourceTree = "<group>"; };
|
|
|
|
4CEE62FC1145F2130064CF93 /* ProcessGDBRemoteLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ProcessGDBRemoteLog.cpp; path = "source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp"; sourceTree = "<group>"; };
|
|
|
|
4CEE62FD1145F2130064CF93 /* ProcessGDBRemoteLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProcessGDBRemoteLog.h; path = "source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"; sourceTree = "<group>"; };
|
|
|
|
4CEE62FE1145F2130064CF93 /* ThreadGDBRemote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadGDBRemote.cpp; path = "source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp"; sourceTree = "<group>"; };
|
|
|
|
4CEE62FF1145F2130064CF93 /* ThreadGDBRemote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadGDBRemote.h; path = "source/Plugins/Process/gdb-remote/ThreadGDBRemote.h"; sourceTree = "<group>"; };
|
2010-09-08 04:11:56 +08:00
|
|
|
69A01E1B1236C5D400C660B5 /* Condition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Condition.cpp; sourceTree = "<group>"; };
|
|
|
|
69A01E1C1236C5D400C660B5 /* Host.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Host.cpp; sourceTree = "<group>"; };
|
|
|
|
69A01E1E1236C5D400C660B5 /* Mutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mutex.cpp; sourceTree = "<group>"; };
|
|
|
|
69A01E1F1236C5D400C660B5 /* Symbols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Symbols.cpp; sourceTree = "<group>"; };
|
|
|
|
69A01E201236C5D400C660B5 /* TimeValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeValue.cpp; sourceTree = "<group>"; };
|
2010-09-10 15:49:16 +08:00
|
|
|
961FABB81235DE1600F93A47 /* FuncUnwinders.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FuncUnwinders.cpp; path = source/Symbol/FuncUnwinders.cpp; sourceTree = "<group>"; };
|
|
|
|
961FABB91235DE1600F93A47 /* UnwindPlan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnwindPlan.cpp; path = source/Symbol/UnwindPlan.cpp; sourceTree = "<group>"; };
|
|
|
|
961FABBA1235DE1600F93A47 /* UnwindTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnwindTable.cpp; path = source/Symbol/UnwindTable.cpp; sourceTree = "<group>"; };
|
|
|
|
961FABE41235F15900F93A47 /* UnwindAssemblyProfiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnwindAssemblyProfiler.cpp; path = source/Utility/UnwindAssemblyProfiler.cpp; sourceTree = "<group>"; };
|
|
|
|
961FABE81235F26800F93A47 /* UnwindAssemblyProfiler-x86.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "UnwindAssemblyProfiler-x86.cpp"; path = "Utility/UnwindAssemblyProfiler-x86.cpp"; sourceTree = "<group>"; };
|
|
|
|
961FABE91235F26800F93A47 /* UnwindAssemblyProfiler-x86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UnwindAssemblyProfiler-x86.h"; path = "Utility/UnwindAssemblyProfiler-x86.h"; sourceTree = "<group>"; };
|
|
|
|
961FAC18123605A200F93A47 /* ArchDefaultUnwindPlan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArchDefaultUnwindPlan.cpp; path = source/Utility/ArchDefaultUnwindPlan.cpp; sourceTree = "<group>"; };
|
|
|
|
961FAC1C12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "ArchDefaultUnwindPlan-x86.cpp"; path = "Utility/ArchDefaultUnwindPlan-x86.cpp"; sourceTree = "<group>"; };
|
|
|
|
961FAC1D12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ArchDefaultUnwindPlan-x86.h"; path = "Utility/ArchDefaultUnwindPlan-x86.h"; sourceTree = "<group>"; };
|
2010-09-22 15:37:07 +08:00
|
|
|
96A6D9C51249D96F00250B38 /* ArchVolatileRegs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArchVolatileRegs.cpp; path = source/Utility/ArchVolatileRegs.cpp; sourceTree = "<group>"; };
|
|
|
|
96A6D9C71249D98800250B38 /* ArchVolatileRegs-x86.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "ArchVolatileRegs-x86.cpp"; path = "Utility/ArchVolatileRegs-x86.cpp"; sourceTree = "<group>"; };
|
|
|
|
96A6D9C81249D98800250B38 /* ArchVolatileRegs-x86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ArchVolatileRegs-x86.h"; path = "Utility/ArchVolatileRegs-x86.h"; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
9A19A6A51163BB7E00E0D453 /* SBValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBValue.h; path = include/lldb/API/SBValue.h; sourceTree = "<group>"; };
|
|
|
|
9A19A6AD1163BB9800E0D453 /* SBValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBValue.cpp; path = source/API/SBValue.cpp; sourceTree = "<group>"; };
|
|
|
|
9A2771FB1135A35C00E6ADB6 /* ScriptInterpreterNone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScriptInterpreterNone.h; path = include/lldb/Interpreter/ScriptInterpreterNone.h; sourceTree = "<group>"; };
|
|
|
|
9A2771FC1135A37500E6ADB6 /* ScriptInterpreterNone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScriptInterpreterNone.cpp; path = source/Interpreter/ScriptInterpreterNone.cpp; sourceTree = "<group>"; };
|
|
|
|
9A357582116CFDEE00E8ED2F /* SBValueList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBValueList.h; path = include/lldb/API/SBValueList.h; sourceTree = "<group>"; };
|
|
|
|
9A35758D116CFE0F00E8ED2F /* SBValueList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBValueList.cpp; path = source/API/SBValueList.cpp; sourceTree = "<group>"; };
|
|
|
|
9A35765E116E76A700E8ED2F /* StringList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StringList.h; path = include/lldb/Core/StringList.h; sourceTree = "<group>"; };
|
|
|
|
9A35765F116E76B900E8ED2F /* StringList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringList.cpp; path = source/Core/StringList.cpp; sourceTree = "<group>"; };
|
|
|
|
9A357670116E7B5200E8ED2F /* SBStringList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBStringList.h; path = include/lldb/API/SBStringList.h; sourceTree = "<group>"; };
|
|
|
|
9A357672116E7B6400E8ED2F /* SBStringList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBStringList.cpp; path = source/API/SBStringList.cpp; sourceTree = "<group>"; };
|
|
|
|
9A3576A7116E9AB700E8ED2F /* SBHostOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBHostOS.h; path = include/lldb/API/SBHostOS.h; sourceTree = "<group>"; };
|
|
|
|
9A3576A9116E9AC700E8ED2F /* SBHostOS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBHostOS.cpp; path = source/API/SBHostOS.cpp; sourceTree = "<group>"; };
|
|
|
|
9A42976111861A9F00FE05CD /* CommandObjectBreakpointCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectBreakpointCommand.h; path = source/Commands/CommandObjectBreakpointCommand.h; sourceTree = "<group>"; };
|
|
|
|
9A42976211861AA600FE05CD /* CommandObjectBreakpointCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectBreakpointCommand.cpp; path = source/Commands/CommandObjectBreakpointCommand.cpp; sourceTree = "<group>"; };
|
2010-09-04 08:03:46 +08:00
|
|
|
9A4633DA11F65D8600955CE1 /* UserSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserSettingsController.h; path = include/lldb/Core/UserSettingsController.h; sourceTree = "<group>"; };
|
|
|
|
9A4633DC11F65D9A00955CE1 /* UserSettingsController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UserSettingsController.cpp; path = source/Core/UserSettingsController.cpp; sourceTree = "<group>"; };
|
2010-09-23 07:01:29 +08:00
|
|
|
9A48A3A7124AAA5A00922451 /* python-extensions.swig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "python-extensions.swig"; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
9A633FE7112DCE3C001A7E43 /* SBFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBFrame.cpp; path = source/API/SBFrame.cpp; sourceTree = "<group>"; };
|
|
|
|
9A633FE8112DCE3C001A7E43 /* SBFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBFrame.h; path = include/lldb/API/SBFrame.h; sourceTree = "<group>"; };
|
|
|
|
9A82010B10FFB49800182560 /* ScriptInterpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScriptInterpreter.cpp; path = source/Interpreter/ScriptInterpreter.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9830F21125FC5800A56CB0 /* SBBroadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBBroadcaster.cpp; path = source/API/SBBroadcaster.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9830F31125FC5800A56CB0 /* SBBroadcaster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBBroadcaster.h; path = include/lldb/API/SBBroadcaster.h; sourceTree = "<group>"; };
|
|
|
|
9A9830F61125FC5800A56CB0 /* SBCommandInterpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBCommandInterpreter.cpp; path = source/API/SBCommandInterpreter.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9830F71125FC5800A56CB0 /* SBCommandInterpreter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBCommandInterpreter.h; path = include/lldb/API/SBCommandInterpreter.h; sourceTree = "<group>"; };
|
|
|
|
9A9830F81125FC5800A56CB0 /* SBCommandReturnObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBCommandReturnObject.cpp; path = source/API/SBCommandReturnObject.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9830F91125FC5800A56CB0 /* SBCommandReturnObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBCommandReturnObject.h; path = include/lldb/API/SBCommandReturnObject.h; sourceTree = "<group>"; };
|
|
|
|
9A9830FA1125FC5800A56CB0 /* SBDebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBDebugger.cpp; path = source/API/SBDebugger.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9830FB1125FC5800A56CB0 /* SBDebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBDebugger.h; path = include/lldb/API/SBDebugger.h; sourceTree = "<group>"; };
|
|
|
|
9A9830FC1125FC5800A56CB0 /* SBDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBDefines.h; path = include/lldb/API/SBDefines.h; sourceTree = "<group>"; };
|
|
|
|
9A9830FD1125FC5800A56CB0 /* SBEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBEvent.cpp; path = source/API/SBEvent.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9830FE1125FC5800A56CB0 /* SBEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBEvent.h; path = include/lldb/API/SBEvent.h; sourceTree = "<group>"; };
|
|
|
|
9A9831011125FC5800A56CB0 /* SBListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBListener.cpp; path = source/API/SBListener.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9831021125FC5800A56CB0 /* SBListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBListener.h; path = include/lldb/API/SBListener.h; sourceTree = "<group>"; };
|
|
|
|
9A9831031125FC5800A56CB0 /* SBProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBProcess.cpp; path = source/API/SBProcess.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9831041125FC5800A56CB0 /* SBProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBProcess.h; path = include/lldb/API/SBProcess.h; sourceTree = "<group>"; };
|
|
|
|
9A9831051125FC5800A56CB0 /* SBSourceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBSourceManager.cpp; path = source/API/SBSourceManager.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9831061125FC5800A56CB0 /* SBSourceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBSourceManager.h; path = include/lldb/API/SBSourceManager.h; sourceTree = "<group>"; };
|
|
|
|
9A9831071125FC5800A56CB0 /* SBTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBTarget.cpp; path = source/API/SBTarget.cpp; sourceTree = "<group>"; };
|
|
|
|
9A9831081125FC5800A56CB0 /* SBTarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBTarget.h; path = include/lldb/API/SBTarget.h; sourceTree = "<group>"; };
|
|
|
|
9A9831091125FC5800A56CB0 /* SBThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBThread.cpp; path = source/API/SBThread.cpp; sourceTree = "<group>"; };
|
|
|
|
9A98310A1125FC5800A56CB0 /* SBThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBThread.h; path = include/lldb/API/SBThread.h; sourceTree = "<group>"; };
|
|
|
|
9AA69DAE118A023300D753A0 /* SBInputReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBInputReader.h; path = include/lldb/API/SBInputReader.h; sourceTree = "<group>"; };
|
|
|
|
9AA69DB0118A024600D753A0 /* SBInputReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBInputReader.cpp; path = source/API/SBInputReader.cpp; sourceTree = "<group>"; };
|
|
|
|
9AA69DB5118A027A00D753A0 /* InputReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputReader.cpp; path = source/Core/InputReader.cpp; sourceTree = "<group>"; };
|
|
|
|
9AA69DBB118A029E00D753A0 /* InputReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputReader.h; path = include/lldb/Core/InputReader.h; sourceTree = "<group>"; };
|
|
|
|
9AC7033D11752C4C0086C050 /* AddressResolverFileLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AddressResolverFileLine.h; path = include/lldb/Core/AddressResolverFileLine.h; sourceTree = "<group>"; };
|
|
|
|
9AC7033E11752C540086C050 /* AddressResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AddressResolver.h; path = include/lldb/Core/AddressResolver.h; sourceTree = "<group>"; };
|
|
|
|
9AC7033F11752C590086C050 /* AddressResolverName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AddressResolverName.h; path = include/lldb/Core/AddressResolverName.h; sourceTree = "<group>"; };
|
|
|
|
9AC7034011752C6B0086C050 /* AddressResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AddressResolver.cpp; path = source/Core/AddressResolver.cpp; sourceTree = "<group>"; };
|
|
|
|
9AC7034211752C720086C050 /* AddressResolverFileLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AddressResolverFileLine.cpp; path = source/Core/AddressResolverFileLine.cpp; sourceTree = "<group>"; };
|
|
|
|
9AC7034411752C790086C050 /* AddressResolverName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AddressResolverName.cpp; path = source/Core/AddressResolverName.cpp; sourceTree = "<group>"; };
|
|
|
|
9AC7038D117674EB0086C050 /* SBInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBInstruction.h; path = include/lldb/API/SBInstruction.h; sourceTree = "<group>"; };
|
|
|
|
9AC7038F117675270086C050 /* SBInstructionList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBInstructionList.h; path = include/lldb/API/SBInstructionList.h; sourceTree = "<group>"; };
|
|
|
|
9AC703AE117675410086C050 /* SBInstruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBInstruction.cpp; path = source/API/SBInstruction.cpp; sourceTree = "<group>"; };
|
|
|
|
9AC703B0117675490086C050 /* SBInstructionList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBInstructionList.cpp; path = source/API/SBInstructionList.cpp; sourceTree = "<group>"; };
|
|
|
|
9AF16A9C11402D5B007A7B3F /* SBBreakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBBreakpoint.cpp; path = source/API/SBBreakpoint.cpp; sourceTree = "<group>"; };
|
|
|
|
9AF16A9E11402D69007A7B3F /* SBBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBBreakpoint.h; path = include/lldb/API/SBBreakpoint.h; sourceTree = "<group>"; };
|
|
|
|
9AF16CC611408686007A7B3F /* SBBreakpointLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBBreakpointLocation.h; path = include/lldb/API/SBBreakpointLocation.h; sourceTree = "<group>"; };
|
|
|
|
9AF16CC7114086A1007A7B3F /* SBBreakpointLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBBreakpointLocation.cpp; path = source/API/SBBreakpointLocation.cpp; sourceTree = "<group>"; };
|
2010-10-25 19:12:07 +08:00
|
|
|
AF68D2541255416E002FF25B /* RegisterContextLLDB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegisterContextLLDB.cpp; path = Utility/RegisterContextLLDB.cpp; sourceTree = "<group>"; };
|
|
|
|
AF68D2551255416E002FF25B /* RegisterContextLLDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegisterContextLLDB.h; path = Utility/RegisterContextLLDB.h; sourceTree = "<group>"; };
|
|
|
|
AF68D32F1255A110002FF25B /* UnwindLLDB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnwindLLDB.cpp; path = Utility/UnwindLLDB.cpp; sourceTree = "<group>"; };
|
|
|
|
AF68D3301255A110002FF25B /* UnwindLLDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnwindLLDB.h; path = Utility/UnwindLLDB.h; sourceTree = "<group>"; };
|
2010-06-10 05:48:33 +08:00
|
|
|
AF94005711C03F6500085DB9 /* SymbolVendor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SymbolVendor.cpp; path = source/Symbol/SymbolVendor.cpp; sourceTree = "<group>"; };
|
2011-01-25 02:24:53 +08:00
|
|
|
B23DD24F12EDFAC1000C3894 /* ARMUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ARMUtils.h; path = Utility/ARMUtils.h; sourceTree = "<group>"; };
|
2010-12-24 04:21:44 +08:00
|
|
|
B296983412C2FB2B002D92C3 /* CommandObjectVersion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectVersion.cpp; path = source/Commands/CommandObjectVersion.cpp; sourceTree = "<group>"; };
|
|
|
|
B296983512C2FB2B002D92C3 /* CommandObjectVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectVersion.h; path = source/Commands/CommandObjectVersion.h; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
/* End PBXFileReference section */
|
|
|
|
|
|
|
|
/* Begin PBXFrameworksBuildPhase section */
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F66126A25920007C5CB /* Frameworks */ = {
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
26680205115FD0ED008E1FE4 /* Frameworks */ = {
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
2668022F115FD19D008E1FE4 /* CoreFoundation.framework in Frameworks */,
|
|
|
|
26680230115FD19E008E1FE4 /* DebugSymbols.framework in Frameworks */,
|
|
|
|
26680231115FD1A0008E1FE4 /* Foundation.framework in Frameworks */,
|
2010-10-29 05:51:20 +08:00
|
|
|
26680232115FD1A4008E1FE4 /* libpython.dylib in Frameworks */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26680233115FD1A7008E1FE4 /* libobjc.dylib in Frameworks */,
|
2010-08-31 03:44:40 +08:00
|
|
|
4C74CB6312288704006A8171 /* Carbon.framework in Frameworks */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
|
|
|
26F5C26810F3D9A4009D5894 /* Frameworks */ = {
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
2010-10-29 05:51:20 +08:00
|
|
|
26F5C32510F3DF23009D5894 /* libpython.dylib in Frameworks */,
|
2010-06-09 00:52:24 +08:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
|
|
|
|
/* Begin PBXGroup section */
|
|
|
|
08FB7794FE84155DC02AAC07 /* lldb */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26C9DF02113C5B80006B0F94 /* Include */,
|
|
|
|
26F5C32810F3DF7D009D5894 /* Libraries */,
|
|
|
|
08FB7795FE84155DC02AAC07 /* Source */,
|
|
|
|
26F5C22410F3D950009D5894 /* Tools */,
|
|
|
|
1AB674ADFE9D54B511CA2CBB /* Products */,
|
|
|
|
);
|
|
|
|
name = lldb;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
08FB7795FE84155DC02AAC07 /* Source */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-10-15 07:45:03 +08:00
|
|
|
266960581199F4230075C61A /* Scripts */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7E7410F1B85900F91463 /* lldb.cpp */,
|
|
|
|
26BC7E7510F1B85900F91463 /* lldb-log.cpp */,
|
|
|
|
26BC7C2A10F1B3BC00F91463 /* lldb-private.h */,
|
|
|
|
26BC7C2810F1B3BC00F91463 /* lldb-private-interfaces.h */,
|
|
|
|
26BC7D5D10F1B77400F91463 /* lldb-private-log.h */,
|
|
|
|
262D3190111B4341004E6F88 /* API */,
|
|
|
|
26BC7CEB10F1B70800F91463 /* Breakpoint */,
|
|
|
|
26BC7D0D10F1B71D00F91463 /* Commands */,
|
|
|
|
26BC7C1010F1B34800F91463 /* Core */,
|
|
|
|
26BC7DBE10F1B78200F91463 /* Expression */,
|
|
|
|
26BC7DD010F1B7C100F91463 /* Host */,
|
|
|
|
26BC7DDF10F1B7E200F91463 /* Interpreter */,
|
|
|
|
260C897110F57C5600BB2B04 /* Plugins */,
|
|
|
|
26BC7C4B10F1B6C100F91463 /* Symbol */,
|
|
|
|
26BC7DEF10F1B80200F91463 /* Target */,
|
|
|
|
2682F168115ED9C800CCFF99 /* Utility */,
|
|
|
|
);
|
|
|
|
name = Source;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
usesTabs = 0;
|
|
|
|
};
|
|
|
|
1AB674ADFE9D54B511CA2CBB /* Products */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26F5C26A10F3D9A4009D5894 /* lldb */,
|
|
|
|
26680207115FD0ED008E1FE4 /* LLDB.framework */,
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F68126A25920007C5CB /* darwin-debug */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
name = Products;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
usesTabs = 0;
|
|
|
|
};
|
|
|
|
260C897110F57C5600BB2B04 /* Plugins */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
493C63D711891A8000914D5E /* ABI */,
|
|
|
|
260C897210F57C5600BB2B04 /* Disassembler */,
|
|
|
|
260C897810F57C5600BB2B04 /* DynamicLoader */,
|
2010-09-23 10:01:19 +08:00
|
|
|
4CB443651249446F00C13DC2 /* LanguageRuntime */,
|
2010-06-09 00:52:24 +08:00
|
|
|
260C897E10F57C5600BB2B04 /* ObjectContainer */,
|
|
|
|
260C898210F57C5600BB2B04 /* ObjectFile */,
|
|
|
|
260C898A10F57C5600BB2B04 /* Process */,
|
|
|
|
260C89B110F57C5600BB2B04 /* SymbolFile */,
|
|
|
|
260C89E010F57C5600BB2B04 /* SymbolVendor */,
|
|
|
|
);
|
|
|
|
name = Plugins;
|
|
|
|
path = source/Plugins;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C897210F57C5600BB2B04 /* Disassembler */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C897310F57C5600BB2B04 /* llvm */,
|
|
|
|
);
|
|
|
|
path = Disassembler;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C897310F57C5600BB2B04 /* llvm */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C897410F57C5600BB2B04 /* DisassemblerLLVM.cpp */,
|
|
|
|
260C897510F57C5600BB2B04 /* DisassemblerLLVM.h */,
|
|
|
|
);
|
|
|
|
path = llvm;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C897810F57C5600BB2B04 /* DynamicLoader */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C897910F57C5600BB2B04 /* MacOSX-DYLD */,
|
|
|
|
);
|
|
|
|
path = DynamicLoader;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C897910F57C5600BB2B04 /* MacOSX-DYLD */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C897B10F57C5600BB2B04 /* DynamicLoaderMacOSXDYLD.h */,
|
2010-09-28 09:25:32 +08:00
|
|
|
260C897A10F57C5600BB2B04 /* DynamicLoaderMacOSXDYLD.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
path = "MacOSX-DYLD";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C897E10F57C5600BB2B04 /* ObjectContainer */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26A3B4AB1181454800381BC2 /* BSD-Archive */,
|
|
|
|
260C897F10F57C5600BB2B04 /* Universal-Mach-O */,
|
|
|
|
);
|
|
|
|
path = ObjectContainer;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C897F10F57C5600BB2B04 /* Universal-Mach-O */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C898010F57C5600BB2B04 /* ObjectContainerUniversalMachO.cpp */,
|
|
|
|
260C898110F57C5600BB2B04 /* ObjectContainerUniversalMachO.h */,
|
|
|
|
);
|
|
|
|
path = "Universal-Mach-O";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C898210F57C5600BB2B04 /* ObjectFile */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C898310F57C5600BB2B04 /* ELF */,
|
|
|
|
260C898710F57C5600BB2B04 /* Mach-O */,
|
|
|
|
);
|
|
|
|
path = ObjectFile;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C898310F57C5600BB2B04 /* ELF */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-07-14 08:20:31 +08:00
|
|
|
26D27C9E11ED3A4E0024D721 /* ELFHeader.h */,
|
|
|
|
26D27C9D11ED3A4E0024D721 /* ELFHeader.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
260C898610F57C5600BB2B04 /* ObjectFileELF.h */,
|
2010-07-08 05:52:01 +08:00
|
|
|
260C898510F57C5600BB2B04 /* ObjectFileELF.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
path = ELF;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C898710F57C5600BB2B04 /* Mach-O */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C898810F57C5600BB2B04 /* ObjectFileMachO.cpp */,
|
|
|
|
260C898910F57C5600BB2B04 /* ObjectFileMachO.h */,
|
|
|
|
);
|
|
|
|
path = "Mach-O";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C898A10F57C5600BB2B04 /* Process */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
4CEE62F71145F1C70064CF93 /* GDB Remote */,
|
|
|
|
260C898B10F57C5600BB2B04 /* MacOSX-User */,
|
|
|
|
26B4666E11A2080F00CF6220 /* Utility */,
|
|
|
|
);
|
|
|
|
path = Process;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C898B10F57C5600BB2B04 /* MacOSX-User */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C898C10F57C5600BB2B04 /* scripts */,
|
|
|
|
260C899010F57C5600BB2B04 /* source */,
|
|
|
|
);
|
|
|
|
path = "MacOSX-User";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C898C10F57C5600BB2B04 /* scripts */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C898D10F57C5600BB2B04 /* cc-swig */,
|
|
|
|
260C898E10F57C5600BB2B04 /* config.pl */,
|
|
|
|
260C898F10F57C5600BB2B04 /* test-ProcessDebug.pl */,
|
|
|
|
);
|
|
|
|
path = scripts;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C899010F57C5600BB2B04 /* source */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C899110F57C5600BB2B04 /* MacOSX */,
|
|
|
|
260C89A310F57C5600BB2B04 /* ProcessMacOSX.cpp */,
|
|
|
|
260C89A410F57C5600BB2B04 /* ProcessMacOSX.h */,
|
|
|
|
260C89A510F57C5600BB2B04 /* ProcessMacOSXLog.cpp */,
|
|
|
|
260C89A610F57C5600BB2B04 /* ProcessMacOSXLog.h */,
|
|
|
|
260C89A910F57C5600BB2B04 /* RegisterContextMach_arm.cpp */,
|
|
|
|
260C89AA10F57C5600BB2B04 /* RegisterContextMach_arm.h */,
|
|
|
|
260C89AB10F57C5600BB2B04 /* RegisterContextMach_i386.cpp */,
|
|
|
|
260C89AC10F57C5600BB2B04 /* RegisterContextMach_i386.h */,
|
|
|
|
260C89AD10F57C5600BB2B04 /* RegisterContextMach_x86_64.cpp */,
|
|
|
|
260C89AE10F57C5600BB2B04 /* RegisterContextMach_x86_64.h */,
|
|
|
|
260C89AF10F57C5600BB2B04 /* ThreadMacOSX.cpp */,
|
|
|
|
260C89B010F57C5600BB2B04 /* ThreadMacOSX.h */,
|
|
|
|
);
|
|
|
|
path = source;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C899110F57C5600BB2B04 /* MacOSX */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C899210F57C5600BB2B04 /* MachException.cpp */,
|
|
|
|
260C899310F57C5600BB2B04 /* MachException.h */,
|
|
|
|
260C899410F57C5600BB2B04 /* MachTask.cpp */,
|
|
|
|
260C899510F57C5600BB2B04 /* MachTask.h */,
|
|
|
|
260C899610F57C5600BB2B04 /* MachThreadContext.h */,
|
|
|
|
260C899710F57C5600BB2B04 /* MachThreadContext_arm.cpp */,
|
|
|
|
260C899810F57C5600BB2B04 /* MachThreadContext_arm.h */,
|
|
|
|
260C899910F57C5600BB2B04 /* MachThreadContext_i386.cpp */,
|
|
|
|
260C899A10F57C5600BB2B04 /* MachThreadContext_i386.h */,
|
|
|
|
260C899B10F57C5600BB2B04 /* MachThreadContext_x86_64.cpp */,
|
|
|
|
260C899C10F57C5600BB2B04 /* MachThreadContext_x86_64.h */,
|
|
|
|
260C899D10F57C5600BB2B04 /* MachVMMemory.cpp */,
|
|
|
|
260C899E10F57C5600BB2B04 /* MachVMMemory.h */,
|
|
|
|
260C899F10F57C5600BB2B04 /* MachVMRegion.cpp */,
|
|
|
|
260C89A010F57C5600BB2B04 /* MachVMRegion.h */,
|
|
|
|
260C89A110F57C5600BB2B04 /* ProcessControl-mig.defs */,
|
|
|
|
);
|
|
|
|
path = MacOSX;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C89B110F57C5600BB2B04 /* SymbolFile */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C89B210F57C5600BB2B04 /* DWARF */,
|
|
|
|
260C89DD10F57C5600BB2B04 /* Symtab */,
|
|
|
|
);
|
|
|
|
path = SymbolFile;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C89B210F57C5600BB2B04 /* DWARF */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C89B310F57C5600BB2B04 /* DWARFAbbreviationDeclaration.cpp */,
|
|
|
|
260C89B410F57C5600BB2B04 /* DWARFAbbreviationDeclaration.h */,
|
|
|
|
260C89B610F57C5600BB2B04 /* DWARFAttribute.h */,
|
|
|
|
260C89B710F57C5600BB2B04 /* DWARFCompileUnit.cpp */,
|
|
|
|
260C89B810F57C5600BB2B04 /* DWARFCompileUnit.h */,
|
|
|
|
260C89B910F57C5600BB2B04 /* DWARFDebugAbbrev.cpp */,
|
|
|
|
260C89BA10F57C5600BB2B04 /* DWARFDebugAbbrev.h */,
|
|
|
|
260C89BB10F57C5600BB2B04 /* DWARFDebugAranges.cpp */,
|
|
|
|
260C89BC10F57C5600BB2B04 /* DWARFDebugAranges.h */,
|
|
|
|
260C89BD10F57C5600BB2B04 /* DWARFDebugArangeSet.cpp */,
|
|
|
|
260C89BE10F57C5600BB2B04 /* DWARFDebugArangeSet.h */,
|
|
|
|
260C89BF10F57C5600BB2B04 /* DWARFDebugInfo.cpp */,
|
|
|
|
260C89C010F57C5600BB2B04 /* DWARFDebugInfo.h */,
|
|
|
|
260C89C110F57C5600BB2B04 /* DWARFDebugInfoEntry.cpp */,
|
|
|
|
260C89C210F57C5600BB2B04 /* DWARFDebugInfoEntry.h */,
|
|
|
|
260C89C310F57C5600BB2B04 /* DWARFDebugLine.cpp */,
|
|
|
|
260C89C410F57C5600BB2B04 /* DWARFDebugLine.h */,
|
|
|
|
260C89C510F57C5600BB2B04 /* DWARFDebugMacinfo.cpp */,
|
|
|
|
260C89C610F57C5600BB2B04 /* DWARFDebugMacinfo.h */,
|
|
|
|
260C89C710F57C5600BB2B04 /* DWARFDebugMacinfoEntry.cpp */,
|
|
|
|
260C89C810F57C5600BB2B04 /* DWARFDebugMacinfoEntry.h */,
|
|
|
|
260C89C910F57C5600BB2B04 /* DWARFDebugPubnames.cpp */,
|
|
|
|
260C89CA10F57C5600BB2B04 /* DWARFDebugPubnames.h */,
|
|
|
|
260C89CB10F57C5600BB2B04 /* DWARFDebugPubnamesSet.cpp */,
|
|
|
|
260C89CC10F57C5600BB2B04 /* DWARFDebugPubnamesSet.h */,
|
|
|
|
260C89CD10F57C5600BB2B04 /* DWARFDebugRanges.cpp */,
|
|
|
|
260C89CE10F57C5600BB2B04 /* DWARFDebugRanges.h */,
|
2010-07-07 06:38:03 +08:00
|
|
|
260C89CF10F57C5600BB2B04 /* DWARFDefines.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
260C89D010F57C5600BB2B04 /* DWARFDefines.h */,
|
|
|
|
260C89D110F57C5600BB2B04 /* DWARFDIECollection.cpp */,
|
|
|
|
260C89D210F57C5600BB2B04 /* DWARFDIECollection.h */,
|
|
|
|
260C89D310F57C5600BB2B04 /* DWARFFormValue.cpp */,
|
|
|
|
260C89D410F57C5600BB2B04 /* DWARFFormValue.h */,
|
|
|
|
260C89D510F57C5600BB2B04 /* DWARFLocationDescription.cpp */,
|
|
|
|
260C89D610F57C5600BB2B04 /* DWARFLocationDescription.h */,
|
|
|
|
260C89D710F57C5600BB2B04 /* DWARFLocationList.cpp */,
|
|
|
|
260C89D810F57C5600BB2B04 /* DWARFLocationList.h */,
|
2010-09-15 12:15:46 +08:00
|
|
|
2618D9EA12406FE600F2B8FE /* NameToDIE.cpp */,
|
|
|
|
2618D957124056C700F2B8FE /* NameToDIE.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
260C89D910F57C5600BB2B04 /* SymbolFileDWARF.cpp */,
|
|
|
|
260C89DA10F57C5600BB2B04 /* SymbolFileDWARF.h */,
|
|
|
|
26109B3B1155D70100CC3529 /* LogChannelDWARF.cpp */,
|
|
|
|
26109B3C1155D70100CC3529 /* LogChannelDWARF.h */,
|
|
|
|
260C89DB10F57C5600BB2B04 /* SymbolFileDWARFDebugMap.cpp */,
|
|
|
|
260C89DC10F57C5600BB2B04 /* SymbolFileDWARFDebugMap.h */,
|
|
|
|
);
|
|
|
|
path = DWARF;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C89DD10F57C5600BB2B04 /* Symtab */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C89DE10F57C5600BB2B04 /* SymbolFileSymtab.cpp */,
|
|
|
|
260C89DF10F57C5600BB2B04 /* SymbolFileSymtab.h */,
|
|
|
|
);
|
|
|
|
path = Symtab;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C89E010F57C5600BB2B04 /* SymbolVendor */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C89E110F57C5600BB2B04 /* MacOSX */,
|
|
|
|
);
|
|
|
|
path = SymbolVendor;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
260C89E110F57C5600BB2B04 /* MacOSX */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
260C89E210F57C5600BB2B04 /* SymbolVendorMacOSX.cpp */,
|
|
|
|
260C89E310F57C5600BB2B04 /* SymbolVendorMacOSX.h */,
|
|
|
|
);
|
|
|
|
path = MacOSX;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
262D3190111B4341004E6F88 /* API */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26BC7C2510F1B3BC00F91463 /* lldb-defines.h */,
|
|
|
|
26BC7C2610F1B3BC00F91463 /* lldb-enumerations.h */,
|
|
|
|
26DE1E6911616C2E00A093E2 /* lldb-forward-rtti.h */,
|
|
|
|
26DE1E6A11616C2E00A093E2 /* lldb-forward.h */,
|
|
|
|
26B42B1E1187A92B0079C8C8 /* lldb-include.h */,
|
|
|
|
26BC7C2910F1B3BC00F91463 /* lldb-types.h */,
|
|
|
|
26B42C4C1187ABA50079C8C8 /* LLDB.h */,
|
|
|
|
9A9830FC1125FC5800A56CB0 /* SBDefines.h */,
|
|
|
|
26DE204211618ACA00A093E2 /* SBAddress.h */,
|
|
|
|
26DE204411618ADA00A093E2 /* SBAddress.cpp */,
|
|
|
|
26DE205611618FC500A093E2 /* SBBlock.h */,
|
|
|
|
26DE20601161902600A093E2 /* SBBlock.cpp */,
|
|
|
|
9AF16A9E11402D69007A7B3F /* SBBreakpoint.h */,
|
|
|
|
9AF16A9C11402D5B007A7B3F /* SBBreakpoint.cpp */,
|
|
|
|
9AF16CC611408686007A7B3F /* SBBreakpointLocation.h */,
|
|
|
|
9AF16CC7114086A1007A7B3F /* SBBreakpointLocation.cpp */,
|
|
|
|
9A9830F31125FC5800A56CB0 /* SBBroadcaster.h */,
|
|
|
|
9A9830F21125FC5800A56CB0 /* SBBroadcaster.cpp */,
|
|
|
|
9A9830F71125FC5800A56CB0 /* SBCommandInterpreter.h */,
|
|
|
|
9A9830F61125FC5800A56CB0 /* SBCommandInterpreter.cpp */,
|
|
|
|
9A9830F91125FC5800A56CB0 /* SBCommandReturnObject.h */,
|
|
|
|
9A9830F81125FC5800A56CB0 /* SBCommandReturnObject.cpp */,
|
|
|
|
260223E7115F06D500A601A2 /* SBCommunication.h */,
|
|
|
|
260223E8115F06E500A601A2 /* SBCommunication.cpp */,
|
|
|
|
26DE205411618FB800A093E2 /* SBCompileUnit.h */,
|
|
|
|
26DE205E1161901B00A093E2 /* SBCompileUnit.cpp */,
|
|
|
|
9A9830FB1125FC5800A56CB0 /* SBDebugger.h */,
|
|
|
|
9A9830FA1125FC5800A56CB0 /* SBDebugger.cpp */,
|
|
|
|
2682F286115EF3BD00CCFF99 /* SBError.h */,
|
|
|
|
2682F284115EF3A700CCFF99 /* SBError.cpp */,
|
|
|
|
9A9830FE1125FC5800A56CB0 /* SBEvent.h */,
|
|
|
|
9A9830FD1125FC5800A56CB0 /* SBEvent.cpp */,
|
|
|
|
26022531115F27FA00A601A2 /* SBFileSpec.h */,
|
|
|
|
26022532115F281400A601A2 /* SBFileSpec.cpp */,
|
|
|
|
9A633FE8112DCE3C001A7E43 /* SBFrame.h */,
|
|
|
|
9A633FE7112DCE3C001A7E43 /* SBFrame.cpp */,
|
|
|
|
26DE205211618FAC00A093E2 /* SBFunction.h */,
|
|
|
|
26DE205C1161901400A093E2 /* SBFunction.cpp */,
|
|
|
|
9A3576A7116E9AB700E8ED2F /* SBHostOS.h */,
|
|
|
|
9A3576A9116E9AC700E8ED2F /* SBHostOS.cpp */,
|
|
|
|
9AA69DAE118A023300D753A0 /* SBInputReader.h */,
|
|
|
|
9AA69DB0118A024600D753A0 /* SBInputReader.cpp */,
|
|
|
|
9AC7038D117674EB0086C050 /* SBInstruction.h */,
|
|
|
|
9AC703AE117675410086C050 /* SBInstruction.cpp */,
|
|
|
|
9AC7038F117675270086C050 /* SBInstructionList.h */,
|
|
|
|
9AC703B0117675490086C050 /* SBInstructionList.cpp */,
|
|
|
|
26DE205811618FE700A093E2 /* SBLineEntry.h */,
|
|
|
|
26DE20621161904200A093E2 /* SBLineEntry.cpp */,
|
|
|
|
9A9831021125FC5800A56CB0 /* SBListener.h */,
|
|
|
|
9A9831011125FC5800A56CB0 /* SBListener.cpp */,
|
|
|
|
26DE204E11618E9800A093E2 /* SBModule.h */,
|
|
|
|
26DE204C11618E7A00A093E2 /* SBModule.cpp */,
|
|
|
|
9A9831041125FC5800A56CB0 /* SBProcess.h */,
|
|
|
|
9A9831031125FC5800A56CB0 /* SBProcess.cpp */,
|
|
|
|
9A9831061125FC5800A56CB0 /* SBSourceManager.h */,
|
|
|
|
9A9831051125FC5800A56CB0 /* SBSourceManager.cpp */,
|
2010-09-18 01:42:16 +08:00
|
|
|
26C72C93124322890068DC16 /* SBStream.h */,
|
|
|
|
26C72C951243229A0068DC16 /* SBStream.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
9A357670116E7B5200E8ED2F /* SBStringList.h */,
|
|
|
|
9A357672116E7B6400E8ED2F /* SBStringList.cpp */,
|
|
|
|
26DE205A11618FF600A093E2 /* SBSymbol.h */,
|
|
|
|
26DE20641161904E00A093E2 /* SBSymbol.cpp */,
|
|
|
|
26DE204011618AB900A093E2 /* SBSymbolContext.h */,
|
|
|
|
26DE204611618AED00A093E2 /* SBSymbolContext.cpp */,
|
2010-09-11 02:31:35 +08:00
|
|
|
268F9D52123AA15200B91E9B /* SBSymbolContextList.h */,
|
|
|
|
268F9D54123AA16600B91E9B /* SBSymbolContextList.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
9A9831081125FC5800A56CB0 /* SBTarget.h */,
|
|
|
|
9A9831071125FC5800A56CB0 /* SBTarget.cpp */,
|
|
|
|
9A98310A1125FC5800A56CB0 /* SBThread.h */,
|
|
|
|
9A9831091125FC5800A56CB0 /* SBThread.cpp */,
|
|
|
|
2617447911685869005ADD65 /* SBType.h */,
|
|
|
|
261744771168585B005ADD65 /* SBType.cpp */,
|
|
|
|
9A19A6A51163BB7E00E0D453 /* SBValue.h */,
|
|
|
|
9A19A6AD1163BB9800E0D453 /* SBValue.cpp */,
|
|
|
|
9A357582116CFDEE00E8ED2F /* SBValueList.h */,
|
|
|
|
9A35758D116CFE0F00E8ED2F /* SBValueList.cpp */,
|
|
|
|
);
|
|
|
|
name = API;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F55126A255E0007C5CB /* darwin-debug */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26368A3B126B697600E8659F /* darwin-debug.cpp */,
|
|
|
|
);
|
|
|
|
name = "darwin-debug";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
265E9BE0115C2B8500D0DCCB /* debugserver */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
265E9BE1115C2BAA00D0DCCB /* debugserver.xcodeproj */,
|
|
|
|
);
|
|
|
|
name = debugserver;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
265E9BE2115C2BAA00D0DCCB /* Products */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26CE05A0115C31E50022F371 /* debugserver */,
|
|
|
|
);
|
|
|
|
name = Products;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
266960581199F4230075C61A /* Scripts */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
266960591199F4230075C61A /* build-llvm.pl */,
|
|
|
|
2669605A1199F4230075C61A /* build-swig-wrapper-classes.sh */,
|
|
|
|
2669605B1199F4230075C61A /* checkpoint-llvm.pl */,
|
|
|
|
2669605C1199F4230075C61A /* finish-swig-wrapper-classes.sh */,
|
|
|
|
2669605D1199F4230075C61A /* install-lldb.sh */,
|
|
|
|
2669605E1199F4230075C61A /* lldb.swig */,
|
|
|
|
2669605F1199F4230075C61A /* Python */,
|
|
|
|
266960631199F4230075C61A /* sed-sources */,
|
|
|
|
);
|
|
|
|
name = Scripts;
|
|
|
|
path = scripts;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
2669605F1199F4230075C61A /* Python */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
266960601199F4230075C61A /* build-swig-Python.sh */,
|
|
|
|
266960611199F4230075C61A /* edit-swig-python-wrapper-file.py */,
|
|
|
|
266960621199F4230075C61A /* finish-swig-Python-lldb.sh */,
|
2010-09-23 07:01:29 +08:00
|
|
|
9A48A3A7124AAA5A00922451 /* python-extensions.swig */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
path = Python;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
2682F168115ED9C800CCFF99 /* Utility */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-09-22 15:37:07 +08:00
|
|
|
96A6D9C51249D96F00250B38 /* ArchVolatileRegs.cpp */,
|
2010-09-10 15:49:16 +08:00
|
|
|
961FAC18123605A200F93A47 /* ArchDefaultUnwindPlan.cpp */,
|
|
|
|
961FABE41235F15900F93A47 /* UnwindAssemblyProfiler.cpp */,
|
2010-07-24 01:42:15 +08:00
|
|
|
264723A511FA076E00DE380C /* CleanUp.h */,
|
2010-06-13 01:45:57 +08:00
|
|
|
261B5A5211C3F2AD00AABD0A /* SharingPtr.cpp */,
|
|
|
|
261B5A5311C3F2AD00AABD0A /* SharingPtr.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26F996A7119B79C300412154 /* ARM_DWARF_Registers.h */,
|
|
|
|
26F996A8119B79C300412154 /* ARM_GCC_Registers.h */,
|
|
|
|
2660D9F611922A1300958FBD /* StringExtractor.cpp */,
|
|
|
|
2660D9F711922A1300958FBD /* StringExtractor.h */,
|
|
|
|
2676A093119C93C8008A98EF /* StringExtractorGDBRemote.cpp */,
|
|
|
|
2676A094119C93C8008A98EF /* StringExtractorGDBRemote.h */,
|
|
|
|
2682F16A115EDA0D00CCFF99 /* PseudoTerminal.cpp */,
|
|
|
|
2682F16B115EDA0D00CCFF99 /* PseudoTerminal.h */,
|
|
|
|
);
|
|
|
|
name = Utility;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26A3B4AB1181454800381BC2 /* BSD-Archive */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26A3B4AC1181454800381BC2 /* ObjectContainerBSDArchive.cpp */,
|
|
|
|
26A3B4AD1181454800381BC2 /* ObjectContainerBSDArchive.h */,
|
|
|
|
);
|
|
|
|
path = "BSD-Archive";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26B4666E11A2080F00CF6220 /* Utility */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2011-01-25 02:24:53 +08:00
|
|
|
B23DD24F12EDFAC1000C3894 /* ARMUtils.h */,
|
2011-01-22 06:02:52 +08:00
|
|
|
2621C9CC12EA009300711A30 /* EmulateInstruction.h */,
|
|
|
|
2621CA0A12EA107700711A30 /* EmulateInstruction.cpp */,
|
|
|
|
2621C9CF12EA066500711A30 /* EmulateInstructionARM.h */,
|
|
|
|
2621C9CB12EA009300711A30 /* EmulateInstructionARM.cpp */,
|
2010-10-25 19:12:07 +08:00
|
|
|
AF68D32F1255A110002FF25B /* UnwindLLDB.cpp */,
|
|
|
|
AF68D3301255A110002FF25B /* UnwindLLDB.h */,
|
|
|
|
AF68D2541255416E002FF25B /* RegisterContextLLDB.cpp */,
|
|
|
|
AF68D2551255416E002FF25B /* RegisterContextLLDB.h */,
|
2010-09-22 15:37:07 +08:00
|
|
|
96A6D9C71249D98800250B38 /* ArchVolatileRegs-x86.cpp */,
|
|
|
|
96A6D9C81249D98800250B38 /* ArchVolatileRegs-x86.h */,
|
2010-09-10 15:49:16 +08:00
|
|
|
961FAC1C12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.cpp */,
|
|
|
|
961FAC1D12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.h */,
|
|
|
|
961FABE81235F26800F93A47 /* UnwindAssemblyProfiler-x86.cpp */,
|
|
|
|
961FABE91235F26800F93A47 /* UnwindAssemblyProfiler-x86.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26E3EEF811A994E800FBADB6 /* RegisterContextMacOSXFrameBackchain.h */,
|
2010-08-04 09:40:35 +08:00
|
|
|
26E3EEF711A994E800FBADB6 /* RegisterContextMacOSXFrameBackchain.cpp */,
|
|
|
|
2615DBC91208B5FC0021781D /* StopInfoMachException.h */,
|
|
|
|
2615DBC81208B5FC0021781D /* StopInfoMachException.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26E3EEE411A9901300FBADB6 /* UnwindMacOSXFrameBackchain.h */,
|
2010-08-04 09:40:35 +08:00
|
|
|
26E3EEE311A9901300FBADB6 /* UnwindMacOSXFrameBackchain.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
name = Utility;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7C1010F1B34800F91463 /* Core */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26BC7D5010F1B77400F91463 /* Address.h */,
|
|
|
|
26BC7E6910F1B85900F91463 /* Address.cpp */,
|
|
|
|
26BC7D5110F1B77400F91463 /* AddressRange.h */,
|
|
|
|
26BC7E6A10F1B85900F91463 /* AddressRange.cpp */,
|
|
|
|
9AC7033E11752C540086C050 /* AddressResolver.h */,
|
|
|
|
9AC7034011752C6B0086C050 /* AddressResolver.cpp */,
|
|
|
|
9AC7033D11752C4C0086C050 /* AddressResolverFileLine.h */,
|
|
|
|
9AC7034211752C720086C050 /* AddressResolverFileLine.cpp */,
|
|
|
|
9AC7033F11752C590086C050 /* AddressResolverName.h */,
|
|
|
|
9AC7034411752C790086C050 /* AddressResolverName.cpp */,
|
|
|
|
26BC7D5210F1B77400F91463 /* ArchSpec.h */,
|
|
|
|
26BC7E6B10F1B85900F91463 /* ArchSpec.cpp */,
|
|
|
|
26A0604711A5BC7A00F75969 /* Baton.h */,
|
|
|
|
26A0604811A5D03C00F75969 /* Baton.cpp */,
|
|
|
|
26BC7D5410F1B77400F91463 /* Broadcaster.h */,
|
|
|
|
26BC7E6D10F1B85900F91463 /* Broadcaster.cpp */,
|
|
|
|
26BC7D5510F1B77400F91463 /* ClangForward.h */,
|
|
|
|
26BC7D5610F1B77400F91463 /* Communication.h */,
|
|
|
|
26BC7E6E10F1B85900F91463 /* Communication.cpp */,
|
|
|
|
26BC7D5710F1B77400F91463 /* Connection.h */,
|
|
|
|
26BC7E6F10F1B85900F91463 /* Connection.cpp */,
|
|
|
|
26BC7D5810F1B77400F91463 /* ConnectionFileDescriptor.h */,
|
|
|
|
26BC7E7010F1B85900F91463 /* ConnectionFileDescriptor.cpp */,
|
|
|
|
26BC7D7C10F1B77400F91463 /* ConstString.h */,
|
|
|
|
26BC7E9410F1B85900F91463 /* ConstString.cpp */,
|
|
|
|
26BC7D5910F1B77400F91463 /* DataBuffer.h */,
|
|
|
|
26BC7D5B10F1B77400F91463 /* DataBufferHeap.h */,
|
|
|
|
26BC7E7210F1B85900F91463 /* DataBufferHeap.cpp */,
|
|
|
|
26BC7D5C10F1B77400F91463 /* DataBufferMemoryMap.h */,
|
|
|
|
26BC7E7310F1B85900F91463 /* DataBufferMemoryMap.cpp */,
|
|
|
|
26BC7D5A10F1B77400F91463 /* DataExtractor.h */,
|
|
|
|
26BC7E7110F1B85900F91463 /* DataExtractor.cpp */,
|
|
|
|
263664941140A4C10075843B /* Debugger.h */,
|
|
|
|
263664921140A4930075843B /* Debugger.cpp */,
|
|
|
|
26BC7D5E10F1B77400F91463 /* Disassembler.h */,
|
|
|
|
26BC7E7610F1B85900F91463 /* Disassembler.cpp */,
|
|
|
|
26BC7D5F10F1B77400F91463 /* dwarf.h */,
|
|
|
|
26BC7E7710F1B85900F91463 /* DynamicLoader.cpp */,
|
|
|
|
26BC7D6010F1B77400F91463 /* Error.h */,
|
|
|
|
26BC7E7810F1B85900F91463 /* Error.cpp */,
|
|
|
|
26BC7D6110F1B77400F91463 /* Event.h */,
|
|
|
|
26BC7E7910F1B85900F91463 /* Event.cpp */,
|
|
|
|
26BC7D6210F1B77400F91463 /* FileSpec.h */,
|
|
|
|
26BC7E7A10F1B85900F91463 /* FileSpec.cpp */,
|
|
|
|
26BC7D6310F1B77400F91463 /* FileSpecList.h */,
|
|
|
|
26BC7E7B10F1B85900F91463 /* FileSpecList.cpp */,
|
|
|
|
26BC7D6410F1B77400F91463 /* Flags.h */,
|
|
|
|
9AA69DBB118A029E00D753A0 /* InputReader.h */,
|
|
|
|
9AA69DB5118A027A00D753A0 /* InputReader.cpp */,
|
|
|
|
26BC7D6510F1B77400F91463 /* IOStreamMacros.h */,
|
|
|
|
26BC7D6610F1B77400F91463 /* Language.h */,
|
|
|
|
26BC7E7D10F1B85900F91463 /* Language.cpp */,
|
|
|
|
26BC7D6710F1B77400F91463 /* Listener.h */,
|
|
|
|
26BC7E7E10F1B85900F91463 /* Listener.cpp */,
|
|
|
|
26BC7D6810F1B77400F91463 /* Log.h */,
|
|
|
|
26BC7E7F10F1B85900F91463 /* Log.cpp */,
|
|
|
|
26BC7D6910F1B77400F91463 /* Mangled.h */,
|
|
|
|
26BC7E8010F1B85900F91463 /* Mangled.cpp */,
|
|
|
|
26BC7D6A10F1B77400F91463 /* Module.h */,
|
|
|
|
26BC7E8110F1B85900F91463 /* Module.cpp */,
|
|
|
|
26BC7D6B10F1B77400F91463 /* ModuleChild.h */,
|
|
|
|
26BC7E8210F1B85900F91463 /* ModuleChild.cpp */,
|
|
|
|
26BC7D6C10F1B77400F91463 /* ModuleList.h */,
|
|
|
|
26BC7E8310F1B85900F91463 /* ModuleList.cpp */,
|
|
|
|
26BC7D7010F1B77400F91463 /* PluginInterface.h */,
|
|
|
|
26BC7D7110F1B77400F91463 /* PluginManager.h */,
|
|
|
|
26BC7E8A10F1B85900F91463 /* PluginManager.cpp */,
|
|
|
|
26BC7D7310F1B77400F91463 /* RegularExpression.h */,
|
|
|
|
26BC7E8C10F1B85900F91463 /* RegularExpression.cpp */,
|
|
|
|
26BC7D7410F1B77400F91463 /* Scalar.h */,
|
|
|
|
26BC7E8D10F1B85900F91463 /* Scalar.cpp */,
|
|
|
|
26BC7CF910F1B71400F91463 /* SearchFilter.h */,
|
|
|
|
26BC7E1510F1B83100F91463 /* SearchFilter.cpp */,
|
|
|
|
26BC7D7510F1B77400F91463 /* Section.h */,
|
|
|
|
26BC7E8E10F1B85900F91463 /* Section.cpp */,
|
|
|
|
26BC7D7610F1B77400F91463 /* SourceManager.h */,
|
|
|
|
26BC7E8F10F1B85900F91463 /* SourceManager.cpp */,
|
|
|
|
26BC7D7710F1B77400F91463 /* State.h */,
|
|
|
|
26BC7E9010F1B85900F91463 /* State.cpp */,
|
|
|
|
26BC7D7810F1B77400F91463 /* STLUtils.h */,
|
|
|
|
26BC7D7910F1B77400F91463 /* Stream.h */,
|
|
|
|
26BC7E9110F1B85900F91463 /* Stream.cpp */,
|
|
|
|
26BC7D7A10F1B77400F91463 /* StreamFile.h */,
|
|
|
|
26BC7E9210F1B85900F91463 /* StreamFile.cpp */,
|
|
|
|
26BC7D7B10F1B77400F91463 /* StreamString.h */,
|
|
|
|
26BC7E9310F1B85900F91463 /* StreamString.cpp */,
|
|
|
|
9A35765E116E76A700E8ED2F /* StringList.h */,
|
|
|
|
9A35765F116E76B900E8ED2F /* StringList.cpp */,
|
2010-06-29 05:30:43 +08:00
|
|
|
26B167A41123BF5500DC7B4F /* ThreadSafeValue.h */,
|
|
|
|
263FEDA5112CC1DA00E4C208 /* ThreadSafeSTLMap.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D7E10F1B77400F91463 /* Timer.h */,
|
|
|
|
26BC7E9610F1B85900F91463 /* Timer.cpp */,
|
|
|
|
26BC7D7F10F1B77400F91463 /* TTYState.h */,
|
|
|
|
26BC7E9710F1B85900F91463 /* TTYState.cpp */,
|
|
|
|
268A813F115B19D000F645B0 /* UniqueCStringMap.h */,
|
|
|
|
26BC7D8010F1B77400F91463 /* UserID.h */,
|
|
|
|
26BC7E9810F1B85900F91463 /* UserID.cpp */,
|
2010-09-04 08:03:46 +08:00
|
|
|
9A4633DA11F65D8600955CE1 /* UserSettingsController.h */,
|
|
|
|
9A4633DC11F65D9A00955CE1 /* UserSettingsController.cpp */,
|
2010-06-29 05:30:43 +08:00
|
|
|
26C81CA411335651004BDC5A /* UUID.h */,
|
|
|
|
26C81CA511335651004BDC5A /* UUID.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D8110F1B77400F91463 /* Value.h */,
|
|
|
|
26BC7E9910F1B85900F91463 /* Value.cpp */,
|
|
|
|
26BC7D8210F1B77400F91463 /* ValueObject.h */,
|
|
|
|
26BC7E9A10F1B85900F91463 /* ValueObject.cpp */,
|
|
|
|
26BC7D8310F1B77400F91463 /* ValueObjectChild.h */,
|
|
|
|
26BC7E9B10F1B85900F91463 /* ValueObjectChild.cpp */,
|
2010-10-05 08:00:42 +08:00
|
|
|
26424E3E125986D30016D82C /* ValueObjectConstResult.h */,
|
|
|
|
26424E3C125986CB0016D82C /* ValueObjectConstResult.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D8410F1B77400F91463 /* ValueObjectList.h */,
|
|
|
|
26BC7E9C10F1B85900F91463 /* ValueObjectList.cpp */,
|
|
|
|
2643343A1110F63C00CDB6C6 /* ValueObjectRegister.h */,
|
|
|
|
264334381110F63100CDB6C6 /* ValueObjectRegister.cpp */,
|
|
|
|
26BC7D8510F1B77400F91463 /* ValueObjectVariable.h */,
|
|
|
|
26BC7E9D10F1B85900F91463 /* ValueObjectVariable.cpp */,
|
|
|
|
26BC7D8610F1B77400F91463 /* VMRange.h */,
|
|
|
|
26BC7E9E10F1B85900F91463 /* VMRange.cpp */,
|
|
|
|
);
|
|
|
|
name = Core;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7C4B10F1B6C100F91463 /* Symbol */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26BC7C5510F1B6E900F91463 /* Block.h */,
|
|
|
|
26BC7F1310F1B8EC00F91463 /* Block.cpp */,
|
|
|
|
26BC7C5610F1B6E900F91463 /* ClangASTContext.h */,
|
|
|
|
26BC7F1410F1B8EC00F91463 /* ClangASTContext.cpp */,
|
2010-07-22 06:12:05 +08:00
|
|
|
49E45FA911F660DC008F7B28 /* ClangASTType.h */,
|
|
|
|
49E45FAD11F660FE008F7B28 /* ClangASTType.cpp */,
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
26E6902E129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h */,
|
|
|
|
26E69030129C6BEF00DDECD9 /* ClangExternalASTSourceCallbacks.cpp */,
|
2010-11-13 11:52:47 +08:00
|
|
|
266A42D7128E40040090CF7C /* ClangNamespaceDecl.h */,
|
|
|
|
266A42D5128E3FFB0090CF7C /* ClangNamespaceDecl.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7C5710F1B6E900F91463 /* CompileUnit.h */,
|
|
|
|
26BC7F1510F1B8EC00F91463 /* CompileUnit.cpp */,
|
|
|
|
26BC7C5810F1B6E900F91463 /* Declaration.h */,
|
|
|
|
26BC7F1610F1B8EC00F91463 /* Declaration.cpp */,
|
|
|
|
26BC7C5910F1B6E900F91463 /* DWARFCallFrameInfo.h */,
|
|
|
|
26BC7F1710F1B8EC00F91463 /* DWARFCallFrameInfo.cpp */,
|
|
|
|
26BC7C5A10F1B6E900F91463 /* Function.h */,
|
|
|
|
26BC7F1810F1B8EC00F91463 /* Function.cpp */,
|
2010-09-23 09:09:21 +08:00
|
|
|
269FF07D12494F7D00225026 /* FuncUnwinders.h */,
|
|
|
|
961FABB81235DE1600F93A47 /* FuncUnwinders.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7C5B10F1B6E900F91463 /* LineEntry.h */,
|
|
|
|
26BC7F1910F1B8EC00F91463 /* LineEntry.cpp */,
|
|
|
|
26BC7C5C10F1B6E900F91463 /* LineTable.h */,
|
|
|
|
26BC7F1A10F1B8EC00F91463 /* LineTable.cpp */,
|
|
|
|
26BC7C5D10F1B6E900F91463 /* ObjectContainer.h */,
|
|
|
|
26BC7C5E10F1B6E900F91463 /* ObjectFile.h */,
|
|
|
|
26BC7F4C10F1BC1A00F91463 /* ObjectFile.cpp */,
|
|
|
|
26BC7C5F10F1B6E900F91463 /* Symbol.h */,
|
|
|
|
26BC7F1B10F1B8EC00F91463 /* Symbol.cpp */,
|
|
|
|
26BC7C6010F1B6E900F91463 /* SymbolContext.h */,
|
|
|
|
26BC7F1C10F1B8EC00F91463 /* SymbolContext.cpp */,
|
|
|
|
26BC7C6110F1B6E900F91463 /* SymbolContextScope.h */,
|
|
|
|
26BC7C6210F1B6E900F91463 /* SymbolFile.h */,
|
|
|
|
26BC7F1D10F1B8EC00F91463 /* SymbolFile.cpp */,
|
|
|
|
26BC7C6310F1B6E900F91463 /* SymbolVendor.h */,
|
2010-08-03 08:35:52 +08:00
|
|
|
AF94005711C03F6500085DB9 /* SymbolVendor.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7C6410F1B6E900F91463 /* Symtab.h */,
|
|
|
|
26BC7F1F10F1B8EC00F91463 /* Symtab.cpp */,
|
2010-07-23 08:16:21 +08:00
|
|
|
49BB309511F79450001A4197 /* TaggedASTType.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7C6510F1B6E900F91463 /* Type.h */,
|
|
|
|
26BC7F2010F1B8EC00F91463 /* Type.cpp */,
|
|
|
|
26BC7C6610F1B6E900F91463 /* TypeList.h */,
|
|
|
|
26BC7F2110F1B8EC00F91463 /* TypeList.cpp */,
|
2010-09-23 09:09:21 +08:00
|
|
|
269FF07F12494F8E00225026 /* UnwindPlan.h */,
|
|
|
|
961FABB91235DE1600F93A47 /* UnwindPlan.cpp */,
|
|
|
|
269FF08112494FC200225026 /* UnwindTable.h */,
|
|
|
|
961FABBA1235DE1600F93A47 /* UnwindTable.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7C6710F1B6E900F91463 /* Variable.h */,
|
|
|
|
26BC7F2210F1B8EC00F91463 /* Variable.cpp */,
|
|
|
|
26BC7C6810F1B6E900F91463 /* VariableList.h */,
|
|
|
|
26BC7F2310F1B8EC00F91463 /* VariableList.cpp */,
|
|
|
|
);
|
|
|
|
name = Symbol;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7CEB10F1B70800F91463 /* Breakpoint */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26BC7CEE10F1B71400F91463 /* Breakpoint.h */,
|
|
|
|
26BC7E0A10F1B83100F91463 /* Breakpoint.cpp */,
|
|
|
|
26BC7CEF10F1B71400F91463 /* BreakpointID.h */,
|
|
|
|
26BC7E0B10F1B83100F91463 /* BreakpointID.cpp */,
|
|
|
|
26BC7CF010F1B71400F91463 /* BreakpointIDList.h */,
|
|
|
|
26BC7E0C10F1B83100F91463 /* BreakpointIDList.cpp */,
|
|
|
|
26BC7CF110F1B71400F91463 /* BreakpointList.h */,
|
|
|
|
26BC7E0D10F1B83100F91463 /* BreakpointList.cpp */,
|
|
|
|
26BC7CF210F1B71400F91463 /* BreakpointLocation.h */,
|
|
|
|
26BC7E0E10F1B83100F91463 /* BreakpointLocation.cpp */,
|
|
|
|
26BC7CF310F1B71400F91463 /* BreakpointLocationCollection.h */,
|
|
|
|
26BC7E0F10F1B83100F91463 /* BreakpointLocationCollection.cpp */,
|
|
|
|
26BC7CF410F1B71400F91463 /* BreakpointLocationList.h */,
|
|
|
|
26BC7E1010F1B83100F91463 /* BreakpointLocationList.cpp */,
|
|
|
|
26BC7CF510F1B71400F91463 /* BreakpointOptions.h */,
|
|
|
|
26BC7E1110F1B83100F91463 /* BreakpointOptions.cpp */,
|
|
|
|
26BC7CF610F1B71400F91463 /* BreakpointResolver.h */,
|
|
|
|
26BC7E1210F1B83100F91463 /* BreakpointResolver.cpp */,
|
|
|
|
26D0DD5010FE554D00271C65 /* BreakpointResolverAddress.h */,
|
|
|
|
26D0DD5310FE555900271C65 /* BreakpointResolverAddress.cpp */,
|
|
|
|
26D0DD5110FE554D00271C65 /* BreakpointResolverFileLine.h */,
|
|
|
|
26D0DD5410FE555900271C65 /* BreakpointResolverFileLine.cpp */,
|
|
|
|
26D0DD5210FE554D00271C65 /* BreakpointResolverName.h */,
|
|
|
|
26D0DD5510FE555900271C65 /* BreakpointResolverName.cpp */,
|
|
|
|
26BC7CF710F1B71400F91463 /* BreakpointSite.h */,
|
|
|
|
26BC7E1310F1B83100F91463 /* BreakpointSite.cpp */,
|
|
|
|
26BC7CF810F1B71400F91463 /* BreakpointSiteList.h */,
|
|
|
|
26BC7E1410F1B83100F91463 /* BreakpointSiteList.cpp */,
|
|
|
|
26BC7CFA10F1B71400F91463 /* Stoppoint.h */,
|
|
|
|
26BC7E1610F1B83100F91463 /* Stoppoint.cpp */,
|
|
|
|
26BC7CED10F1B71400F91463 /* StoppointCallbackContext.h */,
|
|
|
|
26BC7E0910F1B83100F91463 /* StoppointCallbackContext.cpp */,
|
|
|
|
26BC7CFB10F1B71400F91463 /* StoppointLocation.h */,
|
|
|
|
26BC7E1710F1B83100F91463 /* StoppointLocation.cpp */,
|
|
|
|
26BC7CFC10F1B71400F91463 /* WatchpointLocation.h */,
|
|
|
|
26BC7E1810F1B83100F91463 /* WatchpointLocation.cpp */,
|
|
|
|
);
|
|
|
|
name = Breakpoint;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7D0D10F1B71D00F91463 /* Commands */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
4CA9637A11B6E99A00780E28 /* CommandObjectApropos.h */,
|
|
|
|
4CA9637911B6E99A00780E28 /* CommandObjectApropos.cpp */,
|
|
|
|
499F381E11A5B3F300F5CE02 /* CommandObjectArgs.h */,
|
|
|
|
499F381F11A5B3F300F5CE02 /* CommandObjectArgs.cpp */,
|
|
|
|
26BC7D1410F1B76300F91463 /* CommandObjectBreakpoint.h */,
|
|
|
|
26BC7E2D10F1B84700F91463 /* CommandObjectBreakpoint.cpp */,
|
|
|
|
9A42976111861A9F00FE05CD /* CommandObjectBreakpointCommand.h */,
|
|
|
|
9A42976211861AA600FE05CD /* CommandObjectBreakpointCommand.cpp */,
|
2010-07-07 11:36:20 +08:00
|
|
|
4C5DBBC711E3FEC60035160F /* CommandObjectCommands.h */,
|
|
|
|
4C5DBBC611E3FEC60035160F /* CommandObjectCommands.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D1710F1B76300F91463 /* CommandObjectDisassemble.h */,
|
|
|
|
26BC7E3010F1B84700F91463 /* CommandObjectDisassemble.cpp */,
|
|
|
|
26BC7D1810F1B76300F91463 /* CommandObjectExpression.h */,
|
|
|
|
26BC7E3110F1B84700F91463 /* CommandObjectExpression.cpp */,
|
|
|
|
26BC7D1910F1B76300F91463 /* CommandObjectFile.h */,
|
|
|
|
26BC7E3210F1B84700F91463 /* CommandObjectFile.cpp */,
|
|
|
|
2672D8471189055500FF4019 /* CommandObjectFrame.h */,
|
|
|
|
2672D8461189055500FF4019 /* CommandObjectFrame.cpp */,
|
|
|
|
26BC7D1A10F1B76300F91463 /* CommandObjectHelp.h */,
|
|
|
|
26BC7E3310F1B84700F91463 /* CommandObjectHelp.cpp */,
|
|
|
|
26BC7D1B10F1B76300F91463 /* CommandObjectImage.h */,
|
|
|
|
26BC7E3410F1B84700F91463 /* CommandObjectImage.cpp */,
|
|
|
|
264AD83911095BBD00E0B039 /* CommandObjectLog.h */,
|
|
|
|
264AD83711095BA600E0B039 /* CommandObjectLog.cpp */,
|
|
|
|
26BC7D1D10F1B76300F91463 /* CommandObjectMemory.h */,
|
|
|
|
26BC7E3610F1B84700F91463 /* CommandObjectMemory.cpp */,
|
|
|
|
26BC7D1F10F1B76300F91463 /* CommandObjectProcess.h */,
|
|
|
|
26BC7E3810F1B84700F91463 /* CommandObjectProcess.cpp */,
|
|
|
|
26BC7D2010F1B76300F91463 /* CommandObjectQuit.h */,
|
|
|
|
26BC7E3910F1B84700F91463 /* CommandObjectQuit.cpp */,
|
|
|
|
26BC7D2210F1B76300F91463 /* CommandObjectRegister.h */,
|
|
|
|
26BC7E3B10F1B84700F91463 /* CommandObjectRegister.cpp */,
|
|
|
|
26BC7D2410F1B76300F91463 /* CommandObjectScript.h */,
|
|
|
|
26BC7E3D10F1B84700F91463 /* CommandObjectScript.cpp */,
|
|
|
|
26BC7D2710F1B76300F91463 /* CommandObjectSettings.h */,
|
|
|
|
26BC7E4010F1B84700F91463 /* CommandObjectSettings.cpp */,
|
|
|
|
26BC7D2910F1B76300F91463 /* CommandObjectSource.h */,
|
|
|
|
26BC7E4210F1B84700F91463 /* CommandObjectSource.cpp */,
|
|
|
|
26BC7D2C10F1B76300F91463 /* CommandObjectSyntax.h */,
|
|
|
|
26BC7E4510F1B84700F91463 /* CommandObjectSyntax.cpp */,
|
|
|
|
269416AE119A024800FF2715 /* CommandObjectTarget.h */,
|
|
|
|
269416AD119A024800FF2715 /* CommandObjectTarget.cpp */,
|
|
|
|
26BC7D2D10F1B76300F91463 /* CommandObjectThread.h */,
|
|
|
|
26BC7E4610F1B84700F91463 /* CommandObjectThread.cpp */,
|
2011-01-04 09:17:46 +08:00
|
|
|
B296983512C2FB2B002D92C3 /* CommandObjectVersion.h */,
|
|
|
|
B296983412C2FB2B002D92C3 /* CommandObjectVersion.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
name = Commands;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7DBE10F1B78200F91463 /* Expression */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
49D7072611B5AD03001AD875 /* ClangASTSource.h */,
|
|
|
|
49D7072811B5AD11001AD875 /* ClangASTSource.cpp */,
|
|
|
|
26BC7DC010F1B79500F91463 /* ClangExpression.h */,
|
|
|
|
4C98D3E0118FB98F00E575D0 /* ClangFunction.h */,
|
|
|
|
4C98D3DA118FB96F00E575D0 /* ClangFunction.cpp */,
|
|
|
|
49F1A74911B338AE003ED505 /* ClangExpressionDeclMap.h */,
|
|
|
|
49F1A74511B3388F003ED505 /* ClangExpressionDeclMap.cpp */,
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49445C2912245E5500C11A81 /* ClangExpressionParser.h */,
|
|
|
|
49445C2512245E3600C11A81 /* ClangExpressionParser.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DC110F1B79500F91463 /* ClangExpressionVariable.h */,
|
|
|
|
26BC7ED610F1B86700F91463 /* ClangExpressionVariable.cpp */,
|
2010-08-11 11:57:18 +08:00
|
|
|
49D4FE821210B5FB00CDB854 /* ClangPersistentVariables.h */,
|
|
|
|
49D4FE871210B61C00CDB854 /* ClangPersistentVariables.cpp */,
|
2010-08-28 07:31:21 +08:00
|
|
|
49445E341225AB6A00C11A81 /* ClangUserExpression.h */,
|
|
|
|
26BC7ED510F1B86700F91463 /* ClangUserExpression.cpp */,
|
|
|
|
497C86C1122823F300B54702 /* ClangUtilityFunction.h */,
|
|
|
|
497C86BD122823D800B54702 /* ClangUtilityFunction.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DC310F1B79500F91463 /* DWARFExpression.h */,
|
|
|
|
26BC7ED810F1B86700F91463 /* DWARFExpression.cpp */,
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49A8A3A311D568BF00AD3B68 /* ASTResultSynthesizer.h */,
|
|
|
|
49A8A39F11D568A300AD3B68 /* ASTResultSynthesizer.cpp */,
|
|
|
|
4911934B1226383D00578B7F /* ASTStructExtractor.h */,
|
|
|
|
491193501226386000578B7F /* ASTStructExtractor.cpp */,
|
2010-09-01 08:58:00 +08:00
|
|
|
49CF9833122C718B007A0B96 /* IRDynamicChecks.h */,
|
|
|
|
49CF9829122C70BD007A0B96 /* IRDynamicChecks.cpp */,
|
2010-07-03 09:35:46 +08:00
|
|
|
49307AB111DEA4F20081F992 /* IRForTarget.h */,
|
|
|
|
49307AAD11DEA4D90081F992 /* IRForTarget.cpp */,
|
2010-07-03 05:09:36 +08:00
|
|
|
49DA743411DE6BB2006AEF7E /* IRToDWARF.h */,
|
|
|
|
49DA742F11DE6A5A006AEF7E /* IRToDWARF.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
4C98D3E1118FB98F00E575D0 /* RecordingMemoryManager.h */,
|
|
|
|
4C98D3DB118FB96F00E575D0 /* RecordingMemoryManager.cpp */,
|
|
|
|
);
|
|
|
|
name = Expression;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7DD010F1B7C100F91463 /* Host */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-09-08 04:11:56 +08:00
|
|
|
69A01E1A1236C5D400C660B5 /* common */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7EE510F1B88100F91463 /* MacOSX */,
|
|
|
|
26BC7DD210F1B7D500F91463 /* Condition.h */,
|
|
|
|
26BC7DD310F1B7D500F91463 /* Endian.h */,
|
|
|
|
26BC7DD410F1B7D500F91463 /* Host.h */,
|
|
|
|
26BC7DD510F1B7D500F91463 /* Mutex.h */,
|
|
|
|
26BC7DD610F1B7D500F91463 /* Predicate.h */,
|
|
|
|
2689B0A4113EE3CD00A4AEDB /* Symbols.h */,
|
|
|
|
26B4E26E112F35F700AB3F64 /* TimeValue.h */,
|
|
|
|
);
|
|
|
|
name = Host;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7DDF10F1B7E200F91463 /* Interpreter */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-06-16 03:49:27 +08:00
|
|
|
26BC7D5310F1B77400F91463 /* Args.h */,
|
|
|
|
26BC7E6C10F1B85900F91463 /* Args.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26A4EEB511682AAC007A372A /* LLDBWrapPython.cpp */,
|
|
|
|
4C09CB73116BD98B00C7A725 /* CommandCompletions.h */,
|
|
|
|
4C09CB74116BD98B00C7A725 /* CommandCompletions.cpp */,
|
|
|
|
26BC7DE210F1B7F900F91463 /* CommandInterpreter.h */,
|
|
|
|
26BC7F0810F1B8DD00F91463 /* CommandInterpreter.cpp */,
|
|
|
|
26BC7DE310F1B7F900F91463 /* CommandObject.h */,
|
|
|
|
26BC7F0910F1B8DD00F91463 /* CommandObject.cpp */,
|
|
|
|
26DFBC50113B48D600DD817F /* CommandObjectCrossref.h */,
|
|
|
|
26DFBC57113B48F300DD817F /* CommandObjectCrossref.cpp */,
|
|
|
|
26DFBC51113B48D600DD817F /* CommandObjectMultiword.h */,
|
|
|
|
26DFBC58113B48F300DD817F /* CommandObjectMultiword.cpp */,
|
|
|
|
26DFBC52113B48D600DD817F /* CommandObjectRegexCommand.h */,
|
|
|
|
26DFBC59113B48F300DD817F /* CommandObjectRegexCommand.cpp */,
|
|
|
|
26BC7DE410F1B7F900F91463 /* CommandReturnObject.h */,
|
|
|
|
26BC7F0A10F1B8DD00F91463 /* CommandReturnObject.cpp */,
|
2010-06-16 03:49:27 +08:00
|
|
|
26BC7D6D10F1B77400F91463 /* Options.h */,
|
|
|
|
26BC7E8610F1B85900F91463 /* Options.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DE510F1B7F900F91463 /* ScriptInterpreter.h */,
|
|
|
|
9A82010B10FFB49800182560 /* ScriptInterpreter.cpp */,
|
|
|
|
9A2771FB1135A35C00E6ADB6 /* ScriptInterpreterNone.h */,
|
|
|
|
9A2771FC1135A37500E6ADB6 /* ScriptInterpreterNone.cpp */,
|
|
|
|
26BC7DE610F1B7F900F91463 /* ScriptInterpreterPython.h */,
|
|
|
|
26BC7F0C10F1B8DD00F91463 /* ScriptInterpreterPython.cpp */,
|
|
|
|
);
|
|
|
|
name = Interpreter;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7DEF10F1B80200F91463 /* Target */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
497E7B331188ED300065CCA1 /* ABI.h */,
|
|
|
|
497E7B9D1188F6690065CCA1 /* ABI.cpp */,
|
2010-09-23 10:01:19 +08:00
|
|
|
4CB443BB1249920C00C13DC2 /* CPPLanguageRuntime.h */,
|
|
|
|
4CB443BC1249920C00C13DC2 /* CPPLanguageRuntime.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DF110F1B81A00F91463 /* DynamicLoader.h */,
|
|
|
|
26BC7DF210F1B81A00F91463 /* ExecutionContext.h */,
|
|
|
|
26BC7F3510F1B90C00F91463 /* ExecutionContext.cpp */,
|
|
|
|
26DAFD9711529BC7005A394E /* ExecutionContextScope.h */,
|
2010-09-23 10:01:19 +08:00
|
|
|
4CB4430912491DDA00C13DC2 /* LanguageRuntime.h */,
|
|
|
|
4CB4430A12491DDA00C13DC2 /* LanguageRuntime.cpp */,
|
|
|
|
4CB443F612499B6E00C13DC2 /* ObjCLanguageRuntime.h */,
|
|
|
|
4CB443F212499B5000C13DC2 /* ObjCLanguageRuntime.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
495BBACF119A0DE700418BEA /* PathMappingList.h */,
|
|
|
|
495BBACB119A0DBE00418BEA /* PathMappingList.cpp */,
|
|
|
|
26BC7DF310F1B81A00F91463 /* Process.h */,
|
|
|
|
26BC7F3610F1B90C00F91463 /* Process.cpp */,
|
|
|
|
26BC7DF410F1B81A00F91463 /* RegisterContext.h */,
|
|
|
|
26BC7F3710F1B90C00F91463 /* RegisterContext.cpp */,
|
2010-09-15 07:36:40 +08:00
|
|
|
2618D78F1240115500F2B8FE /* SectionLoadList.h */,
|
|
|
|
2618D7911240116900F2B8FE /* SectionLoadList.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DF510F1B81A00F91463 /* StackFrame.h */,
|
|
|
|
26BC7F3810F1B90C00F91463 /* StackFrame.cpp */,
|
|
|
|
26BC7DF610F1B81A00F91463 /* StackFrameList.h */,
|
|
|
|
26BC7F3910F1B90C00F91463 /* StackFrameList.cpp */,
|
|
|
|
26BC7DF710F1B81A00F91463 /* StackID.h */,
|
|
|
|
26BC7F3A10F1B90C00F91463 /* StackID.cpp */,
|
2010-08-04 09:40:35 +08:00
|
|
|
2615DB841208A9C90021781D /* StopInfo.h */,
|
|
|
|
2615DB861208A9E40021781D /* StopInfo.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DF810F1B81A00F91463 /* Target.h */,
|
|
|
|
26BC7F3B10F1B90C00F91463 /* Target.cpp */,
|
|
|
|
26BC7DF910F1B81A00F91463 /* TargetList.h */,
|
|
|
|
26BC7F3C10F1B90C00F91463 /* TargetList.cpp */,
|
|
|
|
26BC7DFA10F1B81A00F91463 /* Thread.h */,
|
|
|
|
26BC7F3D10F1B90C00F91463 /* Thread.cpp */,
|
|
|
|
26BC7DFB10F1B81A00F91463 /* ThreadList.h */,
|
|
|
|
26BC7F3E10F1B90C00F91463 /* ThreadList.cpp */,
|
|
|
|
26BC7DFC10F1B81A00F91463 /* ThreadPlan.h */,
|
|
|
|
26BC7F3F10F1B90C00F91463 /* ThreadPlan.cpp */,
|
|
|
|
260C847F10F50F0A00BB2B04 /* ThreadPlanBase.h */,
|
|
|
|
260C847110F50EFC00BB2B04 /* ThreadPlanBase.cpp */,
|
|
|
|
49EC3E9C118F90D400B1265E /* ThreadPlanCallFunction.h */,
|
|
|
|
49EC3E98118F90AC00B1265E /* ThreadPlanCallFunction.cpp */,
|
2010-11-30 10:22:11 +08:00
|
|
|
4C7CF7E31295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h */,
|
|
|
|
4C7CF7E51295E12B00B4FBB5 /* ThreadPlanCallUserExpression.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
4C43DEF9110641F300E55CBF /* ThreadPlanShouldStopHere.h */,
|
|
|
|
4C43DEFA110641F300E55CBF /* ThreadPlanShouldStopHere.cpp */,
|
|
|
|
260C848010F50F0A00BB2B04 /* ThreadPlanStepInstruction.h */,
|
|
|
|
260C847210F50EFC00BB2B04 /* ThreadPlanStepInstruction.cpp */,
|
|
|
|
260C848110F50F0A00BB2B04 /* ThreadPlanStepOut.h */,
|
|
|
|
260C847310F50EFC00BB2B04 /* ThreadPlanStepOut.cpp */,
|
|
|
|
260C848210F50F0A00BB2B04 /* ThreadPlanStepOverBreakpoint.h */,
|
|
|
|
260C847410F50EFC00BB2B04 /* ThreadPlanStepOverBreakpoint.cpp */,
|
|
|
|
260C848410F50F0A00BB2B04 /* ThreadPlanStepRange.h */,
|
|
|
|
260C847610F50EFC00BB2B04 /* ThreadPlanStepRange.cpp */,
|
|
|
|
4C43DF8511069BFD00E55CBF /* ThreadPlanStepInRange.h */,
|
|
|
|
4C43DF8911069C3200E55CBF /* ThreadPlanStepInRange.cpp */,
|
|
|
|
4C43DF8611069BFD00E55CBF /* ThreadPlanStepOverRange.h */,
|
|
|
|
4C43DF8A11069C3200E55CBF /* ThreadPlanStepOverRange.cpp */,
|
|
|
|
4CAFCE001101216B00CA63DB /* ThreadPlanRunToAddress.h */,
|
|
|
|
4CAFCE031101218900CA63DB /* ThreadPlanRunToAddress.cpp */,
|
|
|
|
260C848310F50F0A00BB2B04 /* ThreadPlanStepThrough.h */,
|
|
|
|
260C847510F50EFC00BB2B04 /* ThreadPlanStepThrough.cpp */,
|
|
|
|
4CEDAED311754F5E00E875A6 /* ThreadPlanStepUntil.h */,
|
|
|
|
2660D9FE11922A7F00958FBD /* ThreadPlanStepUntil.cpp */,
|
2010-10-15 07:45:03 +08:00
|
|
|
4C1AB23E1263E61100D0F04A /* ThreadPlanTestCondition.h */,
|
|
|
|
4C1AB23A1263E5F400D0F04A /* ThreadPlanTestCondition.cpp */,
|
2010-11-12 03:26:09 +08:00
|
|
|
4CC2A14C128C7409001531C4 /* ThreadPlanTracer.h */,
|
|
|
|
4CC2A148128C73ED001531C4 /* ThreadPlanTracer.cpp */,
|
2010-06-16 10:00:15 +08:00
|
|
|
4C08CDEB11C81F1E001610A8 /* ThreadSpec.h */,
|
|
|
|
4C08CDE711C81EF8001610A8 /* ThreadSpec.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
4C00986F11500B4300F316B0 /* UnixSignals.h */,
|
|
|
|
4C00987011500B4300F316B0 /* UnixSignals.cpp */,
|
|
|
|
26E3EEBD11A9870400FBADB6 /* Unwind.h */,
|
|
|
|
);
|
|
|
|
name = Target;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26BC7EE510F1B88100F91463 /* MacOSX */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26BC7EED10F1B8AD00F91463 /* CFCBundle.cpp */,
|
|
|
|
26BC7EEE10F1B8AD00F91463 /* CFCBundle.h */,
|
|
|
|
26BC7EEF10F1B8AD00F91463 /* CFCData.cpp */,
|
|
|
|
26BC7EF010F1B8AD00F91463 /* CFCData.h */,
|
|
|
|
26BC7EF110F1B8AD00F91463 /* CFCMutableArray.cpp */,
|
|
|
|
26BC7EF210F1B8AD00F91463 /* CFCMutableArray.h */,
|
|
|
|
26BC7EF310F1B8AD00F91463 /* CFCMutableDictionary.cpp */,
|
|
|
|
26BC7EF410F1B8AD00F91463 /* CFCMutableDictionary.h */,
|
|
|
|
26BC7EF510F1B8AD00F91463 /* CFCMutableSet.cpp */,
|
|
|
|
26BC7EF610F1B8AD00F91463 /* CFCMutableSet.h */,
|
|
|
|
26BC7EF710F1B8AD00F91463 /* CFCReleaser.h */,
|
|
|
|
26BC7EF810F1B8AD00F91463 /* CFCString.cpp */,
|
|
|
|
26BC7EF910F1B8AD00F91463 /* CFCString.h */,
|
|
|
|
26BC7EE810F1B88F00F91463 /* Host.mm */,
|
|
|
|
2689B0B5113EE47E00A4AEDB /* Symbols.cpp */,
|
|
|
|
);
|
|
|
|
name = MacOSX;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26C9DF02113C5B80006B0F94 /* Include */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26C9DF03113C5B93006B0F94 /* lldb */,
|
|
|
|
);
|
|
|
|
name = Include;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26F5C22410F3D950009D5894 /* Tools */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F55126A255E0007C5CB /* darwin-debug */,
|
2010-06-09 00:52:24 +08:00
|
|
|
265E9BE0115C2B8500D0DCCB /* debugserver */,
|
|
|
|
26F5C22510F3D956009D5894 /* Driver */,
|
|
|
|
);
|
|
|
|
name = Tools;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
usesTabs = 0;
|
|
|
|
};
|
|
|
|
26F5C22510F3D956009D5894 /* Driver */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26F5C27210F3D9E4009D5894 /* lldb-Info.plist */,
|
|
|
|
26F5C27410F3D9E4009D5894 /* Driver.h */,
|
|
|
|
26F5C27310F3D9E4009D5894 /* Driver.cpp */,
|
|
|
|
26F5C27610F3D9E4009D5894 /* IOChannel.h */,
|
|
|
|
26F5C27510F3D9E4009D5894 /* IOChannel.cpp */,
|
|
|
|
);
|
|
|
|
name = Driver;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26F5C32810F3DF7D009D5894 /* Libraries */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26F5C39010F3FA26009D5894 /* CoreFoundation.framework */,
|
|
|
|
265ABF6210F42EE900531910 /* DebugSymbols.framework */,
|
|
|
|
260C876910F538E700BB2B04 /* Foundation.framework */,
|
|
|
|
26F5C32A10F3DFDD009D5894 /* libedit.dylib */,
|
|
|
|
26F5C37410F3F61B009D5894 /* libobjc.dylib */,
|
2010-10-29 05:51:20 +08:00
|
|
|
26F5C32410F3DF23009D5894 /* libpython.dylib */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26F5C32B10F3DFDD009D5894 /* libtermcap.dylib */,
|
2010-09-04 03:08:19 +08:00
|
|
|
4C74CB6212288704006A8171 /* Carbon.framework */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
name = Libraries;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
usesTabs = 0;
|
|
|
|
};
|
|
|
|
493C63D711891A8000914D5E /* ABI */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
497650CD11A21BD8008DDB57 /* MacOSX-i386 */,
|
|
|
|
493C63EA11891FCD00914D5E /* SysV-x86_64 */,
|
|
|
|
);
|
|
|
|
name = ABI;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
493C63EA11891FCD00914D5E /* SysV-x86_64 */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
493C63F11189203300914D5E /* ABISysV_x86_64.cpp */,
|
|
|
|
493C63F01189203300914D5E /* ABISysV_x86_64.h */,
|
|
|
|
);
|
|
|
|
name = "SysV-x86_64";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
497650CD11A21BD8008DDB57 /* MacOSX-i386 */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
497650CE11A21BEE008DDB57 /* ABIMacOSX_i386.cpp */,
|
|
|
|
497650CF11A21BEE008DDB57 /* ABIMacOSX_i386.h */,
|
|
|
|
);
|
|
|
|
name = "MacOSX-i386";
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-09-23 10:01:19 +08:00
|
|
|
4C139EA0124A8AC7000BFF8D /* CPlusPlus */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
4CB443661249448300C13DC2 /* ItaniumABI */,
|
|
|
|
);
|
|
|
|
name = CPlusPlus;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
4C139EA1124A8AD5000BFF8D /* ObjC */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-11-05 02:30:59 +08:00
|
|
|
4C139EA2124A8AE5000BFF8D /* AppleRuntime */,
|
2010-09-23 10:01:19 +08:00
|
|
|
);
|
|
|
|
name = ObjC;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-11-05 02:30:59 +08:00
|
|
|
4C139EA2124A8AE5000BFF8D /* AppleRuntime */ = {
|
2010-09-23 10:01:19 +08:00
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
2010-11-05 02:30:59 +08:00
|
|
|
4C61978812823D4300FAFFCC /* AppleObjCRuntime.cpp */,
|
|
|
|
4C61978912823D4300FAFFCC /* AppleObjCRuntime.h */,
|
|
|
|
4C61978A12823D4300FAFFCC /* AppleObjCRuntimeV1.cpp */,
|
|
|
|
4C61978B12823D4300FAFFCC /* AppleObjCRuntimeV1.h */,
|
2010-09-28 09:25:32 +08:00
|
|
|
4C0A91D512511CB900CA6636 /* AppleObjCTrampolineHandler.h */,
|
|
|
|
4C0A91D412511CB900CA6636 /* AppleObjCTrampolineHandler.cpp */,
|
|
|
|
4C0A91D712511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.h */,
|
|
|
|
4C0A91D612511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.cpp */,
|
2010-09-23 10:01:19 +08:00
|
|
|
4C139EA4124A8B03000BFF8D /* AppleObjCRuntimeV2.h */,
|
2010-09-28 09:25:32 +08:00
|
|
|
4C139EA3124A8B03000BFF8D /* AppleObjCRuntimeV2.cpp */,
|
2010-09-23 10:01:19 +08:00
|
|
|
);
|
2010-11-05 02:30:59 +08:00
|
|
|
name = AppleRuntime;
|
2010-09-23 10:01:19 +08:00
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
4CB443651249446F00C13DC2 /* LanguageRuntime */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
4C139EA0124A8AC7000BFF8D /* CPlusPlus */,
|
|
|
|
4C139EA1124A8AD5000BFF8D /* ObjC */,
|
|
|
|
);
|
|
|
|
name = LanguageRuntime;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
4CB443661249448300C13DC2 /* ItaniumABI */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
4CB44369124944B000C13DC2 /* ItaniumABILanguageRuntime.h */,
|
|
|
|
4CB4436A124944B000C13DC2 /* ItaniumABILanguageRuntime.cpp */,
|
|
|
|
);
|
|
|
|
name = ItaniumABI;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
4CEE62F71145F1C70064CF93 /* GDB Remote */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26FE25231146CADE00F4085A /* GDBRemoteCommunication.h */,
|
|
|
|
26FE25221146CADE00F4085A /* GDBRemoteCommunication.cpp */,
|
|
|
|
261E18CC1148966100BADCD3 /* GDBRemoteRegisterContext.h */,
|
|
|
|
261E18CD1148966100BADCD3 /* GDBRemoteRegisterContext.cpp */,
|
|
|
|
4CEE62FB1145F2130064CF93 /* ProcessGDBRemote.h */,
|
|
|
|
4CEE62FA1145F2130064CF93 /* ProcessGDBRemote.cpp */,
|
|
|
|
4CEE62FD1145F2130064CF93 /* ProcessGDBRemoteLog.h */,
|
|
|
|
4CEE62FC1145F2130064CF93 /* ProcessGDBRemoteLog.cpp */,
|
|
|
|
4CEE62FF1145F2130064CF93 /* ThreadGDBRemote.h */,
|
|
|
|
4CEE62FE1145F2130064CF93 /* ThreadGDBRemote.cpp */,
|
|
|
|
);
|
|
|
|
name = "GDB Remote";
|
|
|
|
path = ../../..;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-09-08 04:11:56 +08:00
|
|
|
69A01E1A1236C5D400C660B5 /* common */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
69A01E1B1236C5D400C660B5 /* Condition.cpp */,
|
|
|
|
69A01E1C1236C5D400C660B5 /* Host.cpp */,
|
|
|
|
69A01E1E1236C5D400C660B5 /* Mutex.cpp */,
|
|
|
|
69A01E1F1236C5D400C660B5 /* Symbols.cpp */,
|
|
|
|
69A01E201236C5D400C660B5 /* TimeValue.cpp */,
|
|
|
|
);
|
|
|
|
name = common;
|
|
|
|
path = source/Host/common;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
/* End PBXGroup section */
|
|
|
|
|
|
|
|
/* Begin PBXHeadersBuildPhase section */
|
|
|
|
26680202115FD0ED008E1FE4 /* Headers */ = {
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
2010-10-31 11:01:06 +08:00
|
|
|
2668020E115FD12C008E1FE4 /* lldb-defines.h in Headers */,
|
|
|
|
2668020F115FD12C008E1FE4 /* lldb-enumerations.h in Headers */,
|
|
|
|
26DE1E6C11616C2E00A093E2 /* lldb-forward.h in Headers */,
|
|
|
|
26DE1E6B11616C2E00A093E2 /* lldb-forward-rtti.h in Headers */,
|
|
|
|
26B42B1F1187A92B0079C8C8 /* lldb-include.h in Headers */,
|
|
|
|
26680214115FD12C008E1FE4 /* lldb-types.h in Headers */,
|
|
|
|
26B42C4D1187ABA50079C8C8 /* LLDB.h in Headers */,
|
|
|
|
26DE204311618ACA00A093E2 /* SBAddress.h in Headers */,
|
|
|
|
26DE205711618FC500A093E2 /* SBBlock.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26680219115FD13D008E1FE4 /* SBBreakpoint.h in Headers */,
|
|
|
|
2668021A115FD13D008E1FE4 /* SBBreakpointLocation.h in Headers */,
|
|
|
|
2668021B115FD13D008E1FE4 /* SBBroadcaster.h in Headers */,
|
|
|
|
2668021D115FD13D008E1FE4 /* SBCommandInterpreter.h in Headers */,
|
|
|
|
2668021E115FD13D008E1FE4 /* SBCommandReturnObject.h in Headers */,
|
|
|
|
2668021F115FD13D008E1FE4 /* SBCommunication.h in Headers */,
|
2010-10-31 11:01:06 +08:00
|
|
|
26DE205511618FB800A093E2 /* SBCompileUnit.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26680220115FD13D008E1FE4 /* SBDebugger.h in Headers */,
|
|
|
|
26680221115FD13D008E1FE4 /* SBDefines.h in Headers */,
|
|
|
|
26680222115FD13D008E1FE4 /* SBError.h in Headers */,
|
|
|
|
26680223115FD13D008E1FE4 /* SBEvent.h in Headers */,
|
|
|
|
26680224115FD13D008E1FE4 /* SBFileSpec.h in Headers */,
|
|
|
|
26680225115FD13D008E1FE4 /* SBFrame.h in Headers */,
|
2010-10-31 11:01:06 +08:00
|
|
|
26DE205311618FAC00A093E2 /* SBFunction.h in Headers */,
|
|
|
|
9A3576A8116E9AB700E8ED2F /* SBHostOS.h in Headers */,
|
|
|
|
9AA69DAF118A023300D753A0 /* SBInputReader.h in Headers */,
|
|
|
|
9AC7038E117674FB0086C050 /* SBInstruction.h in Headers */,
|
|
|
|
9AC70390117675270086C050 /* SBInstructionList.h in Headers */,
|
|
|
|
26DE205911618FE700A093E2 /* SBLineEntry.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26680227115FD13D008E1FE4 /* SBListener.h in Headers */,
|
2010-10-31 11:01:06 +08:00
|
|
|
26DE204F11618E9800A093E2 /* SBModule.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
2668022A115FD13D008E1FE4 /* SBProcess.h in Headers */,
|
|
|
|
2668022B115FD13D008E1FE4 /* SBSourceManager.h in Headers */,
|
2010-10-31 11:01:06 +08:00
|
|
|
26C72C94124322890068DC16 /* SBStream.h in Headers */,
|
|
|
|
9A357671116E7B5200E8ED2F /* SBStringList.h in Headers */,
|
|
|
|
26DE205B11618FF600A093E2 /* SBSymbol.h in Headers */,
|
|
|
|
26DE204111618AB900A093E2 /* SBSymbolContext.h in Headers */,
|
|
|
|
268F9D53123AA15200B91E9B /* SBSymbolContextList.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
2668022C115FD13D008E1FE4 /* SBTarget.h in Headers */,
|
|
|
|
2668022E115FD13D008E1FE4 /* SBThread.h in Headers */,
|
|
|
|
2617447A11685869005ADD65 /* SBType.h in Headers */,
|
2010-10-31 11:01:06 +08:00
|
|
|
9A19A6AF1163BBB200E0D453 /* SBValue.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
9A357583116CFDEE00E8ED2F /* SBValueList.h in Headers */,
|
2010-10-31 11:01:06 +08:00
|
|
|
2635DA87127D0D0400675BC1 /* SharingPtr.h in Headers */,
|
2010-11-05 02:30:59 +08:00
|
|
|
4C61978D12823D4300FAFFCC /* AppleObjCRuntime.h in Headers */,
|
|
|
|
4C61978F12823D4300FAFFCC /* AppleObjCRuntimeV1.h in Headers */,
|
2010-11-12 03:26:09 +08:00
|
|
|
4CC2A14D128C7409001531C4 /* ThreadPlanTracer.h in Headers */,
|
2010-11-13 11:52:47 +08:00
|
|
|
266A42D8128E40040090CF7C /* ClangNamespaceDecl.h in Headers */,
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
26E6902F129C6BD500DDECD9 /* ClangExternalASTSourceCallbacks.h in Headers */,
|
2010-11-30 10:22:11 +08:00
|
|
|
4C7CF7E41295E10E00B4FBB5 /* ThreadPlanCallUserExpression.h in Headers */,
|
2011-01-22 06:02:52 +08:00
|
|
|
2621C9CE12EA009300711A30 /* EmulateInstruction.h in Headers */,
|
|
|
|
2621C9D012EA066500711A30 /* EmulateInstructionARM.h in Headers */,
|
2011-01-25 02:24:53 +08:00
|
|
|
B23DD25012EDFAC1000C3894 /* ARMUtils.h in Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
|
|
|
/* End PBXHeadersBuildPhase section */
|
|
|
|
|
|
|
|
/* Begin PBXNativeTarget section */
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F67126A25920007C5CB /* darwin-debug */ = {
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
buildConfigurationList = 26579F6D126A25BF0007C5CB /* Build configuration list for PBXNativeTarget "darwin-debug" */;
|
|
|
|
buildPhases = (
|
|
|
|
26579F65126A25920007C5CB /* Sources */,
|
|
|
|
26579F66126A25920007C5CB /* Frameworks */,
|
|
|
|
);
|
|
|
|
buildRules = (
|
|
|
|
);
|
|
|
|
dependencies = (
|
|
|
|
);
|
|
|
|
name = "darwin-debug";
|
|
|
|
productName = "lldb-launcher";
|
|
|
|
productReference = 26579F68126A25920007C5CB /* darwin-debug */;
|
|
|
|
productType = "com.apple.product-type.tool";
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
26680206115FD0ED008E1FE4 /* LLDB */ = {
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
buildConfigurationList = 2668020B115FD0EE008E1FE4 /* Build configuration list for PBXNativeTarget "LLDB" */;
|
|
|
|
buildPhases = (
|
|
|
|
26D5B06111B07468009A862E /* Build llvm and clang */,
|
|
|
|
26D5B06311B074CF009A862E /* Build swig wrapper classes */,
|
|
|
|
26680202115FD0ED008E1FE4 /* Headers */,
|
|
|
|
26680203115FD0ED008E1FE4 /* Resources */,
|
|
|
|
26680204115FD0ED008E1FE4 /* Sources */,
|
|
|
|
26680205115FD0ED008E1FE4 /* Frameworks */,
|
2010-06-13 01:45:57 +08:00
|
|
|
261B5A7511C3FA6F00AABD0A /* Fixup Framework Headers */,
|
2010-06-09 00:52:24 +08:00
|
|
|
9A19ACE2116563A700E0D453 /* Finish swig wrapper classes (lldb) */,
|
|
|
|
);
|
|
|
|
buildRules = (
|
|
|
|
);
|
|
|
|
dependencies = (
|
|
|
|
262CFC7211A450CB00946C6C /* PBXTargetDependency */,
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26368AF6126B95FA00E8659F /* PBXTargetDependency */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
name = LLDB;
|
|
|
|
productName = LLDB;
|
|
|
|
productReference = 26680207115FD0ED008E1FE4 /* LLDB.framework */;
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
};
|
|
|
|
26F5C26910F3D9A4009D5894 /* lldb-tool */ = {
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
buildConfigurationList = 26F5C26E10F3D9C5009D5894 /* Build configuration list for PBXNativeTarget "lldb-tool" */;
|
|
|
|
buildPhases = (
|
|
|
|
26F5C26710F3D9A4009D5894 /* Sources */,
|
|
|
|
26F5C26810F3D9A4009D5894 /* Frameworks */,
|
|
|
|
);
|
|
|
|
buildRules = (
|
|
|
|
);
|
|
|
|
dependencies = (
|
|
|
|
26CE0610115C438C0022F371 /* PBXTargetDependency */,
|
|
|
|
266803621160110D008E1FE4 /* PBXTargetDependency */,
|
|
|
|
);
|
|
|
|
name = "lldb-tool";
|
|
|
|
productName = lldb;
|
|
|
|
productReference = 26F5C26A10F3D9A4009D5894 /* lldb */;
|
|
|
|
productType = "com.apple.product-type.tool";
|
|
|
|
};
|
|
|
|
/* End PBXNativeTarget section */
|
|
|
|
|
|
|
|
/* Begin PBXProject section */
|
|
|
|
08FB7793FE84155DC02AAC07 /* Project object */ = {
|
|
|
|
isa = PBXProject;
|
|
|
|
buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "lldb" */;
|
|
|
|
compatibilityVersion = "Xcode 3.1";
|
2011-01-25 15:01:26 +08:00
|
|
|
developmentRegion = English;
|
2010-06-09 00:52:24 +08:00
|
|
|
hasScannedForEncodings = 1;
|
2010-07-14 05:41:46 +08:00
|
|
|
knownRegions = (
|
|
|
|
en,
|
|
|
|
);
|
2010-06-09 00:52:24 +08:00
|
|
|
mainGroup = 08FB7794FE84155DC02AAC07 /* lldb */;
|
|
|
|
projectDirPath = "";
|
|
|
|
projectReferences = (
|
|
|
|
{
|
|
|
|
ProductGroup = 265E9BE2115C2BAA00D0DCCB /* Products */;
|
|
|
|
ProjectRef = 265E9BE1115C2BAA00D0DCCB /* debugserver.xcodeproj */;
|
|
|
|
},
|
|
|
|
);
|
|
|
|
projectRoot = "";
|
|
|
|
targets = (
|
|
|
|
26F5C26910F3D9A4009D5894 /* lldb-tool */,
|
|
|
|
26680206115FD0ED008E1FE4 /* LLDB */,
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F67126A25920007C5CB /* darwin-debug */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
};
|
|
|
|
/* End PBXProject section */
|
|
|
|
|
|
|
|
/* Begin PBXReferenceProxy section */
|
|
|
|
26CE05A0115C31E50022F371 /* debugserver */ = {
|
|
|
|
isa = PBXReferenceProxy;
|
|
|
|
fileType = "compiled.mach-o.executable";
|
|
|
|
path = debugserver;
|
|
|
|
remoteRef = 26CE059F115C31E50022F371 /* PBXContainerItemProxy */;
|
|
|
|
sourceTree = BUILT_PRODUCTS_DIR;
|
|
|
|
};
|
|
|
|
/* End PBXReferenceProxy section */
|
|
|
|
|
|
|
|
/* Begin PBXResourcesBuildPhase section */
|
|
|
|
26680203115FD0ED008E1FE4 /* Resources */ = {
|
|
|
|
isa = PBXResourcesBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
262CFC7711A4510000946C6C /* debugserver in Resources */,
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26368AF7126B960500E8659F /* darwin-debug in Resources */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
|
|
|
/* End PBXResourcesBuildPhase section */
|
|
|
|
|
|
|
|
/* Begin PBXShellScriptBuildPhase section */
|
2010-06-13 01:45:57 +08:00
|
|
|
261B5A7511C3FA6F00AABD0A /* Fixup Framework Headers */ = {
|
|
|
|
isa = PBXShellScriptBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
);
|
|
|
|
inputPaths = (
|
|
|
|
);
|
|
|
|
name = "Fixup Framework Headers";
|
|
|
|
outputPaths = (
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
shellPath = /bin/sh;
|
2011-01-12 12:03:58 +08:00
|
|
|
shellScript = "cd \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}\"\nfor file in *.h\ndo\n\t/usr/bin/sed -i '' 's/\\(#include\\)[ ]*\"lldb\\/\\(API\\/\\)\\{0,1\\}\\(.*\\)\"/\\1 <LLDB\\/\\3>/1' \"$file\"\n\t/usr/bin/sed -i '' 's|<LLDB/Utility|<LLDB|' \"$file\"\n\t/usr/bin/sed -i '' \"s|//#define LLDB_VERSION|#define LLDB_VERSION ${CURRENT_PROJECT_VERSION} |\" \"$file\"\ndone\n";
|
2010-06-13 01:45:57 +08:00
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
26D5B06111B07468009A862E /* Build llvm and clang */ = {
|
|
|
|
isa = PBXShellScriptBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
);
|
|
|
|
inputPaths = (
|
|
|
|
"$(LLVM_BUILD_DIR)",
|
|
|
|
"$(SRCROOT)/scripts/build-llvm.pl",
|
|
|
|
);
|
|
|
|
name = "Build llvm and clang";
|
|
|
|
outputPaths = (
|
|
|
|
"$(CONFIGURATION_BUILD_DIR)/libEnhancedDisassembly.dylib",
|
|
|
|
"$(LLVM_BUILD_DIR)/libllvmclang.a",
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
shellPath = /bin/sh;
|
|
|
|
shellScript = "perl $SRCROOT/scripts/build-llvm.pl";
|
|
|
|
};
|
|
|
|
26D5B06311B074CF009A862E /* Build swig wrapper classes */ = {
|
|
|
|
isa = PBXShellScriptBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
);
|
|
|
|
inputPaths = (
|
|
|
|
);
|
|
|
|
name = "Build swig wrapper classes";
|
|
|
|
outputPaths = (
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
shellPath = /bin/sh;
|
2010-06-17 03:26:52 +08:00
|
|
|
shellScript = "sh $SRCROOT/scripts/build-swig-wrapper-classes.sh $SRCROOT $TARGET_BUILD_DIR $CONFIGURATION_BUILD_DIR \"\"\n";
|
2010-06-09 00:52:24 +08:00
|
|
|
};
|
|
|
|
9A19ACE2116563A700E0D453 /* Finish swig wrapper classes (lldb) */ = {
|
|
|
|
isa = PBXShellScriptBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
);
|
|
|
|
inputPaths = (
|
|
|
|
"$(BUILT_PRODUCTS_DIR)/lldb.py",
|
|
|
|
"$(SRCROOT)/source/Interpreter/embedded_interpreter.py",
|
|
|
|
"$(SRCROOT)/scripts/Python/LLDBWrapPython.o",
|
|
|
|
);
|
|
|
|
name = "Finish swig wrapper classes (lldb)";
|
|
|
|
outputPaths = (
|
|
|
|
"$(BUILT_PRODUCTS_DIR)/LLDB.framework/Resources/lldb.py",
|
|
|
|
"$(BUILT_PRODUCTS_DIR)/LLDB.framework/Resources/_lldb.so",
|
|
|
|
"$(BUILT_PRODUCTS_DIR)/LLDB.framework/Resources/embedded_interpreter.py",
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
shellPath = /bin/sh;
|
2010-06-17 03:26:52 +08:00
|
|
|
shellScript = "sh $SRCROOT/scripts/finish-swig-wrapper-classes.sh $SRCROOT $TARGET_BUILD_DIR $CONFIGURATION_BUILD_DIR \"\"";
|
2010-06-09 00:52:24 +08:00
|
|
|
};
|
|
|
|
/* End PBXShellScriptBuildPhase section */
|
|
|
|
|
|
|
|
/* Begin PBXSourcesBuildPhase section */
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F65126A25920007C5CB /* Sources */ = {
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
26368A3C126B697600E8659F /* darwin-debug.cpp in Sources */,
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
26680204115FD0ED008E1FE4 /* Sources */ = {
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
26D5B06511B07550009A862E /* StoppointCallbackContext.cpp in Sources */,
|
|
|
|
26D5B06611B07550009A862E /* Breakpoint.cpp in Sources */,
|
|
|
|
26D5B06711B07550009A862E /* BreakpointID.cpp in Sources */,
|
|
|
|
26D5B06811B07550009A862E /* BreakpointIDList.cpp in Sources */,
|
|
|
|
26D5B06911B07550009A862E /* BreakpointList.cpp in Sources */,
|
|
|
|
26D5B06A11B07550009A862E /* BreakpointLocation.cpp in Sources */,
|
|
|
|
26D5B06B11B07550009A862E /* BreakpointLocationCollection.cpp in Sources */,
|
|
|
|
26D5B06C11B07550009A862E /* BreakpointLocationList.cpp in Sources */,
|
|
|
|
26D5B06D11B07550009A862E /* BreakpointOptions.cpp in Sources */,
|
|
|
|
26D5B06E11B07550009A862E /* BreakpointResolver.cpp in Sources */,
|
|
|
|
26D5B06F11B07550009A862E /* BreakpointSite.cpp in Sources */,
|
|
|
|
26D5B07011B07550009A862E /* BreakpointSiteList.cpp in Sources */,
|
|
|
|
26D5B07111B07550009A862E /* SearchFilter.cpp in Sources */,
|
|
|
|
26D5B07211B07550009A862E /* Stoppoint.cpp in Sources */,
|
|
|
|
26D5B07311B07550009A862E /* StoppointLocation.cpp in Sources */,
|
|
|
|
26D5B07411B07550009A862E /* WatchpointLocation.cpp in Sources */,
|
|
|
|
26D5B07711B07550009A862E /* CommandObjectBreakpoint.cpp in Sources */,
|
|
|
|
26D5B07911B07550009A862E /* CommandObjectDisassemble.cpp in Sources */,
|
|
|
|
26D5B07A11B07550009A862E /* CommandObjectExpression.cpp in Sources */,
|
|
|
|
26D5B07B11B07550009A862E /* CommandObjectFile.cpp in Sources */,
|
|
|
|
26D5B07C11B07550009A862E /* CommandObjectHelp.cpp in Sources */,
|
|
|
|
26D5B07D11B07550009A862E /* CommandObjectImage.cpp in Sources */,
|
|
|
|
26D5B07F11B07550009A862E /* CommandObjectMemory.cpp in Sources */,
|
|
|
|
26D5B08011B07550009A862E /* CommandObjectProcess.cpp in Sources */,
|
|
|
|
26D5B08111B07550009A862E /* CommandObjectQuit.cpp in Sources */,
|
|
|
|
26D5B08211B07550009A862E /* CommandObjectRegister.cpp in Sources */,
|
|
|
|
26D5B08311B07550009A862E /* CommandObjectScript.cpp in Sources */,
|
|
|
|
26D5B08611B07550009A862E /* CommandObjectSettings.cpp in Sources */,
|
|
|
|
26D5B08811B07550009A862E /* CommandObjectSource.cpp in Sources */,
|
|
|
|
26D5B08B11B07550009A862E /* CommandObjectSyntax.cpp in Sources */,
|
|
|
|
26D5B08C11B07550009A862E /* CommandObjectThread.cpp in Sources */,
|
|
|
|
26D5B08E11B07550009A862E /* Address.cpp in Sources */,
|
|
|
|
26D5B08F11B07550009A862E /* AddressRange.cpp in Sources */,
|
|
|
|
26D5B09011B07550009A862E /* ArchSpec.cpp in Sources */,
|
|
|
|
26D5B09111B07550009A862E /* Args.cpp in Sources */,
|
|
|
|
26D5B09211B07550009A862E /* Broadcaster.cpp in Sources */,
|
|
|
|
26D5B09311B07550009A862E /* Communication.cpp in Sources */,
|
|
|
|
26D5B09411B07550009A862E /* Connection.cpp in Sources */,
|
|
|
|
26D5B09511B07550009A862E /* ConnectionFileDescriptor.cpp in Sources */,
|
|
|
|
26D5B09611B07550009A862E /* DataExtractor.cpp in Sources */,
|
|
|
|
26D5B09711B07550009A862E /* DataBufferHeap.cpp in Sources */,
|
|
|
|
26D5B09811B07550009A862E /* DataBufferMemoryMap.cpp in Sources */,
|
|
|
|
26D5B09911B07550009A862E /* lldb.cpp in Sources */,
|
|
|
|
26D5B09A11B07550009A862E /* lldb-log.cpp in Sources */,
|
|
|
|
26D5B09B11B07550009A862E /* Disassembler.cpp in Sources */,
|
|
|
|
26D5B09C11B07550009A862E /* DynamicLoader.cpp in Sources */,
|
|
|
|
26D5B09D11B07550009A862E /* Error.cpp in Sources */,
|
|
|
|
26D5B09E11B07550009A862E /* Event.cpp in Sources */,
|
|
|
|
26D5B09F11B07550009A862E /* FileSpec.cpp in Sources */,
|
|
|
|
26D5B0A011B07550009A862E /* FileSpecList.cpp in Sources */,
|
|
|
|
26D5B0A211B07550009A862E /* Language.cpp in Sources */,
|
|
|
|
26D5B0A311B07550009A862E /* Listener.cpp in Sources */,
|
|
|
|
26D5B0A411B07550009A862E /* Log.cpp in Sources */,
|
|
|
|
26D5B0A511B07550009A862E /* Mangled.cpp in Sources */,
|
|
|
|
26D5B0A611B07550009A862E /* Module.cpp in Sources */,
|
|
|
|
26D5B0A711B07550009A862E /* ModuleChild.cpp in Sources */,
|
|
|
|
26D5B0A811B07550009A862E /* ModuleList.cpp in Sources */,
|
|
|
|
26D5B0A911B07550009A862E /* Options.cpp in Sources */,
|
|
|
|
26D5B0AA11B07550009A862E /* PluginManager.cpp in Sources */,
|
|
|
|
26D5B0AB11B07550009A862E /* RegularExpression.cpp in Sources */,
|
|
|
|
26D5B0AC11B07550009A862E /* Scalar.cpp in Sources */,
|
|
|
|
26D5B0AD11B07550009A862E /* Section.cpp in Sources */,
|
|
|
|
26D5B0AE11B07550009A862E /* SourceManager.cpp in Sources */,
|
|
|
|
26D5B0AF11B07550009A862E /* State.cpp in Sources */,
|
|
|
|
26D5B0B011B07550009A862E /* Stream.cpp in Sources */,
|
|
|
|
26D5B0B111B07550009A862E /* StreamFile.cpp in Sources */,
|
|
|
|
26D5B0B211B07550009A862E /* StreamString.cpp in Sources */,
|
|
|
|
26D5B0B311B07550009A862E /* ConstString.cpp in Sources */,
|
|
|
|
26D5B0B411B07550009A862E /* Timer.cpp in Sources */,
|
|
|
|
26D5B0B511B07550009A862E /* TTYState.cpp in Sources */,
|
|
|
|
26D5B0B611B07550009A862E /* UserID.cpp in Sources */,
|
|
|
|
26D5B0B711B07550009A862E /* Value.cpp in Sources */,
|
|
|
|
26D5B0B811B07550009A862E /* ValueObject.cpp in Sources */,
|
|
|
|
26D5B0B911B07550009A862E /* ValueObjectChild.cpp in Sources */,
|
|
|
|
26D5B0BA11B07550009A862E /* ValueObjectList.cpp in Sources */,
|
|
|
|
26D5B0BB11B07550009A862E /* ValueObjectVariable.cpp in Sources */,
|
|
|
|
26D5B0BC11B07550009A862E /* VMRange.cpp in Sources */,
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
26D5B0BD11B07550009A862E /* ClangUserExpression.cpp in Sources */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26D5B0BE11B07550009A862E /* ClangExpressionVariable.cpp in Sources */,
|
|
|
|
26D5B0C211B07550009A862E /* Host.mm in Sources */,
|
|
|
|
26D5B0C411B07550009A862E /* CFCBundle.cpp in Sources */,
|
|
|
|
26D5B0C511B07550009A862E /* CFCData.cpp in Sources */,
|
|
|
|
26D5B0C611B07550009A862E /* CFCMutableArray.cpp in Sources */,
|
|
|
|
26D5B0C711B07550009A862E /* CFCMutableDictionary.cpp in Sources */,
|
|
|
|
26D5B0C811B07550009A862E /* CFCMutableSet.cpp in Sources */,
|
|
|
|
26D5B0C911B07550009A862E /* CFCString.cpp in Sources */,
|
|
|
|
26D5B0CB11B07550009A862E /* CommandInterpreter.cpp in Sources */,
|
|
|
|
26D5B0CC11B07550009A862E /* CommandObject.cpp in Sources */,
|
|
|
|
26D5B0CD11B07550009A862E /* CommandReturnObject.cpp in Sources */,
|
|
|
|
26D5B0CF11B07550009A862E /* ScriptInterpreterPython.cpp in Sources */,
|
|
|
|
26D5B0D011B07550009A862E /* Block.cpp in Sources */,
|
|
|
|
26D5B0D111B07550009A862E /* ClangASTContext.cpp in Sources */,
|
|
|
|
26D5B0D211B07550009A862E /* CompileUnit.cpp in Sources */,
|
|
|
|
26D5B0D311B07550009A862E /* Declaration.cpp in Sources */,
|
|
|
|
26D5B0D411B07550009A862E /* DWARFCallFrameInfo.cpp in Sources */,
|
|
|
|
26D5B0D511B07550009A862E /* Function.cpp in Sources */,
|
|
|
|
26D5B0D611B07550009A862E /* LineEntry.cpp in Sources */,
|
|
|
|
26D5B0D711B07550009A862E /* LineTable.cpp in Sources */,
|
|
|
|
26D5B0D811B07550009A862E /* Symbol.cpp in Sources */,
|
|
|
|
26D5B0D911B07550009A862E /* SymbolContext.cpp in Sources */,
|
|
|
|
26D5B0DA11B07550009A862E /* SymbolFile.cpp in Sources */,
|
|
|
|
26D5B0DC11B07550009A862E /* Symtab.cpp in Sources */,
|
|
|
|
26D5B0DD11B07550009A862E /* Type.cpp in Sources */,
|
|
|
|
26D5B0DE11B07550009A862E /* TypeList.cpp in Sources */,
|
|
|
|
26D5B0DF11B07550009A862E /* Variable.cpp in Sources */,
|
|
|
|
26D5B0E011B07550009A862E /* VariableList.cpp in Sources */,
|
|
|
|
26D5B0E111B07550009A862E /* ExecutionContext.cpp in Sources */,
|
|
|
|
26D5B0E211B07550009A862E /* Process.cpp in Sources */,
|
|
|
|
26D5B0E311B07550009A862E /* RegisterContext.cpp in Sources */,
|
|
|
|
26D5B0E411B07550009A862E /* StackFrame.cpp in Sources */,
|
|
|
|
26D5B0E511B07550009A862E /* StackFrameList.cpp in Sources */,
|
|
|
|
26D5B0E611B07550009A862E /* StackID.cpp in Sources */,
|
|
|
|
26D5B0E711B07550009A862E /* Target.cpp in Sources */,
|
|
|
|
26D5B0E811B07550009A862E /* TargetList.cpp in Sources */,
|
|
|
|
26D5B0E911B07550009A862E /* Thread.cpp in Sources */,
|
|
|
|
26D5B0EA11B07550009A862E /* ThreadList.cpp in Sources */,
|
|
|
|
26D5B0EB11B07550009A862E /* ThreadPlan.cpp in Sources */,
|
|
|
|
26D5B0EC11B07550009A862E /* ObjectFile.cpp in Sources */,
|
|
|
|
26D5B0EE11B07550009A862E /* ThreadPlanBase.cpp in Sources */,
|
|
|
|
26D5B0EF11B07550009A862E /* ThreadPlanStepInstruction.cpp in Sources */,
|
|
|
|
26D5B0F011B07550009A862E /* ThreadPlanStepOut.cpp in Sources */,
|
|
|
|
26D5B0F111B07550009A862E /* ThreadPlanStepOverBreakpoint.cpp in Sources */,
|
|
|
|
26D5B0F211B07550009A862E /* ThreadPlanStepThrough.cpp in Sources */,
|
|
|
|
26D5B0F311B07550009A862E /* ThreadPlanStepRange.cpp in Sources */,
|
|
|
|
26D5B0F411B07550009A862E /* DynamicLoaderMacOSXDYLD.cpp in Sources */,
|
|
|
|
26D5B0F611B07550009A862E /* ObjectContainerUniversalMachO.cpp in Sources */,
|
|
|
|
26D5B0F711B07550009A862E /* ObjectFileELF.cpp in Sources */,
|
|
|
|
26D5B0F811B07550009A862E /* ObjectFileMachO.cpp in Sources */,
|
|
|
|
26D5B0F911B07550009A862E /* MachException.cpp in Sources */,
|
|
|
|
26D5B0FA11B07550009A862E /* MachTask.cpp in Sources */,
|
|
|
|
26D5B0FB11B07550009A862E /* MachThreadContext_arm.cpp in Sources */,
|
|
|
|
26D5B0FC11B07550009A862E /* MachThreadContext_i386.cpp in Sources */,
|
|
|
|
26D5B0FD11B07550009A862E /* MachThreadContext_x86_64.cpp in Sources */,
|
|
|
|
26D5B0FE11B07550009A862E /* MachVMMemory.cpp in Sources */,
|
|
|
|
26D5B0FF11B07550009A862E /* MachVMRegion.cpp in Sources */,
|
|
|
|
26D5B10011B07550009A862E /* ProcessControl-mig.defs in Sources */,
|
|
|
|
26D5B10111B07550009A862E /* ProcessMacOSX.cpp in Sources */,
|
|
|
|
26D5B10211B07550009A862E /* ProcessMacOSXLog.cpp in Sources */,
|
|
|
|
26D5B10311B07550009A862E /* RegisterContextMach_arm.cpp in Sources */,
|
|
|
|
26D5B10411B07550009A862E /* RegisterContextMach_i386.cpp in Sources */,
|
|
|
|
26D5B10511B07550009A862E /* RegisterContextMach_x86_64.cpp in Sources */,
|
|
|
|
26D5B10611B07550009A862E /* ThreadMacOSX.cpp in Sources */,
|
|
|
|
26D5B10711B07550009A862E /* DWARFAbbreviationDeclaration.cpp in Sources */,
|
|
|
|
26D5B10811B07550009A862E /* DWARFCompileUnit.cpp in Sources */,
|
|
|
|
26D5B10911B07550009A862E /* DWARFDebugAbbrev.cpp in Sources */,
|
|
|
|
26D5B10A11B07550009A862E /* DWARFDebugAranges.cpp in Sources */,
|
|
|
|
26D5B10B11B07550009A862E /* DWARFDebugArangeSet.cpp in Sources */,
|
|
|
|
26D5B10C11B07550009A862E /* DWARFDebugInfo.cpp in Sources */,
|
|
|
|
26D5B10D11B07550009A862E /* DWARFDebugInfoEntry.cpp in Sources */,
|
|
|
|
26D5B10E11B07550009A862E /* DWARFDebugLine.cpp in Sources */,
|
|
|
|
26D5B10F11B07550009A862E /* DWARFDebugMacinfo.cpp in Sources */,
|
|
|
|
26D5B11011B07550009A862E /* DWARFDebugMacinfoEntry.cpp in Sources */,
|
|
|
|
26D5B11111B07550009A862E /* DWARFDebugPubnames.cpp in Sources */,
|
|
|
|
26D5B11211B07550009A862E /* DWARFDebugPubnamesSet.cpp in Sources */,
|
|
|
|
26D5B11311B07550009A862E /* DWARFDebugRanges.cpp in Sources */,
|
2010-07-07 06:38:03 +08:00
|
|
|
26D5B11411B07550009A862E /* DWARFDefines.cpp in Sources */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26D5B11511B07550009A862E /* DWARFDIECollection.cpp in Sources */,
|
|
|
|
26D5B11611B07550009A862E /* DWARFFormValue.cpp in Sources */,
|
|
|
|
26D5B11711B07550009A862E /* DWARFLocationDescription.cpp in Sources */,
|
|
|
|
26D5B11811B07550009A862E /* DWARFLocationList.cpp in Sources */,
|
|
|
|
26D5B11911B07550009A862E /* SymbolFileDWARF.cpp in Sources */,
|
|
|
|
26D5B11A11B07550009A862E /* SymbolFileDWARFDebugMap.cpp in Sources */,
|
|
|
|
26D5B11B11B07550009A862E /* SymbolFileSymtab.cpp in Sources */,
|
|
|
|
26D5B11C11B07550009A862E /* SymbolVendorMacOSX.cpp in Sources */,
|
|
|
|
26D5B11E11B07550009A862E /* ScriptInterpreter.cpp in Sources */,
|
|
|
|
26D5B11F11B07550009A862E /* BreakpointResolverAddress.cpp in Sources */,
|
|
|
|
26D5B12011B07550009A862E /* BreakpointResolverFileLine.cpp in Sources */,
|
|
|
|
26D5B12111B07550009A862E /* BreakpointResolverName.cpp in Sources */,
|
|
|
|
26D5B12211B07550009A862E /* DisassemblerLLVM.cpp in Sources */,
|
|
|
|
26D5B12311B07550009A862E /* ThreadPlanRunToAddress.cpp in Sources */,
|
|
|
|
26D5B12411B07550009A862E /* ThreadPlanShouldStopHere.cpp in Sources */,
|
|
|
|
26D5B12511B07550009A862E /* ThreadPlanStepInRange.cpp in Sources */,
|
|
|
|
26D5B12611B07550009A862E /* ThreadPlanStepOverRange.cpp in Sources */,
|
|
|
|
26D5B12711B07550009A862E /* CommandObjectLog.cpp in Sources */,
|
|
|
|
26D5B12811B07550009A862E /* ValueObjectRegister.cpp in Sources */,
|
|
|
|
26D5B12A11B07550009A862E /* UUID.cpp in Sources */,
|
|
|
|
26D5B12B11B07550009A862E /* ScriptInterpreterNone.cpp in Sources */,
|
|
|
|
26D5B12C11B07550009A862E /* CommandObjectCrossref.cpp in Sources */,
|
|
|
|
26D5B12D11B07550009A862E /* CommandObjectMultiword.cpp in Sources */,
|
|
|
|
26D5B12E11B07550009A862E /* CommandObjectRegexCommand.cpp in Sources */,
|
|
|
|
26D5B12F11B07550009A862E /* Symbols.cpp in Sources */,
|
|
|
|
26D5B13011B07550009A862E /* Debugger.cpp in Sources */,
|
|
|
|
26D5B13111B07550009A862E /* ProcessGDBRemote.cpp in Sources */,
|
|
|
|
26D5B13211B07550009A862E /* ProcessGDBRemoteLog.cpp in Sources */,
|
|
|
|
26D5B13311B07550009A862E /* ThreadGDBRemote.cpp in Sources */,
|
|
|
|
26D5B13411B07550009A862E /* GDBRemoteCommunication.cpp in Sources */,
|
|
|
|
26D5B13511B07550009A862E /* GDBRemoteRegisterContext.cpp in Sources */,
|
|
|
|
26D5B13611B07550009A862E /* UnixSignals.cpp in Sources */,
|
|
|
|
26D5B13711B07550009A862E /* LogChannelDWARF.cpp in Sources */,
|
|
|
|
26D5B13811B07550009A862E /* PseudoTerminal.cpp in Sources */,
|
|
|
|
26D5B13911B07550009A862E /* LLDBWrapPython.cpp in Sources */,
|
|
|
|
26D5B13A11B07550009A862E /* StringList.cpp in Sources */,
|
|
|
|
26D5B13B11B07550009A862E /* CommandCompletions.cpp in Sources */,
|
|
|
|
26D5B13C11B07550009A862E /* AddressResolver.cpp in Sources */,
|
|
|
|
26D5B13D11B07550009A862E /* AddressResolverFileLine.cpp in Sources */,
|
|
|
|
26D5B13E11B07550009A862E /* AddressResolverName.cpp in Sources */,
|
|
|
|
26D5B13F11B07550009A862E /* ObjectContainerBSDArchive.cpp in Sources */,
|
|
|
|
26D5B14011B07550009A862E /* CommandObjectBreakpointCommand.cpp in Sources */,
|
|
|
|
26D5B14111B07550009A862E /* InputReader.cpp in Sources */,
|
|
|
|
26D5B14211B07550009A862E /* CommandObjectFrame.cpp in Sources */,
|
|
|
|
26D5B14311B07550009A862E /* ABISysV_x86_64.cpp in Sources */,
|
|
|
|
26D5B14411B07550009A862E /* ABI.cpp in Sources */,
|
|
|
|
26D5B14511B07550009A862E /* StringExtractor.cpp in Sources */,
|
|
|
|
26D5B14611B07550009A862E /* ThreadPlanStepUntil.cpp in Sources */,
|
|
|
|
26D5B14711B07550009A862E /* ThreadPlanCallFunction.cpp in Sources */,
|
|
|
|
26D5B14811B07550009A862E /* ClangFunction.cpp in Sources */,
|
|
|
|
26D5B14911B07550009A862E /* RecordingMemoryManager.cpp in Sources */,
|
|
|
|
26D5B14B11B07550009A862E /* CommandObjectTarget.cpp in Sources */,
|
|
|
|
26D5B14C11B07550009A862E /* PathMappingList.cpp in Sources */,
|
|
|
|
26D5B14D11B07550009A862E /* StringExtractorGDBRemote.cpp in Sources */,
|
|
|
|
26D5B15311B07550009A862E /* ABIMacOSX_i386.cpp in Sources */,
|
|
|
|
26D5B15511B07550009A862E /* Baton.cpp in Sources */,
|
|
|
|
26D5B15611B07550009A862E /* CommandObjectArgs.cpp in Sources */,
|
|
|
|
26D5B15A11B07550009A862E /* UnwindMacOSXFrameBackchain.cpp in Sources */,
|
|
|
|
26D5B15B11B07550009A862E /* RegisterContextMacOSXFrameBackchain.cpp in Sources */,
|
|
|
|
26680324116005D9008E1FE4 /* SBThread.cpp in Sources */,
|
|
|
|
26680326116005DB008E1FE4 /* SBTarget.cpp in Sources */,
|
|
|
|
26680327116005DC008E1FE4 /* SBSourceManager.cpp in Sources */,
|
|
|
|
26680328116005DE008E1FE4 /* SBProcess.cpp in Sources */,
|
|
|
|
2668032A116005E0008E1FE4 /* SBListener.cpp in Sources */,
|
|
|
|
2668032C116005E2008E1FE4 /* SBFrame.cpp in Sources */,
|
|
|
|
2668032D116005E3008E1FE4 /* SBFileSpec.cpp in Sources */,
|
|
|
|
2668032E116005E5008E1FE4 /* SBEvent.cpp in Sources */,
|
|
|
|
2668032F116005E6008E1FE4 /* SBError.cpp in Sources */,
|
|
|
|
26680330116005E7008E1FE4 /* SBDebugger.cpp in Sources */,
|
|
|
|
26680331116005E9008E1FE4 /* SBCommunication.cpp in Sources */,
|
|
|
|
26680332116005EA008E1FE4 /* SBCommandReturnObject.cpp in Sources */,
|
|
|
|
26680333116005EC008E1FE4 /* SBCommandInterpreter.cpp in Sources */,
|
|
|
|
26680335116005EE008E1FE4 /* SBBroadcaster.cpp in Sources */,
|
|
|
|
26680336116005EF008E1FE4 /* SBBreakpointLocation.cpp in Sources */,
|
|
|
|
26680337116005F1008E1FE4 /* SBBreakpoint.cpp in Sources */,
|
|
|
|
26DE204511618ADA00A093E2 /* SBAddress.cpp in Sources */,
|
|
|
|
26DE204711618AED00A093E2 /* SBSymbolContext.cpp in Sources */,
|
|
|
|
26DE204D11618E7A00A093E2 /* SBModule.cpp in Sources */,
|
|
|
|
26DE205D1161901400A093E2 /* SBFunction.cpp in Sources */,
|
|
|
|
26DE205F1161901B00A093E2 /* SBCompileUnit.cpp in Sources */,
|
|
|
|
26DE20611161902700A093E2 /* SBBlock.cpp in Sources */,
|
|
|
|
26DE20631161904200A093E2 /* SBLineEntry.cpp in Sources */,
|
|
|
|
26DE20651161904E00A093E2 /* SBSymbol.cpp in Sources */,
|
|
|
|
9A19A6B01163BBB300E0D453 /* SBValue.cpp in Sources */,
|
|
|
|
261744781168585B005ADD65 /* SBType.cpp in Sources */,
|
|
|
|
9A35758E116CFE0F00E8ED2F /* SBValueList.cpp in Sources */,
|
|
|
|
9A357673116E7B6400E8ED2F /* SBStringList.cpp in Sources */,
|
|
|
|
9A3576AA116E9AC700E8ED2F /* SBHostOS.cpp in Sources */,
|
|
|
|
9AC703AF117675410086C050 /* SBInstruction.cpp in Sources */,
|
|
|
|
9AC703B1117675490086C050 /* SBInstructionList.cpp in Sources */,
|
|
|
|
9AA69DB1118A024600D753A0 /* SBInputReader.cpp in Sources */,
|
|
|
|
49F1A74611B3388F003ED505 /* ClangExpressionDeclMap.cpp in Sources */,
|
|
|
|
49D7072911B5AD11001AD875 /* ClangASTSource.cpp in Sources */,
|
|
|
|
4CA9637B11B6E99A00780E28 /* CommandObjectApropos.cpp in Sources */,
|
2010-06-10 05:48:33 +08:00
|
|
|
AF94005911C03F6500085DB9 /* SymbolVendor.cpp in Sources */,
|
2010-06-13 01:45:57 +08:00
|
|
|
261B5A5411C3F2AD00AABD0A /* SharingPtr.cpp in Sources */,
|
2010-06-16 10:00:15 +08:00
|
|
|
4C08CDE811C81EF8001610A8 /* ThreadSpec.cpp in Sources */,
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49A8A3A011D568A300AD3B68 /* ASTResultSynthesizer.cpp in Sources */,
|
2010-07-03 05:09:36 +08:00
|
|
|
49DA743011DE6A5A006AEF7E /* IRToDWARF.cpp in Sources */,
|
2010-07-03 09:35:46 +08:00
|
|
|
49307AAE11DEA4D90081F992 /* IRForTarget.cpp in Sources */,
|
2010-07-07 11:36:20 +08:00
|
|
|
4C5DBBC811E3FEC60035160F /* CommandObjectCommands.cpp in Sources */,
|
2010-07-14 08:20:31 +08:00
|
|
|
26D27C9F11ED3A4E0024D721 /* ELFHeader.cpp in Sources */,
|
2010-09-04 08:03:46 +08:00
|
|
|
9A4633DD11F65D9A00955CE1 /* UserSettingsController.cpp in Sources */,
|
2010-07-22 06:12:05 +08:00
|
|
|
49E45FAF11F660FE008F7B28 /* ClangASTType.cpp in Sources */,
|
2010-08-04 09:40:35 +08:00
|
|
|
2615DB871208A9E40021781D /* StopInfo.cpp in Sources */,
|
|
|
|
2615DBCA1208B5FC0021781D /* StopInfoMachException.cpp in Sources */,
|
2010-08-11 11:57:18 +08:00
|
|
|
49D4FE891210B61C00CDB854 /* ClangPersistentVariables.cpp in Sources */,
|
2010-08-13 05:29:03 +08:00
|
|
|
49FB515E121481B000DF8983 /* DWARFExpression.cpp in Sources */,
|
This is a major refactoring of the expression parser.
The goal is to separate the parser's data from the data
belonging to the parser's clients. This allows clients
to use the parser to obtain (for example) a JIT compiled
function or some DWARF code, and then discard the parser
state.
Previously, parser state was held in ClangExpression and
used liberally by ClangFunction, which inherited from
ClangExpression. The main effects of this refactoring
are:
- reducing ClangExpression to an abstract class that
declares methods that any client must expose to the
expression parser,
- moving the code specific to implementing the "expr"
command from ClangExpression and
CommandObjectExpression into ClangUserExpression,
a new class,
- moving the common parser interaction code from
ClangExpression into ClangExpressionParser, a new
class, and
- making ClangFunction rely only on
ClangExpressionParser and not depend on the
internal implementation of ClangExpression.
Side effects include:
- the compiler interaction code has been factored
out of ClangFunction and is now in an AST pass
(ASTStructExtractor),
- the header file for ClangFunction is now fully
documented,
- several bugs that only popped up when Clang was
deallocated (which never happened, since the
lifetime of the compiler was essentially infinite)
are now fixed, and
- the developer-only "call" command has been
disabled.
I have tested the expr command and the Objective-C
step-into code, which use ClangUserExpression and
ClangFunction, respectively, and verified that they
work. Please let me know if you encounter bugs or
poor documentation.
llvm-svn: 112249
2010-08-27 09:01:44 +08:00
|
|
|
49445C2612245E3600C11A81 /* ClangExpressionParser.cpp in Sources */,
|
|
|
|
491193521226386000578B7F /* ASTStructExtractor.cpp in Sources */,
|
2010-08-28 07:31:21 +08:00
|
|
|
497C86BE122823D800B54702 /* ClangUtilityFunction.cpp in Sources */,
|
2010-09-01 08:58:00 +08:00
|
|
|
49CF982A122C70BD007A0B96 /* IRDynamicChecks.cpp in Sources */,
|
2010-09-10 15:49:16 +08:00
|
|
|
961FABBB1235DE1600F93A47 /* FuncUnwinders.cpp in Sources */,
|
|
|
|
961FABBC1235DE1600F93A47 /* UnwindPlan.cpp in Sources */,
|
|
|
|
961FABBD1235DE1600F93A47 /* UnwindTable.cpp in Sources */,
|
|
|
|
961FABE51235F15900F93A47 /* UnwindAssemblyProfiler.cpp in Sources */,
|
|
|
|
961FABEA1235F26800F93A47 /* UnwindAssemblyProfiler-x86.cpp in Sources */,
|
|
|
|
961FAC19123605A200F93A47 /* ArchDefaultUnwindPlan.cpp in Sources */,
|
|
|
|
961FAC1E12360C7D00F93A47 /* ArchDefaultUnwindPlan-x86.cpp in Sources */,
|
2010-09-08 04:11:56 +08:00
|
|
|
69A01E211236C5D400C660B5 /* Condition.cpp in Sources */,
|
|
|
|
69A01E221236C5D400C660B5 /* Host.cpp in Sources */,
|
|
|
|
69A01E241236C5D400C660B5 /* Mutex.cpp in Sources */,
|
|
|
|
69A01E251236C5D400C660B5 /* Symbols.cpp in Sources */,
|
|
|
|
69A01E261236C5D400C660B5 /* TimeValue.cpp in Sources */,
|
2010-09-11 02:31:35 +08:00
|
|
|
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */,
|
2010-09-15 07:36:40 +08:00
|
|
|
2618D7921240116900F2B8FE /* SectionLoadList.cpp in Sources */,
|
2010-09-15 12:15:46 +08:00
|
|
|
2618D9EB12406FE600F2B8FE /* NameToDIE.cpp in Sources */,
|
2010-09-18 01:42:16 +08:00
|
|
|
26C72C961243229A0068DC16 /* SBStream.cpp in Sources */,
|
2010-09-23 10:01:19 +08:00
|
|
|
4CB4430C12491DDA00C13DC2 /* LanguageRuntime.cpp in Sources */,
|
|
|
|
4CB4436C124944B000C13DC2 /* ItaniumABILanguageRuntime.cpp in Sources */,
|
|
|
|
4CB443BE1249920C00C13DC2 /* CPPLanguageRuntime.cpp in Sources */,
|
|
|
|
4CB443F312499B5000C13DC2 /* ObjCLanguageRuntime.cpp in Sources */,
|
2010-09-22 15:37:07 +08:00
|
|
|
96A6D9C61249D96F00250B38 /* ArchVolatileRegs.cpp in Sources */,
|
|
|
|
96A6D9C91249D98800250B38 /* ArchVolatileRegs-x86.cpp in Sources */,
|
2010-09-23 10:01:19 +08:00
|
|
|
4C139EA5124A8B03000BFF8D /* AppleObjCRuntimeV2.cpp in Sources */,
|
2010-09-28 09:25:32 +08:00
|
|
|
4C0A91D812511CB900CA6636 /* AppleObjCTrampolineHandler.cpp in Sources */,
|
|
|
|
4C0A91DA12511CB900CA6636 /* AppleThreadPlanStepThroughObjCTrampoline.cpp in Sources */,
|
2010-10-25 19:12:07 +08:00
|
|
|
AF68D2561255416E002FF25B /* RegisterContextLLDB.cpp in Sources */,
|
|
|
|
AF68D3311255A111002FF25B /* UnwindLLDB.cpp in Sources */,
|
2010-10-05 08:00:42 +08:00
|
|
|
26424E3D125986CB0016D82C /* ValueObjectConstResult.cpp in Sources */,
|
2010-10-15 07:45:03 +08:00
|
|
|
4C1AB23B1263E5F400D0F04A /* ThreadPlanTestCondition.cpp in Sources */,
|
2010-11-05 02:30:59 +08:00
|
|
|
4C61978C12823D4300FAFFCC /* AppleObjCRuntime.cpp in Sources */,
|
|
|
|
4C61978E12823D4300FAFFCC /* AppleObjCRuntimeV1.cpp in Sources */,
|
2010-11-12 03:26:09 +08:00
|
|
|
4CC2A149128C73ED001531C4 /* ThreadPlanTracer.cpp in Sources */,
|
2010-11-13 11:52:47 +08:00
|
|
|
266A42D6128E3FFB0090CF7C /* ClangNamespaceDecl.cpp in Sources */,
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
26E69031129C6BEF00DDECD9 /* ClangExternalASTSourceCallbacks.cpp in Sources */,
|
2010-11-30 10:22:11 +08:00
|
|
|
4C7CF7E61295E12B00B4FBB5 /* ThreadPlanCallUserExpression.cpp in Sources */,
|
2010-12-24 04:21:44 +08:00
|
|
|
B296983712C2FB98002D92C3 /* CommandObjectVersion.cpp in Sources */,
|
2011-01-22 06:02:52 +08:00
|
|
|
2621C9CD12EA009300711A30 /* EmulateInstructionARM.cpp in Sources */,
|
|
|
|
2621CA0B12EA107700711A30 /* EmulateInstruction.cpp in Sources */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
|
|
|
26F5C26710F3D9A4009D5894 /* Sources */ = {
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
files = (
|
|
|
|
26F5C27710F3D9E4009D5894 /* Driver.cpp in Sources */,
|
|
|
|
26F5C27810F3D9E4009D5894 /* IOChannel.cpp in Sources */,
|
|
|
|
9AA69DA61188F52100D753A0 /* PseudoTerminal.cpp in Sources */,
|
|
|
|
);
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
};
|
|
|
|
/* End PBXSourcesBuildPhase section */
|
|
|
|
|
|
|
|
/* Begin PBXTargetDependency section */
|
|
|
|
262CFC7211A450CB00946C6C /* PBXTargetDependency */ = {
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
name = debugserver;
|
|
|
|
targetProxy = 262CFC7111A450CB00946C6C /* PBXContainerItemProxy */;
|
|
|
|
};
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26368AF6126B95FA00E8659F /* PBXTargetDependency */ = {
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
target = 26579F67126A25920007C5CB /* darwin-debug */;
|
|
|
|
targetProxy = 26368AF5126B95FA00E8659F /* PBXContainerItemProxy */;
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
266803621160110D008E1FE4 /* PBXTargetDependency */ = {
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
target = 26680206115FD0ED008E1FE4 /* LLDB */;
|
|
|
|
targetProxy = 266803611160110D008E1FE4 /* PBXContainerItemProxy */;
|
|
|
|
};
|
|
|
|
26CE0610115C438C0022F371 /* PBXTargetDependency */ = {
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
name = "lldb-debugserver";
|
|
|
|
targetProxy = 26CE060F115C438C0022F371 /* PBXContainerItemProxy */;
|
|
|
|
};
|
|
|
|
/* End PBXTargetDependency section */
|
|
|
|
|
|
|
|
/* Begin XCBuildConfiguration section */
|
|
|
|
1DEB91F008733DB70010E9CD /* Debug */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
2010-11-08 08:28:40 +08:00
|
|
|
ARCHS = (
|
|
|
|
x86_64,
|
|
|
|
i386,
|
|
|
|
);
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
__STDC_CONSTANT_MACROS,
|
|
|
|
__STDC_LIMIT_MACROS,
|
|
|
|
LLDB_CONFIGURATION_DEBUG,
|
|
|
|
);
|
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
2010-07-14 08:18:15 +08:00
|
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
2010-11-19 11:46:01 +08:00
|
|
|
ONLY_ACTIVE_ARCH = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
PREBINDING = NO;
|
|
|
|
VALID_ARCHS = "x86_64 i386";
|
|
|
|
};
|
|
|
|
name = Debug;
|
|
|
|
};
|
|
|
|
1DEB91F108733DB70010E9CD /* Release */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
ARCHS = (
|
|
|
|
x86_64,
|
|
|
|
i386,
|
|
|
|
);
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
__STDC_CONSTANT_MACROS,
|
|
|
|
__STDC_LIMIT_MACROS,
|
|
|
|
LLDB_CONFIGURATION_RELEASE,
|
|
|
|
);
|
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
2010-07-14 08:18:15 +08:00
|
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
|
|
PREBINDING = NO;
|
|
|
|
VALID_ARCHS = "x86_64 i386";
|
|
|
|
};
|
|
|
|
name = Release;
|
|
|
|
};
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F6A126A25920007C5CB /* Debug */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
COPY_PHASE_STRIP = NO;
|
|
|
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
|
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
|
|
|
GCC_MODEL_TUNING = G5;
|
|
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
2010-11-01 04:13:10 +08:00
|
|
|
INSTALL_PATH = /Developer/usr/bin;
|
2010-11-19 11:46:01 +08:00
|
|
|
ONLY_ACTIVE_ARCH = NO;
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = "darwin-debug";
|
|
|
|
};
|
|
|
|
name = Debug;
|
|
|
|
};
|
|
|
|
26579F6B126A25920007C5CB /* Release */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
COPY_PHASE_STRIP = YES;
|
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
|
|
|
GCC_MODEL_TUNING = G5;
|
2010-11-01 04:13:10 +08:00
|
|
|
INSTALL_PATH = /Developer/usr/bin;
|
2010-11-19 11:46:01 +08:00
|
|
|
ONLY_ACTIVE_ARCH = NO;
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = "darwin-debug";
|
|
|
|
ZERO_LINK = NO;
|
|
|
|
};
|
|
|
|
name = Release;
|
|
|
|
};
|
|
|
|
26579F6C126A25920007C5CB /* BuildAndIntegration */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
|
|
|
GCC_MODEL_TUNING = G5;
|
2010-11-01 04:13:10 +08:00
|
|
|
INSTALL_PATH = /Developer/usr/bin;
|
2010-11-19 11:46:01 +08:00
|
|
|
ONLY_ACTIVE_ARCH = NO;
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = "darwin-debug";
|
|
|
|
};
|
|
|
|
name = BuildAndIntegration;
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
26680209115FD0ED008E1FE4 /* Debug */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
COPY_PHASE_STRIP = NO;
|
2011-01-25 15:01:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
2011-01-25 15:01:26 +08:00
|
|
|
DYLIB_CURRENT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports";
|
|
|
|
FRAMEWORK_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
|
|
|
);
|
|
|
|
FRAMEWORK_VERSION = A;
|
|
|
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
|
|
GCC_ENABLE_OBJC_GC = supported;
|
|
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
|
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
__STDC_CONSTANT_MACROS,
|
|
|
|
__STDC_LIMIT_MACROS,
|
|
|
|
LLDB_CONFIGURATION_DEBUG,
|
|
|
|
);
|
2010-10-29 05:51:20 +08:00
|
|
|
HEADER_SEARCH_PATHS = "";
|
2010-06-09 00:52:24 +08:00
|
|
|
INFOPLIST_FILE = "resources/LLDB-Info.plist";
|
|
|
|
INSTALL_PATH = /Developer/Library/PrivateFrameworks;
|
|
|
|
LD_DYLIB_INSTALL_NAME = "@rpath/LLDB.framework/Versions/A/LLDB";
|
|
|
|
LIBRARY_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"$(LLVM_BUILD_DIR)",
|
|
|
|
);
|
|
|
|
LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
LLVM_CONFIGURATION = Release;
|
2010-06-09 00:52:24 +08:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
"-DFOR_DYLD=0",
|
|
|
|
"-DSUPPORT_REMOTE_UNWINDING",
|
2010-07-07 00:16:14 +08:00
|
|
|
"-Wparentheses",
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
OTHER_CPLUSPLUSFLAGS = (
|
2010-06-13 02:59:55 +08:00
|
|
|
"-fno-rtti",
|
2010-06-09 00:52:24 +08:00
|
|
|
"-Wglobal-constructors",
|
|
|
|
"$(OTHER_CFLAGS)",
|
|
|
|
);
|
|
|
|
OTHER_LDFLAGS = (
|
|
|
|
"-lllvmclang",
|
|
|
|
"-framework",
|
|
|
|
Foundation,
|
|
|
|
"-framework",
|
|
|
|
AppKit,
|
|
|
|
);
|
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = LLDB;
|
2010-07-10 04:39:50 +08:00
|
|
|
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";
|
2010-06-09 00:52:24 +08:00
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
};
|
|
|
|
name = Debug;
|
|
|
|
};
|
|
|
|
2668020A115FD0ED008E1FE4 /* Release */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
COPY_PHASE_STRIP = NO;
|
2011-01-25 15:01:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
DEAD_CODE_STRIPPING = YES;
|
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
2011-01-25 15:01:26 +08:00
|
|
|
DYLIB_CURRENT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports";
|
|
|
|
FRAMEWORK_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
|
|
|
);
|
|
|
|
FRAMEWORK_VERSION = A;
|
|
|
|
GCC_ENABLE_OBJC_GC = supported;
|
|
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
__STDC_CONSTANT_MACROS,
|
|
|
|
__STDC_LIMIT_MACROS,
|
|
|
|
LLDB_CONFIGURATION_RELEASE,
|
|
|
|
);
|
2010-10-29 05:51:20 +08:00
|
|
|
HEADER_SEARCH_PATHS = "";
|
2010-06-09 00:52:24 +08:00
|
|
|
INFOPLIST_FILE = "resources/LLDB-Info.plist";
|
|
|
|
INSTALL_PATH = /Developer/Library/PrivateFrameworks;
|
|
|
|
LD_DYLIB_INSTALL_NAME = "@rpath/LLDB.framework/Versions/A/LLDB";
|
|
|
|
LIBRARY_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"$(LLVM_BUILD_DIR)",
|
|
|
|
);
|
|
|
|
LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
|
2010-07-23 08:16:53 +08:00
|
|
|
LLVM_CONFIGURATION = Release;
|
2010-06-09 00:52:24 +08:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
"-DFOR_DYLD=0",
|
|
|
|
"-DSUPPORT_REMOTE_UNWINDING",
|
2010-07-07 00:16:14 +08:00
|
|
|
"-Wparentheses",
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
OTHER_CPLUSPLUSFLAGS = (
|
2010-06-13 02:59:55 +08:00
|
|
|
"-fno-rtti",
|
2010-06-09 00:52:24 +08:00
|
|
|
"-Wglobal-constructors",
|
|
|
|
"$(OTHER_CFLAGS)",
|
|
|
|
);
|
|
|
|
OTHER_LDFLAGS = (
|
|
|
|
"-lllvmclang",
|
|
|
|
"-framework",
|
|
|
|
Foundation,
|
|
|
|
"-framework",
|
|
|
|
AppKit,
|
|
|
|
);
|
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = LLDB;
|
2010-07-10 04:39:50 +08:00
|
|
|
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";
|
2010-06-09 00:52:24 +08:00
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
ZERO_LINK = NO;
|
|
|
|
};
|
|
|
|
name = Release;
|
|
|
|
};
|
|
|
|
268A89B211963ECA00D953EB /* BuildAndIntegration */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
ARCHS = (
|
|
|
|
x86_64,
|
|
|
|
i386,
|
|
|
|
);
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
__STDC_CONSTANT_MACROS,
|
|
|
|
__STDC_LIMIT_MACROS,
|
|
|
|
LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
|
|
|
|
);
|
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
2010-07-14 08:18:15 +08:00
|
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
|
|
PREBINDING = NO;
|
|
|
|
VALID_ARCHS = "x86_64 i386";
|
|
|
|
};
|
|
|
|
name = BuildAndIntegration;
|
|
|
|
};
|
|
|
|
268A89B311963ECA00D953EB /* BuildAndIntegration */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
COPY_PHASE_STRIP = YES;
|
2011-01-25 15:01:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
FRAMEWORK_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
|
|
|
);
|
|
|
|
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
|
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
|
|
|
GCC_MODEL_TUNING = G5;
|
|
|
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
2010-10-29 05:51:20 +08:00
|
|
|
HEADER_SEARCH_PATHS = "";
|
2010-06-09 00:52:24 +08:00
|
|
|
INFOPLIST_FILE = "lldb-Info.plist";
|
|
|
|
INSTALL_PATH = /Developer/usr/bin;
|
|
|
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
2010-07-07 00:16:14 +08:00
|
|
|
OTHER_CFLAGS = "-Wparentheses";
|
2010-06-09 00:52:24 +08:00
|
|
|
OTHER_LDFLAGS = (
|
|
|
|
"-sectcreate",
|
|
|
|
__TEXT,
|
|
|
|
__info_plist,
|
|
|
|
"$(PROJECT_DIR)/tools/driver/lldb-Info.plist",
|
|
|
|
"-Wl,-rpath,@loader_path/../../Library/PrivateFrameworks/",
|
|
|
|
);
|
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = lldb;
|
2010-06-12 08:38:35 +08:00
|
|
|
USER_HEADER_SEARCH_PATHS = "$(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";
|
2010-06-09 00:52:24 +08:00
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
ZERO_LINK = NO;
|
|
|
|
};
|
|
|
|
name = BuildAndIntegration;
|
|
|
|
};
|
|
|
|
268A89B511963ECA00D953EB /* BuildAndIntegration */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
COPY_PHASE_STRIP = YES;
|
2011-01-25 15:01:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
DEAD_CODE_STRIPPING = YES;
|
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
2011-01-25 15:01:26 +08:00
|
|
|
DYLIB_CURRENT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports";
|
|
|
|
FRAMEWORK_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
|
|
|
);
|
|
|
|
FRAMEWORK_VERSION = A;
|
|
|
|
GCC_ENABLE_OBJC_GC = supported;
|
|
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
A few of the issue I have been trying to track down and fix have been due to
the way LLDB lazily gets complete definitions for types within the debug info.
When we run across a class/struct/union definition in the DWARF, we will only
parse the full definition if we need to. This works fine for top level types
that are assigned directly to variables and arguments, but when we have a
variable with a class, lets say "A" for this example, that has a member:
"B *m_b". Initially we don't need to hunt down a definition for this class
unless we are ever asked to do something with it ("expr m_b->getDecl()" for
example). With my previous approach to lazy type completion, we would be able
to take a "A *a" and get a complete type for it, but we wouldn't be able to
then do an "a->m_b->getDecl()" unless we always expanded all types within a
class prior to handing out the type. Expanding everything is very costly and
it would be great if there were a better way.
A few months ago I worked with the llvm/clang folks to have the
ExternalASTSource class be able to complete classes if there weren't completed
yet:
class ExternalASTSource {
....
virtual void
CompleteType (clang::TagDecl *Tag);
virtual void
CompleteType (clang::ObjCInterfaceDecl *Class);
};
This was great, because we can now have the class that is producing the AST
(SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources
and the object that creates the forward declaration types can now also
complete them anywhere within the clang type system.
This patch makes a few major changes:
- lldb_private::Module classes now own the AST context. Previously the TypeList
objects did.
- The DWARF parsers now sign up as an external AST sources so they can complete
types.
- All of the pure clang type system wrapper code we have in LLDB (ClangASTContext,
ClangASTType, and more) can now be iterating through children of any type,
and if a class/union/struct type (clang::RecordType or ObjC interface)
is found that is incomplete, we can ask the AST to get the definition.
- The SymbolFileDWARFDebugMap class now will create and use a single AST that
all child SymbolFileDWARF classes will share (much like what happens when
we have a complete linked DWARF for an executable).
We will need to modify some of the ClangUserExpression code to take more
advantage of this completion ability in the near future. Meanwhile we should
be better off now that we can be accessing any children of variables through
pointers and always be able to resolve the clang type if needed.
llvm-svn: 123613
2011-01-17 11:46:26 +08:00
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
__STDC_CONSTANT_MACROS,
|
|
|
|
__STDC_LIMIT_MACROS,
|
|
|
|
LLDB_CONFIGURATION_BUILD_AND_INTEGRATION,
|
|
|
|
);
|
2010-10-29 05:51:20 +08:00
|
|
|
HEADER_SEARCH_PATHS = "";
|
2010-06-09 00:52:24 +08:00
|
|
|
INFOPLIST_FILE = "resources/LLDB-Info.plist";
|
|
|
|
INSTALL_PATH = /Developer/Library/PrivateFrameworks;
|
|
|
|
LD_DYLIB_INSTALL_NAME = "@rpath/LLDB.framework/Versions/A/LLDB";
|
|
|
|
LIBRARY_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"$(LLVM_BUILD_DIR)",
|
|
|
|
);
|
|
|
|
LLVM_BUILD_DIR = "$(DERIVED_FILE_DIR)/llvm.build";
|
2010-07-23 08:16:53 +08:00
|
|
|
LLVM_CONFIGURATION = Release;
|
2010-06-09 00:52:24 +08:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
"-DFOR_DYLD=0",
|
|
|
|
"-DSUPPORT_REMOTE_UNWINDING",
|
2010-07-07 00:16:14 +08:00
|
|
|
"-Wparentheses",
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
OTHER_CPLUSPLUSFLAGS = (
|
2010-06-13 02:59:55 +08:00
|
|
|
"-fno-rtti",
|
2010-06-09 00:52:24 +08:00
|
|
|
"-Wglobal-constructors",
|
|
|
|
"$(OTHER_CFLAGS)",
|
|
|
|
);
|
|
|
|
OTHER_LDFLAGS = (
|
|
|
|
"-lllvmclang",
|
|
|
|
"-framework",
|
|
|
|
Foundation,
|
|
|
|
"-framework",
|
|
|
|
AppKit,
|
|
|
|
);
|
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = LLDB;
|
2010-07-10 04:39:50 +08:00
|
|
|
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";
|
2010-06-09 00:52:24 +08:00
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
ZERO_LINK = NO;
|
|
|
|
};
|
|
|
|
name = BuildAndIntegration;
|
|
|
|
};
|
|
|
|
26F5C26C10F3D9A5009D5894 /* Debug */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
CODE_SIGN_IDENTITY = lldb_codesign;
|
|
|
|
COPY_PHASE_STRIP = NO;
|
2011-01-25 15:01:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
FRAMEWORK_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
|
|
|
);
|
|
|
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
|
|
|
GCC_MODEL_TUNING = G5;
|
|
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
|
|
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
2010-10-29 05:51:20 +08:00
|
|
|
HEADER_SEARCH_PATHS = "";
|
2010-06-09 00:52:24 +08:00
|
|
|
INFOPLIST_FILE = "lldb-Info.plist";
|
|
|
|
INSTALL_PATH = /Developer/usr/bin;
|
|
|
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
2010-07-07 00:16:14 +08:00
|
|
|
OTHER_CFLAGS = "-Wparentheses";
|
2010-06-09 00:52:24 +08:00
|
|
|
OTHER_LDFLAGS = (
|
|
|
|
"-sectcreate",
|
|
|
|
__TEXT,
|
|
|
|
__info_plist,
|
|
|
|
"$(PROJECT_DIR)/tools/driver/lldb-Info.plist",
|
|
|
|
"-Wl,-rpath,@loader_path/",
|
|
|
|
);
|
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = lldb;
|
2010-06-09 15:44:25 +08:00
|
|
|
USER_HEADER_SEARCH_PATHS = "$(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";
|
2010-06-09 00:52:24 +08:00
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
};
|
|
|
|
name = Debug;
|
|
|
|
};
|
|
|
|
26F5C26D10F3D9A5009D5894 /* Release */ = {
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
buildSettings = {
|
|
|
|
ARCHS = (
|
|
|
|
x86_64,
|
|
|
|
i386,
|
|
|
|
);
|
|
|
|
CODE_SIGN_IDENTITY = lldb_codesign;
|
|
|
|
COPY_PHASE_STRIP = YES;
|
2011-01-25 15:01:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 44;
|
2010-06-09 00:52:24 +08:00
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
FRAMEWORK_SEARCH_PATHS = (
|
|
|
|
"$(inherited)",
|
|
|
|
"\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"",
|
|
|
|
);
|
|
|
|
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
|
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
|
|
|
|
GCC_MODEL_TUNING = G5;
|
|
|
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
2010-10-29 05:51:20 +08:00
|
|
|
HEADER_SEARCH_PATHS = "";
|
2010-06-09 00:52:24 +08:00
|
|
|
INFOPLIST_FILE = "lldb-Info.plist";
|
|
|
|
INSTALL_PATH = /Developer/usr/bin;
|
|
|
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
2010-07-07 00:16:14 +08:00
|
|
|
OTHER_CFLAGS = "-Wparentheses";
|
2010-06-09 00:52:24 +08:00
|
|
|
OTHER_LDFLAGS = (
|
|
|
|
"-sectcreate",
|
|
|
|
__TEXT,
|
|
|
|
__info_plist,
|
|
|
|
"$(PROJECT_DIR)/tools/driver/lldb-Info.plist",
|
2010-06-12 08:38:35 +08:00
|
|
|
"-Wl,-rpath,@loader_path/",
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
PREBINDING = NO;
|
|
|
|
PRODUCT_NAME = lldb;
|
2010-06-12 08:38:35 +08:00
|
|
|
USER_HEADER_SEARCH_PATHS = "$(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";
|
2010-06-09 00:52:24 +08:00
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
ZERO_LINK = NO;
|
|
|
|
};
|
|
|
|
name = Release;
|
|
|
|
};
|
|
|
|
/* End XCBuildConfiguration section */
|
|
|
|
|
|
|
|
/* Begin XCConfigurationList section */
|
|
|
|
1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "lldb" */ = {
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
buildConfigurations = (
|
|
|
|
1DEB91F008733DB70010E9CD /* Debug */,
|
|
|
|
1DEB91F108733DB70010E9CD /* Release */,
|
|
|
|
268A89B211963ECA00D953EB /* BuildAndIntegration */,
|
|
|
|
);
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
defaultConfigurationName = BuildAndIntegration;
|
|
|
|
};
|
Added a new Host call to find LLDB related paths:
static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);
This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:
typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;
All places that were finding executables are and python paths are now updated
to use this Host call.
Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:
static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);
Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.
Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.
llvm-svn: 116690
2010-10-18 06:03:32 +08:00
|
|
|
26579F6D126A25BF0007C5CB /* Build configuration list for PBXNativeTarget "darwin-debug" */ = {
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
buildConfigurations = (
|
|
|
|
26579F6A126A25920007C5CB /* Debug */,
|
|
|
|
26579F6B126A25920007C5CB /* Release */,
|
|
|
|
26579F6C126A25920007C5CB /* BuildAndIntegration */,
|
|
|
|
);
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
defaultConfigurationName = BuildAndIntegration;
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
2668020B115FD0EE008E1FE4 /* Build configuration list for PBXNativeTarget "LLDB" */ = {
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
buildConfigurations = (
|
|
|
|
26680209115FD0ED008E1FE4 /* Debug */,
|
|
|
|
2668020A115FD0ED008E1FE4 /* Release */,
|
|
|
|
268A89B511963ECA00D953EB /* BuildAndIntegration */,
|
|
|
|
);
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
defaultConfigurationName = BuildAndIntegration;
|
|
|
|
};
|
|
|
|
26F5C26E10F3D9C5009D5894 /* Build configuration list for PBXNativeTarget "lldb-tool" */ = {
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
buildConfigurations = (
|
|
|
|
26F5C26C10F3D9A5009D5894 /* Debug */,
|
|
|
|
26F5C26D10F3D9A5009D5894 /* Release */,
|
|
|
|
268A89B311963ECA00D953EB /* BuildAndIntegration */,
|
|
|
|
);
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
defaultConfigurationName = BuildAndIntegration;
|
|
|
|
};
|
|
|
|
/* End XCConfigurationList section */
|
|
|
|
};
|
|
|
|
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
|
|
|
|
}
|