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 */; };
|
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 */; };
|
2011-02-05 03:17:57 +08:00
|
|
|
266F5CBC12FC846200DFCE33 /* Config.h in Headers */ = {isa = PBXBuildFile; fileRef = 266F5CBB12FC846200DFCE33 /* Config.h */; };
|
2011-02-08 07:24:47 +08:00
|
|
|
268DA872130095D000C9483A /* Terminal.h in Headers */ = {isa = PBXBuildFile; fileRef = 268DA871130095D000C9483A /* Terminal.h */; };
|
|
|
|
268DA874130095ED00C9483A /* Terminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268DA873130095ED00C9483A /* Terminal.cpp */; };
|
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, ); }; };
|
Modified the PluginManager to be ready for loading plug-ins from a system
LLDB plugin directory and a user LLDB plugin directory. We currently still
need to work out at what layer the plug-ins will be, but at least we are
prepared for plug-ins. Plug-ins will attempt to be loaded from the
"/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/Plugins"
folder, and from the "~/Library/Application Support/LLDB/Plugins" folder on
MacOSX. Each plugin will be scanned for:
extern "C" bool LLDBPluginInitialize(void);
extern "C" void LLDBPluginTerminate(void);
If at least LLDBPluginInitialize is found, the plug-in will be loaded. The
LLDBPluginInitialize function returns a bool that indicates if the plug-in
should stay loaded or not (plug-ins might check the current OS, current
hardware, or anything else and determine they don't want to run on the current
host). The plug-in is uniqued by path and added to a static loaded plug-in
map. The plug-in scanning happens during "lldb_private::Initialize()" which
calls to the PluginManager::Initialize() function. Likewise with termination
lldb_private::Terminate() calls PluginManager::Terminate(). The paths for the
plug-in directories is fetched through new Host calls:
bool Host::GetLLDBPath (ePathTypeLLDBSystemPlugins, dir_spec);
bool Host::GetLLDBPath (ePathTypeLLDBUserPlugins, dir_spec);
This way linux and other systems can define their own appropriate locations
for plug-ins to be loaded.
To allow dynamic shared library loading, the Host layer has also been modified
to include shared library open, close and get symbol:
static void *
Host::DynamicLibraryOpen (const FileSpec &file_spec,
Error &error);
static Error
Host::DynamicLibraryClose (void *dynamic_library_handle);
static void *
Host::DynamicLibraryGetSymbol (void *dynamic_library_handle,
const char *symbol_name,
Error &error);
lldb_private::FileSpec also has been modified to support directory enumeration
in an attempt to abstract the directory enumeration into one spot in the code.
The directory enumertion function is static and takes a callback:
typedef enum EnumerateDirectoryResult
{
eEnumerateDirectoryResultNext, // Enumerate next entry in the current directory
eEnumerateDirectoryResultEnter, // Recurse into the current entry if it is a directory or symlink, or next if not
eEnumerateDirectoryResultExit, // Exit from the current directory at the current level.
eEnumerateDirectoryResultQuit // Stop directory enumerations at any level
};
typedef FileSpec::EnumerateDirectoryResult (*EnumerateDirectoryCallbackType) (void *baton,
FileSpec::FileType file_type,
const FileSpec &spec);
static FileSpec::EnumerateDirectoryResult
FileSpec::EnumerateDirectory (const char *dir_path,
bool find_directories,
bool find_files,
bool find_other,
EnumerateDirectoryCallbackType callback,
void *callback_baton);
This allow clients to specify the directory to search, and specifies if only
files, directories or other (pipe, symlink, fifo, etc) files will cause the
callback to be called. The callback also gets to return with the action that
should be performed after this directory entry. eEnumerateDirectoryResultNext
specifies to continue enumerating through a directory with the next entry.
eEnumerateDirectoryResultEnter specifies to recurse down into a directory
entry, or if the file is not a directory or symlink/alias to a directory, then
just iterate to the next entry. eEnumerateDirectoryResultExit specifies to
exit the current directory and skip any entries that might be remaining, yet
continue enumerating to the next entry in the parent directory. And finally
eEnumerateDirectoryResultQuit means to abort all directory enumerations at
all levels.
Modified the Declaration class to not include column information currently
since we don't have any compilers that currently support column based
declaration information. Columns support can be re-enabled with the
additions of a #define.
Added the ability to find an EmulateInstruction plug-in given a target triple
and optional plug-in name in the plug-in manager.
Fixed a few cases where opendir/readdir was being used, but yet not closedir
was being used. Soon these will be deprecated in favor of the new directory
enumeration call that was added to the FileSpec class.
llvm-svn: 124716
2011-02-02 10:24:04 +08:00
|
|
|
26B8B42512EEC52A00A831B2 /* UniqueDWARFASTType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26B8B42312EEC52A00A831B2 /* UniqueDWARFASTType.cpp */; };
|
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 */; };
|
|
|
|
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 */; };
|
|
|
|
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 */; };
|
2011-02-01 08:04:43 +08:00
|
|
|
26D9FDC712F784E60003F2EE /* EmulateInstruction.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D9FDC612F784E60003F2EE /* EmulateInstruction.h */; };
|
|
|
|
26D9FDC912F784FD0003F2EE /* EmulateInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D9FDC812F784FD0003F2EE /* EmulateInstruction.cpp */; };
|
|
|
|
26D9FDCE12F7853F0003F2EE /* EmulateInstructionARM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D9FDCC12F7853F0003F2EE /* EmulateInstructionARM.cpp */; };
|
|
|
|
26D9FDCF12F7853F0003F2EE /* EmulateInstructionARM.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D9FDCD12F7853F0003F2EE /* EmulateInstructionARM.h */; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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 */; };
|
2011-02-08 13:05:52 +08:00
|
|
|
26FA4316130103F400E71120 /* FileSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 26FA4315130103F400E71120 /* FileSpec.h */; };
|
|
|
|
26FA43181301048600E71120 /* FileSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26FA43171301048600E71120 /* FileSpec.cpp */; };
|
2011-02-02 07:43:26 +08:00
|
|
|
4906FD4212F2255300A2A77C /* ASTDumper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4906FD4012F2255300A2A77C /* ASTDumper.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
|
|
|
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 */; };
|
2011-01-26 09:18:52 +08:00
|
|
|
B287E63F12EFAE2C00C9BEFE /* ARMDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = B287E63E12EFAE2C00C9BEFE /* ARMDefines.h */; };
|
2010-12-24 04:21:44 +08:00
|
|
|
B296983712C2FB98002D92C3 /* CommandObjectVersion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B296983412C2FB2B002D92C3 /* CommandObjectVersion.cpp */; };
|
2011-01-26 09:00:55 +08:00
|
|
|
B2D3033712EFA5C500F84EB3 /* InstructionUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B2D3033612EFA5C500F84EB3 /* InstructionUtils.h */; };
|
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>"; };
|
|
|
|
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>"; };
|
2011-02-05 03:17:57 +08:00
|
|
|
266F5CBB12FC846200DFCE33 /* Config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Config.h; path = include/lldb/Host/Config.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>"; };
|
2011-02-08 07:24:47 +08:00
|
|
|
268DA871130095D000C9483A /* Terminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Terminal.h; path = include/lldb/Host/Terminal.h; sourceTree = "<group>"; };
|
|
|
|
268DA873130095ED00C9483A /* Terminal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Terminal.cpp; 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>"; };
|
Modified the PluginManager to be ready for loading plug-ins from a system
LLDB plugin directory and a user LLDB plugin directory. We currently still
need to work out at what layer the plug-ins will be, but at least we are
prepared for plug-ins. Plug-ins will attempt to be loaded from the
"/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/Plugins"
folder, and from the "~/Library/Application Support/LLDB/Plugins" folder on
MacOSX. Each plugin will be scanned for:
extern "C" bool LLDBPluginInitialize(void);
extern "C" void LLDBPluginTerminate(void);
If at least LLDBPluginInitialize is found, the plug-in will be loaded. The
LLDBPluginInitialize function returns a bool that indicates if the plug-in
should stay loaded or not (plug-ins might check the current OS, current
hardware, or anything else and determine they don't want to run on the current
host). The plug-in is uniqued by path and added to a static loaded plug-in
map. The plug-in scanning happens during "lldb_private::Initialize()" which
calls to the PluginManager::Initialize() function. Likewise with termination
lldb_private::Terminate() calls PluginManager::Terminate(). The paths for the
plug-in directories is fetched through new Host calls:
bool Host::GetLLDBPath (ePathTypeLLDBSystemPlugins, dir_spec);
bool Host::GetLLDBPath (ePathTypeLLDBUserPlugins, dir_spec);
This way linux and other systems can define their own appropriate locations
for plug-ins to be loaded.
To allow dynamic shared library loading, the Host layer has also been modified
to include shared library open, close and get symbol:
static void *
Host::DynamicLibraryOpen (const FileSpec &file_spec,
Error &error);
static Error
Host::DynamicLibraryClose (void *dynamic_library_handle);
static void *
Host::DynamicLibraryGetSymbol (void *dynamic_library_handle,
const char *symbol_name,
Error &error);
lldb_private::FileSpec also has been modified to support directory enumeration
in an attempt to abstract the directory enumeration into one spot in the code.
The directory enumertion function is static and takes a callback:
typedef enum EnumerateDirectoryResult
{
eEnumerateDirectoryResultNext, // Enumerate next entry in the current directory
eEnumerateDirectoryResultEnter, // Recurse into the current entry if it is a directory or symlink, or next if not
eEnumerateDirectoryResultExit, // Exit from the current directory at the current level.
eEnumerateDirectoryResultQuit // Stop directory enumerations at any level
};
typedef FileSpec::EnumerateDirectoryResult (*EnumerateDirectoryCallbackType) (void *baton,
FileSpec::FileType file_type,
const FileSpec &spec);
static FileSpec::EnumerateDirectoryResult
FileSpec::EnumerateDirectory (const char *dir_path,
bool find_directories,
bool find_files,
bool find_other,
EnumerateDirectoryCallbackType callback,
void *callback_baton);
This allow clients to specify the directory to search, and specifies if only
files, directories or other (pipe, symlink, fifo, etc) files will cause the
callback to be called. The callback also gets to return with the action that
should be performed after this directory entry. eEnumerateDirectoryResultNext
specifies to continue enumerating through a directory with the next entry.
eEnumerateDirectoryResultEnter specifies to recurse down into a directory
entry, or if the file is not a directory or symlink/alias to a directory, then
just iterate to the next entry. eEnumerateDirectoryResultExit specifies to
exit the current directory and skip any entries that might be remaining, yet
continue enumerating to the next entry in the parent directory. And finally
eEnumerateDirectoryResultQuit means to abort all directory enumerations at
all levels.
Modified the Declaration class to not include column information currently
since we don't have any compilers that currently support column based
declaration information. Columns support can be re-enabled with the
additions of a #define.
Added the ability to find an EmulateInstruction plug-in given a target triple
and optional plug-in name in the plug-in manager.
Fixed a few cases where opendir/readdir was being used, but yet not closedir
was being used. Soon these will be deprecated in favor of the new directory
enumeration call that was added to the FileSpec class.
llvm-svn: 124716
2011-02-02 10:24:04 +08:00
|
|
|
26B8B42212EEC52A00A831B2 /* UniqueDWARFASTType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniqueDWARFASTType.h; sourceTree = "<group>"; };
|
|
|
|
26B8B42312EEC52A00A831B2 /* UniqueDWARFASTType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UniqueDWARFASTType.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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>"; };
|
|
|
|
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>"; };
|
|
|
|
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>"; };
|
|
|
|
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>"; };
|
|
|
|
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>"; };
|
|
|
|
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>"; };
|
2011-02-01 08:04:43 +08:00
|
|
|
26D9FDC612F784E60003F2EE /* EmulateInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmulateInstruction.h; path = include/lldb/Core/EmulateInstruction.h; sourceTree = "<group>"; };
|
|
|
|
26D9FDC812F784FD0003F2EE /* EmulateInstruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmulateInstruction.cpp; path = source/Core/EmulateInstruction.cpp; sourceTree = "<group>"; };
|
|
|
|
26D9FDCC12F7853F0003F2EE /* EmulateInstructionARM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmulateInstructionARM.cpp; path = Instruction/ARM/EmulateInstructionARM.cpp; sourceTree = "<group>"; };
|
|
|
|
26D9FDCD12F7853F0003F2EE /* EmulateInstructionARM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmulateInstructionARM.h; path = Instruction/ARM/EmulateInstructionARM.h; sourceTree = "<group>"; };
|
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>"; };
|
2011-02-08 13:05:52 +08:00
|
|
|
26FA4315130103F400E71120 /* FileSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileSpec.h; path = include/lldb/Host/FileSpec.h; sourceTree = "<group>"; };
|
|
|
|
26FA43171301048600E71120 /* FileSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileSpec.cpp; sourceTree = "<group>"; };
|
2010-06-09 00:52:24 +08:00
|
|
|
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>"; };
|
2011-02-02 07:43:26 +08:00
|
|
|
4906FD4012F2255300A2A77C /* ASTDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ASTDumper.cpp; path = source/Expression/ASTDumper.cpp; sourceTree = "<group>"; };
|
|
|
|
4906FD4412F2257600A2A77C /* ASTDumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASTDumper.h; path = include/lldb/Expression/ASTDumper.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>"; };
|
2011-01-26 09:18:52 +08:00
|
|
|
B287E63E12EFAE2C00C9BEFE /* ARMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ARMDefines.h; path = Utility/ARMDefines.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>"; };
|
2011-01-26 09:00:55 +08:00
|
|
|
B2D3033612EFA5C500F84EB3 /* InstructionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InstructionUtils.h; path = Utility/InstructionUtils.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 = (
|
|
|
|
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 */,
|
2011-02-01 08:04:43 +08:00
|
|
|
26D9FDCA12F785120003F2EE /* Instruction */,
|
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 */,
|
Modified the PluginManager to be ready for loading plug-ins from a system
LLDB plugin directory and a user LLDB plugin directory. We currently still
need to work out at what layer the plug-ins will be, but at least we are
prepared for plug-ins. Plug-ins will attempt to be loaded from the
"/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/Plugins"
folder, and from the "~/Library/Application Support/LLDB/Plugins" folder on
MacOSX. Each plugin will be scanned for:
extern "C" bool LLDBPluginInitialize(void);
extern "C" void LLDBPluginTerminate(void);
If at least LLDBPluginInitialize is found, the plug-in will be loaded. The
LLDBPluginInitialize function returns a bool that indicates if the plug-in
should stay loaded or not (plug-ins might check the current OS, current
hardware, or anything else and determine they don't want to run on the current
host). The plug-in is uniqued by path and added to a static loaded plug-in
map. The plug-in scanning happens during "lldb_private::Initialize()" which
calls to the PluginManager::Initialize() function. Likewise with termination
lldb_private::Terminate() calls PluginManager::Terminate(). The paths for the
plug-in directories is fetched through new Host calls:
bool Host::GetLLDBPath (ePathTypeLLDBSystemPlugins, dir_spec);
bool Host::GetLLDBPath (ePathTypeLLDBUserPlugins, dir_spec);
This way linux and other systems can define their own appropriate locations
for plug-ins to be loaded.
To allow dynamic shared library loading, the Host layer has also been modified
to include shared library open, close and get symbol:
static void *
Host::DynamicLibraryOpen (const FileSpec &file_spec,
Error &error);
static Error
Host::DynamicLibraryClose (void *dynamic_library_handle);
static void *
Host::DynamicLibraryGetSymbol (void *dynamic_library_handle,
const char *symbol_name,
Error &error);
lldb_private::FileSpec also has been modified to support directory enumeration
in an attempt to abstract the directory enumeration into one spot in the code.
The directory enumertion function is static and takes a callback:
typedef enum EnumerateDirectoryResult
{
eEnumerateDirectoryResultNext, // Enumerate next entry in the current directory
eEnumerateDirectoryResultEnter, // Recurse into the current entry if it is a directory or symlink, or next if not
eEnumerateDirectoryResultExit, // Exit from the current directory at the current level.
eEnumerateDirectoryResultQuit // Stop directory enumerations at any level
};
typedef FileSpec::EnumerateDirectoryResult (*EnumerateDirectoryCallbackType) (void *baton,
FileSpec::FileType file_type,
const FileSpec &spec);
static FileSpec::EnumerateDirectoryResult
FileSpec::EnumerateDirectory (const char *dir_path,
bool find_directories,
bool find_files,
bool find_other,
EnumerateDirectoryCallbackType callback,
void *callback_baton);
This allow clients to specify the directory to search, and specifies if only
files, directories or other (pipe, symlink, fifo, etc) files will cause the
callback to be called. The callback also gets to return with the action that
should be performed after this directory entry. eEnumerateDirectoryResultNext
specifies to continue enumerating through a directory with the next entry.
eEnumerateDirectoryResultEnter specifies to recurse down into a directory
entry, or if the file is not a directory or symlink/alias to a directory, then
just iterate to the next entry. eEnumerateDirectoryResultExit specifies to
exit the current directory and skip any entries that might be remaining, yet
continue enumerating to the next entry in the parent directory. And finally
eEnumerateDirectoryResultQuit means to abort all directory enumerations at
all levels.
Modified the Declaration class to not include column information currently
since we don't have any compilers that currently support column based
declaration information. Columns support can be re-enabled with the
additions of a #define.
Added the ability to find an EmulateInstruction plug-in given a target triple
and optional plug-in name in the plug-in manager.
Fixed a few cases where opendir/readdir was being used, but yet not closedir
was being used. Soon these will be deprecated in favor of the new directory
enumeration call that was added to the FileSpec class.
llvm-svn: 124716
2011-02-02 10:24:04 +08:00
|
|
|
26B8B42212EEC52A00A831B2 /* UniqueDWARFASTType.h */,
|
|
|
|
26B8B42312EEC52A00A831B2 /* UniqueDWARFASTType.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
);
|
|
|
|
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-26 09:00:55 +08:00
|
|
|
B2D3033612EFA5C500F84EB3 /* InstructionUtils.h */,
|
2011-01-26 09:18:52 +08:00
|
|
|
B287E63E12EFAE2C00C9BEFE /* ARMDefines.h */,
|
2011-01-25 02:24:53 +08:00
|
|
|
B23DD24F12EDFAC1000C3894 /* ARMUtils.h */,
|
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 */,
|
2011-02-01 08:04:43 +08:00
|
|
|
26D9FDC612F784E60003F2EE /* EmulateInstruction.h */,
|
|
|
|
26D9FDC812F784FD0003F2EE /* EmulateInstruction.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7D6010F1B77400F91463 /* Error.h */,
|
|
|
|
26BC7E7810F1B85900F91463 /* Error.cpp */,
|
|
|
|
26BC7D6110F1B77400F91463 /* Event.h */,
|
|
|
|
26BC7E7910F1B85900F91463 /* Event.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 */,
|
|
|
|
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 */,
|
2011-02-02 07:43:26 +08:00
|
|
|
4906FD4412F2257600A2A77C /* ASTDumper.h */,
|
|
|
|
4906FD4012F2255300A2A77C /* ASTDumper.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 */,
|
2011-02-05 03:17:57 +08:00
|
|
|
266F5CBB12FC846200DFCE33 /* Config.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DD310F1B7D500F91463 /* Endian.h */,
|
2011-02-08 13:05:52 +08:00
|
|
|
26FA4315130103F400E71120 /* FileSpec.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
26BC7DD410F1B7D500F91463 /* Host.h */,
|
|
|
|
26BC7DD510F1B7D500F91463 /* Mutex.h */,
|
|
|
|
26BC7DD610F1B7D500F91463 /* Predicate.h */,
|
|
|
|
2689B0A4113EE3CD00A4AEDB /* Symbols.h */,
|
2011-02-08 07:24:47 +08:00
|
|
|
268DA871130095D000C9483A /* Terminal.h */,
|
2010-06-09 00:52:24 +08:00
|
|
|
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 */,
|
Modified the PluginManager to be ready for loading plug-ins from a system
LLDB plugin directory and a user LLDB plugin directory. We currently still
need to work out at what layer the plug-ins will be, but at least we are
prepared for plug-ins. Plug-ins will attempt to be loaded from the
"/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/Plugins"
folder, and from the "~/Library/Application Support/LLDB/Plugins" folder on
MacOSX. Each plugin will be scanned for:
extern "C" bool LLDBPluginInitialize(void);
extern "C" void LLDBPluginTerminate(void);
If at least LLDBPluginInitialize is found, the plug-in will be loaded. The
LLDBPluginInitialize function returns a bool that indicates if the plug-in
should stay loaded or not (plug-ins might check the current OS, current
hardware, or anything else and determine they don't want to run on the current
host). The plug-in is uniqued by path and added to a static loaded plug-in
map. The plug-in scanning happens during "lldb_private::Initialize()" which
calls to the PluginManager::Initialize() function. Likewise with termination
lldb_private::Terminate() calls PluginManager::Terminate(). The paths for the
plug-in directories is fetched through new Host calls:
bool Host::GetLLDBPath (ePathTypeLLDBSystemPlugins, dir_spec);
bool Host::GetLLDBPath (ePathTypeLLDBUserPlugins, dir_spec);
This way linux and other systems can define their own appropriate locations
for plug-ins to be loaded.
To allow dynamic shared library loading, the Host layer has also been modified
to include shared library open, close and get symbol:
static void *
Host::DynamicLibraryOpen (const FileSpec &file_spec,
Error &error);
static Error
Host::DynamicLibraryClose (void *dynamic_library_handle);
static void *
Host::DynamicLibraryGetSymbol (void *dynamic_library_handle,
const char *symbol_name,
Error &error);
lldb_private::FileSpec also has been modified to support directory enumeration
in an attempt to abstract the directory enumeration into one spot in the code.
The directory enumertion function is static and takes a callback:
typedef enum EnumerateDirectoryResult
{
eEnumerateDirectoryResultNext, // Enumerate next entry in the current directory
eEnumerateDirectoryResultEnter, // Recurse into the current entry if it is a directory or symlink, or next if not
eEnumerateDirectoryResultExit, // Exit from the current directory at the current level.
eEnumerateDirectoryResultQuit // Stop directory enumerations at any level
};
typedef FileSpec::EnumerateDirectoryResult (*EnumerateDirectoryCallbackType) (void *baton,
FileSpec::FileType file_type,
const FileSpec &spec);
static FileSpec::EnumerateDirectoryResult
FileSpec::EnumerateDirectory (const char *dir_path,
bool find_directories,
bool find_files,
bool find_other,
EnumerateDirectoryCallbackType callback,
void *callback_baton);
This allow clients to specify the directory to search, and specifies if only
files, directories or other (pipe, symlink, fifo, etc) files will cause the
callback to be called. The callback also gets to return with the action that
should be performed after this directory entry. eEnumerateDirectoryResultNext
specifies to continue enumerating through a directory with the next entry.
eEnumerateDirectoryResultEnter specifies to recurse down into a directory
entry, or if the file is not a directory or symlink/alias to a directory, then
just iterate to the next entry. eEnumerateDirectoryResultExit specifies to
exit the current directory and skip any entries that might be remaining, yet
continue enumerating to the next entry in the parent directory. And finally
eEnumerateDirectoryResultQuit means to abort all directory enumerations at
all levels.
Modified the Declaration class to not include column information currently
since we don't have any compilers that currently support column based
declaration information. Columns support can be re-enabled with the
additions of a #define.
Added the ability to find an EmulateInstruction plug-in given a target triple
and optional plug-in name in the plug-in manager.
Fixed a few cases where opendir/readdir was being used, but yet not closedir
was being used. Soon these will be deprecated in favor of the new directory
enumeration call that was added to the FileSpec class.
llvm-svn: 124716
2011-02-02 10:24:04 +08:00
|
|
|
26BC7E7710F1B85900F91463 /* DynamicLoader.cpp */,
|
2010-06-09 00:52:24 +08:00
|
|
|
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>";
|
|
|
|
};
|
2011-02-01 08:04:43 +08:00
|
|
|
26D9FDCA12F785120003F2EE /* Instruction */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26D9FDCB12F785270003F2EE /* ARM */,
|
|
|
|
);
|
|
|
|
name = Instruction;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
|
|
|
26D9FDCB12F785270003F2EE /* ARM */ = {
|
|
|
|
isa = PBXGroup;
|
|
|
|
children = (
|
|
|
|
26D9FDCD12F7853F0003F2EE /* EmulateInstructionARM.h */,
|
|
|
|
26D9FDCC12F7853F0003F2EE /* EmulateInstructionARM.cpp */,
|
|
|
|
);
|
|
|
|
name = ARM;
|
|
|
|
sourceTree = "<group>";
|
|
|
|
};
|
2010-06-09 00:52:24 +08:00
|
|
|
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 = (
|
2011-02-08 13:05:52 +08:00
|
|
|
26FA43171301048600E71120 /* FileSpec.cpp */,
|
2010-09-08 04:11:56 +08:00
|
|
|
69A01E1B1236C5D400C660B5 /* Condition.cpp */,
|
|
|
|
69A01E1C1236C5D400C660B5 /* Host.cpp */,
|
|
|
|
69A01E1E1236C5D400C660B5 /* Mutex.cpp */,
|
|
|
|
69A01E1F1236C5D400C660B5 /* Symbols.cpp */,
|
2011-02-08 07:24:47 +08:00
|
|
|
268DA873130095ED00C9483A /* Terminal.cpp */,
|
2010-09-08 04:11:56 +08:00
|
|
|
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-25 02:24:53 +08:00
|
|
|
B23DD25012EDFAC1000C3894 /* ARMUtils.h in Headers */,
|
2011-01-26 09:00:55 +08:00
|
|
|
B2D3033712EFA5C500F84EB3 /* InstructionUtils.h in Headers */,
|
2011-01-26 09:18:52 +08:00
|
|
|
B287E63F12EFAE2C00C9BEFE /* ARMDefines.h in Headers */,
|
2011-02-01 08:04:43 +08:00
|
|
|
26D9FDC712F784E60003F2EE /* EmulateInstruction.h in Headers */,
|
|
|
|
26D9FDCF12F7853F0003F2EE /* EmulateInstructionARM.h in Headers */,
|
2011-02-05 03:17:57 +08:00
|
|
|
266F5CBC12FC846200DFCE33 /* Config.h in Headers */,
|
2011-02-08 07:24:47 +08:00
|
|
|
268DA872130095D000C9483A /* Terminal.h in Headers */,
|
2011-02-08 13:05:52 +08:00
|
|
|
26FA4316130103F400E71120 /* FileSpec.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 */,
|
|
|
|
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 */,
|
|
|
|
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-02-01 08:04:43 +08:00
|
|
|
26D9FDC912F784FD0003F2EE /* EmulateInstruction.cpp in Sources */,
|
|
|
|
26D9FDCE12F7853F0003F2EE /* EmulateInstructionARM.cpp in Sources */,
|
Modified the PluginManager to be ready for loading plug-ins from a system
LLDB plugin directory and a user LLDB plugin directory. We currently still
need to work out at what layer the plug-ins will be, but at least we are
prepared for plug-ins. Plug-ins will attempt to be loaded from the
"/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/Plugins"
folder, and from the "~/Library/Application Support/LLDB/Plugins" folder on
MacOSX. Each plugin will be scanned for:
extern "C" bool LLDBPluginInitialize(void);
extern "C" void LLDBPluginTerminate(void);
If at least LLDBPluginInitialize is found, the plug-in will be loaded. The
LLDBPluginInitialize function returns a bool that indicates if the plug-in
should stay loaded or not (plug-ins might check the current OS, current
hardware, or anything else and determine they don't want to run on the current
host). The plug-in is uniqued by path and added to a static loaded plug-in
map. The plug-in scanning happens during "lldb_private::Initialize()" which
calls to the PluginManager::Initialize() function. Likewise with termination
lldb_private::Terminate() calls PluginManager::Terminate(). The paths for the
plug-in directories is fetched through new Host calls:
bool Host::GetLLDBPath (ePathTypeLLDBSystemPlugins, dir_spec);
bool Host::GetLLDBPath (ePathTypeLLDBUserPlugins, dir_spec);
This way linux and other systems can define their own appropriate locations
for plug-ins to be loaded.
To allow dynamic shared library loading, the Host layer has also been modified
to include shared library open, close and get symbol:
static void *
Host::DynamicLibraryOpen (const FileSpec &file_spec,
Error &error);
static Error
Host::DynamicLibraryClose (void *dynamic_library_handle);
static void *
Host::DynamicLibraryGetSymbol (void *dynamic_library_handle,
const char *symbol_name,
Error &error);
lldb_private::FileSpec also has been modified to support directory enumeration
in an attempt to abstract the directory enumeration into one spot in the code.
The directory enumertion function is static and takes a callback:
typedef enum EnumerateDirectoryResult
{
eEnumerateDirectoryResultNext, // Enumerate next entry in the current directory
eEnumerateDirectoryResultEnter, // Recurse into the current entry if it is a directory or symlink, or next if not
eEnumerateDirectoryResultExit, // Exit from the current directory at the current level.
eEnumerateDirectoryResultQuit // Stop directory enumerations at any level
};
typedef FileSpec::EnumerateDirectoryResult (*EnumerateDirectoryCallbackType) (void *baton,
FileSpec::FileType file_type,
const FileSpec &spec);
static FileSpec::EnumerateDirectoryResult
FileSpec::EnumerateDirectory (const char *dir_path,
bool find_directories,
bool find_files,
bool find_other,
EnumerateDirectoryCallbackType callback,
void *callback_baton);
This allow clients to specify the directory to search, and specifies if only
files, directories or other (pipe, symlink, fifo, etc) files will cause the
callback to be called. The callback also gets to return with the action that
should be performed after this directory entry. eEnumerateDirectoryResultNext
specifies to continue enumerating through a directory with the next entry.
eEnumerateDirectoryResultEnter specifies to recurse down into a directory
entry, or if the file is not a directory or symlink/alias to a directory, then
just iterate to the next entry. eEnumerateDirectoryResultExit specifies to
exit the current directory and skip any entries that might be remaining, yet
continue enumerating to the next entry in the parent directory. And finally
eEnumerateDirectoryResultQuit means to abort all directory enumerations at
all levels.
Modified the Declaration class to not include column information currently
since we don't have any compilers that currently support column based
declaration information. Columns support can be re-enabled with the
additions of a #define.
Added the ability to find an EmulateInstruction plug-in given a target triple
and optional plug-in name in the plug-in manager.
Fixed a few cases where opendir/readdir was being used, but yet not closedir
was being used. Soon these will be deprecated in favor of the new directory
enumeration call that was added to the FileSpec class.
llvm-svn: 124716
2011-02-02 10:24:04 +08:00
|
|
|
26B8B42512EEC52A00A831B2 /* UniqueDWARFASTType.cpp in Sources */,
|
2011-02-02 07:43:26 +08:00
|
|
|
4906FD4212F2255300A2A77C /* ASTDumper.cpp in Sources */,
|
2011-02-08 07:24:47 +08:00
|
|
|
268DA874130095ED00C9483A /* Terminal.cpp in Sources */,
|
2011-02-08 13:05:52 +08:00
|
|
|
26FA43181301048600E71120 /* FileSpec.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,
|
|
|
|
);
|
2011-01-27 14:44:37 +08:00
|
|
|
GCC_VERSION = "";
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
|
2010-07-14 08:18:15 +08:00
|
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
|
|
|
|
GCC_WARN_MISSING_PARENTHESES = YES;
|
|
|
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
|
|
|
GCC_WARN_UNUSED_VALUE = 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,
|
|
|
|
);
|
2011-01-27 14:44:37 +08:00
|
|
|
GCC_VERSION = "";
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
|
2010-07-14 08:18:15 +08:00
|
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
|
|
|
|
GCC_WARN_MISSING_PARENTHESES = YES;
|
|
|
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
|
|
|
GCC_WARN_UNUSED_VALUE = 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-29 15:14:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 46;
|
2010-06-09 00:52:24 +08:00
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
2011-01-29 15:14:26 +08:00
|
|
|
DYLIB_CURRENT_VERSION = 46;
|
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-29 15:14:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 46;
|
2010-06-09 00:52:24 +08:00
|
|
|
DEAD_CODE_STRIPPING = YES;
|
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
2011-01-29 15:14:26 +08:00
|
|
|
DYLIB_CURRENT_VERSION = 46;
|
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,
|
|
|
|
);
|
2011-01-27 14:44:37 +08:00
|
|
|
GCC_VERSION = "";
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2010-06-09 00:52:24 +08:00
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
|
2010-07-14 08:18:15 +08:00
|
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
|
2011-01-26 07:55:37 +08:00
|
|
|
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
|
|
|
|
GCC_WARN_MISSING_PARENTHESES = YES;
|
|
|
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
|
|
|
|
GCC_WARN_UNUSED_VALUE = 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-29 15:14:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 46;
|
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;
|
2011-01-27 14:44:37 +08:00
|
|
|
GCC_VERSION = "";
|
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-29 15:14:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 46;
|
2010-06-09 00:52:24 +08:00
|
|
|
DEAD_CODE_STRIPPING = YES;
|
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
2011-01-29 15:14:26 +08:00
|
|
|
DYLIB_CURRENT_VERSION = 46;
|
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-29 15:14:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 46;
|
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;
|
2011-01-27 14:44:37 +08:00
|
|
|
GCC_VERSION = "";
|
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-29 15:14:26 +08:00
|
|
|
CURRENT_PROJECT_VERSION = 46;
|
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;
|
2011-01-27 14:44:37 +08:00
|
|
|
GCC_VERSION = "";
|
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 */;
|
|
|
|
}
|