[Lldb-commits] [lldb] r129112 - in /lldb/trunk: include/lldb/ include/lldb/Breakpoint/ include/lldb/Core/ include/lldb/Expression/ include/lldb/Interpreter/ include/lldb/Target/ lldb.xcodeproj/ scripts/ source/API/ source/Commands/ source/Core/ source/Interpreter/ source/Plugins/Disassembler/llvm/ source/Plugins/ObjectContainer/Universal-Mach-O/ source/Plugins/Platform/MacOSX/ source/Plugins/Process/gdb-remote/ source/Symbol/ source/Target/

Greg Clayton gclayton at apple.com
Thu Apr 7 15:46:35 PDT 2011


Author: gclayton
Date: Thu Apr  7 17:46:35 2011
New Revision: 129112

URL: http://llvm.org/viewvc/llvm-project?rev=129112&view=rev
Log:
Modified the ArchSpec to take an optional "Platform *" when setting the triple.
This allows you to have a platform selected, then specify a triple using
"i386" and have the remaining triple items (vendor, os, and environment) set
automatically.

Many interpreter commands take the "--arch" option to specify an architecture
triple, so now the command options needed to be able to get to the current
platform, so the Options class now take a reference to the interpreter on
construction.

Modified the build LLVM building in the Xcode project to use the new
Xcode project level user definitions:

LLVM_BUILD_DIR - a path to the llvm build directory
LLVM_SOURCE_DIR - a path to the llvm sources for the llvm that will be used to build lldb
LLVM_CONFIGURATION - the configuration that lldb is built for (Release, 
Release+Asserts, Debug, Debug+Asserts).

I also changed the LLVM build to not check if "lldb/llvm" is a symlink and
then assume it is a real llvm build directory versus the unzipped llvm.zip
package, so now you can actually have a "lldb/llvm" directory in your lldb
sources.



Modified:
    lldb/trunk/include/lldb/Breakpoint/BreakpointOptions.h
    lldb/trunk/include/lldb/Core/ArchSpec.h
    lldb/trunk/include/lldb/Core/STLUtils.h
    lldb/trunk/include/lldb/Expression/ClangExpressionDeclMap.h
    lldb/trunk/include/lldb/Interpreter/Options.h
    lldb/trunk/include/lldb/Target/Target.h
    lldb/trunk/include/lldb/lldb-forward.h
    lldb/trunk/lldb.xcodeproj/project.pbxproj
    lldb/trunk/scripts/build-llvm.pl
    lldb/trunk/source/API/SBDebugger.cpp
    lldb/trunk/source/API/SBInstruction.cpp
    lldb/trunk/source/Commands/CommandObjectArgs.cpp
    lldb/trunk/source/Commands/CommandObjectArgs.h
    lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp
    lldb/trunk/source/Commands/CommandObjectBreakpoint.h
    lldb/trunk/source/Commands/CommandObjectBreakpointCommand.cpp
    lldb/trunk/source/Commands/CommandObjectBreakpointCommand.h
    lldb/trunk/source/Commands/CommandObjectCommands.cpp
    lldb/trunk/source/Commands/CommandObjectDisassemble.cpp
    lldb/trunk/source/Commands/CommandObjectDisassemble.h
    lldb/trunk/source/Commands/CommandObjectExpression.cpp
    lldb/trunk/source/Commands/CommandObjectExpression.h
    lldb/trunk/source/Commands/CommandObjectFile.cpp
    lldb/trunk/source/Commands/CommandObjectFile.h
    lldb/trunk/source/Commands/CommandObjectFrame.cpp
    lldb/trunk/source/Commands/CommandObjectHelp.cpp
    lldb/trunk/source/Commands/CommandObjectImage.cpp
    lldb/trunk/source/Commands/CommandObjectLog.cpp
    lldb/trunk/source/Commands/CommandObjectMemory.cpp
    lldb/trunk/source/Commands/CommandObjectPlatform.cpp
    lldb/trunk/source/Commands/CommandObjectProcess.cpp
    lldb/trunk/source/Commands/CommandObjectRegister.cpp
    lldb/trunk/source/Commands/CommandObjectSettings.cpp
    lldb/trunk/source/Commands/CommandObjectSettings.h
    lldb/trunk/source/Commands/CommandObjectSource.cpp
    lldb/trunk/source/Commands/CommandObjectTarget.cpp
    lldb/trunk/source/Commands/CommandObjectThread.cpp
    lldb/trunk/source/Core/ArchSpec.cpp
    lldb/trunk/source/Core/EmulateInstruction.cpp
    lldb/trunk/source/Interpreter/CommandObject.cpp
    lldb/trunk/source/Interpreter/Options.cpp
    lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp
    lldb/trunk/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    lldb/trunk/source/Symbol/SymbolContext.cpp
    lldb/trunk/source/Target/Process.cpp
    lldb/trunk/source/Target/Target.cpp

Modified: lldb/trunk/include/lldb/Breakpoint/BreakpointOptions.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Breakpoint/BreakpointOptions.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Breakpoint/BreakpointOptions.h (original)
+++ lldb/trunk/include/lldb/Breakpoint/BreakpointOptions.h Thu Apr  7 17:46:35 2011
@@ -18,7 +18,6 @@
 #include "lldb/lldb-private.h"
 #include "lldb/Core/Baton.h"
 #include "lldb/Core/StringList.h"
-#include "lldb/Expression/ClangUserExpression.h"
 
 namespace lldb_private {
 

Modified: lldb/trunk/include/lldb/Core/ArchSpec.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ArchSpec.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/ArchSpec.h (original)
+++ lldb/trunk/include/lldb/Core/ArchSpec.h Thu Apr  7 17:46:35 2011
@@ -113,7 +113,7 @@
     /// Triple.
     //------------------------------------------------------------------
     ArchSpec (const llvm::Triple &triple);
-    ArchSpec (const char *triple_cstr);
+    ArchSpec (const char *triple_cstr, Platform *platform);
     //------------------------------------------------------------------
     /// Constructor over architecture name.
     ///
@@ -320,7 +320,7 @@
     SetTriple (const llvm::Triple &triple);
 
     bool
-    SetTriple (const char *triple_cstr);
+    SetTriple (const char *triple_cstr, Platform *platform);
     
     //------------------------------------------------------------------
     /// Returns the default endianness of the architecture.

Modified: lldb/trunk/include/lldb/Core/STLUtils.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/STLUtils.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/STLUtils.h (original)
+++ lldb/trunk/include/lldb/Core/STLUtils.h Thu Apr  7 17:46:35 2011
@@ -11,7 +11,6 @@
 #define liblldb_STLUtils_h_
 #if defined(__cplusplus)
 
-#include "llvm/ADT/StringExtras.h"
 #include <string.h>
 
 #include <map>
@@ -62,15 +61,6 @@
     }
 };
 
-struct StdStringHash
-{
-    size_t operator()( const std::string& x ) const
-    {
-        return llvm::HashString(x);
-    }
-};
-
-
 template <class T>
 inline void PrintAllCollectionElements (std::ostream &s, const T& coll, const char* header_cstr=NULL, const char* separator_cstr=" ")
 {

Modified: lldb/trunk/include/lldb/Expression/ClangExpressionDeclMap.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ClangExpressionDeclMap.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Expression/ClangExpressionDeclMap.h (original)
+++ lldb/trunk/include/lldb/Expression/ClangExpressionDeclMap.h Thu Apr  7 17:46:35 2011
@@ -19,6 +19,7 @@
 
 // Other libraries and framework includes
 // Project includes
+#include "llvm/ADT/APInt.h"
 #include "llvm/ADT/DenseMap.h"
 #include "lldb/lldb-public.h"
 #include "lldb/Core/ClangForward.h"

Modified: lldb/trunk/include/lldb/Interpreter/Options.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Interpreter/Options.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Interpreter/Options.h (original)
+++ lldb/trunk/include/lldb/Interpreter/Options.h Thu Apr  7 17:46:35 2011
@@ -73,7 +73,7 @@
 ///             return error;
 ///         }
 ///
-///         CommandOptions () : debug (true), verbose (false), log_file (), log_flags (0)
+///         CommandOptions (CommandInterpreter &interpreter) : debug (true), verbose (false), log_file (), log_flags (0)
 ///         {}
 ///
 ///         bool debug;
@@ -112,7 +112,7 @@
 {
 public:
 
-    Options ();
+    Options (CommandInterpreter &interpreter);
 
     virtual
     ~Options ();
@@ -157,8 +157,7 @@
                               uint32_t output_max_columns);
 
     void
-    GenerateOptionUsage (CommandInterpreter &interpreter,
-                         Stream &strm,
+    GenerateOptionUsage (Stream &strm,
                          CommandObject *cmd);
 
     // The following two pure virtual functions must be defined by every class that inherits from
@@ -227,8 +226,7 @@
     ///     \btrue if we were in an option, \bfalse otherwise.
     //------------------------------------------------------------------
     bool
-    HandleOptionCompletion (CommandInterpreter &interpreter,
-                            Args &input,
+    HandleOptionCompletion (Args &input,
                             OptionElementVector &option_map,
                             int cursor_index,
                             int char_pos,
@@ -277,8 +275,7 @@
     ///     \btrue if we were in an option, \bfalse otherwise.
     //------------------------------------------------------------------
     virtual bool
-    HandleOptionArgumentCompletion (CommandInterpreter &interpreter,
-                                    Args &input,
+    HandleOptionArgumentCompletion (Args &input,
                                     int cursor_index,
                                     int char_pos,
                                     OptionElementVector &opt_element_vector,
@@ -293,6 +290,7 @@
     typedef std::set<char> OptionSet;
     typedef std::vector<OptionSet> OptionSetVector;
 
+    CommandInterpreter &m_interpreter;
     std::vector<struct option> m_getopt_table;
     OptionSet m_seen_options;
     OptionSetVector m_required_options;

Modified: lldb/trunk/include/lldb/Target/Target.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Target.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Target.h (original)
+++ lldb/trunk/include/lldb/Target/Target.h Thu Apr  7 17:46:35 2011
@@ -22,6 +22,7 @@
 #include "lldb/Core/Event.h"
 #include "lldb/Core/ModuleList.h"
 #include "lldb/Core/UserSettingsController.h"
+#include "lldb/Expression/ClangPersistentVariables.h"
 #include "lldb/Symbol/SymbolContext.h"
 #include "lldb/Target/ABI.h"
 #include "lldb/Target/ExecutionContextScope.h"

Modified: lldb/trunk/include/lldb/lldb-forward.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-forward.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/include/lldb/lldb-forward.h (original)
+++ lldb/trunk/include/lldb/lldb-forward.h Thu Apr  7 17:46:35 2011
@@ -51,6 +51,7 @@
 class   ClangExpressionVariableList;
 class   ClangExpressionVariables;
 class   ClangPersistentVariables;
+class   ClangUserExpression;
 class   CommandInterpreter;
 class   CommandObject;
 class   CommandReturnObject;

Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)
+++ lldb/trunk/lldb.xcodeproj/project.pbxproj Thu Apr  7 17:46:35 2011
@@ -2716,8 +2716,8 @@
 			files = (
 			);
 			inputPaths = (
+				"$(LLVM_SOURCE_DIR)",
 				"$(LLVM_BUILD_DIR)",
-				"$(SRCROOT)/scripts/build-llvm.pl",
 			);
 			name = "Build llvm and clang";
 			outputPaths = (
@@ -3170,10 +3170,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = (
-					x86_64,
-					i386,
-				);
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PREPROCESSOR_DEFINITIONS = (
@@ -3192,6 +3189,10 @@
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
+				LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
+				LLVM_BUILD_DIR_ARCH = "";
+				LLVM_CONFIGURATION = Release;
+				LLVM_SOURCE_DIR = "$(SRCROOT)/llvm";
 				ONLY_ACTIVE_ARCH = YES;
 				PREBINDING = NO;
 				VALID_ARCHS = "x86_64 i386";
@@ -3202,10 +3203,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = (
-					x86_64,
-					i386,
-				);
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					__STDC_CONSTANT_MACROS,
@@ -3223,6 +3221,10 @@
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
+				LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
+				LLVM_BUILD_DIR_ARCH = "";
+				LLVM_CONFIGURATION = Release;
+				LLVM_SOURCE_DIR = "$(SRCROOT)/llvm";
 				PREBINDING = NO;
 				VALID_ARCHS = "x86_64 i386";
 			};
@@ -3235,11 +3237,9 @@
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				INSTALL_PATH = /Developer/usr/bin;
 				ONLY_ACTIVE_ARCH = NO;
-				PREBINDING = NO;
 				PRODUCT_NAME = "darwin-debug";
 			};
 			name = Debug;
@@ -3251,12 +3251,9 @@
 				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_MODEL_TUNING = G5;
 				INSTALL_PATH = /Developer/usr/bin;
 				ONLY_ACTIVE_ARCH = NO;
-				PREBINDING = NO;
 				PRODUCT_NAME = "darwin-debug";
-				ZERO_LINK = NO;
 			};
 			name = Release;
 		};
@@ -3266,10 +3263,8 @@
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_MODEL_TUNING = G5;
 				INSTALL_PATH = /Developer/usr/bin;
 				ONLY_ACTIVE_ARCH = NO;
-				PREBINDING = NO;
 				PRODUCT_NAME = "darwin-debug";
 			};
 			name = BuildAndIntegration;
@@ -3305,8 +3300,6 @@
 					"$(inherited)",
 					"$(LLVM_BUILD_DIR)",
 				);
-				LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
-				LLVM_CONFIGURATION = Release;
 				OTHER_CFLAGS = "-Wparentheses";
 				OTHER_CPLUSPLUSFLAGS = (
 					"-fno-rtti",
@@ -3319,9 +3312,8 @@
 					"-framework",
 					AppKit,
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = LLDB;
-				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";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			name = Debug;
@@ -3357,8 +3349,6 @@
 					"$(inherited)",
 					"$(LLVM_BUILD_DIR)",
 				);
-				LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
-				LLVM_CONFIGURATION = Release;
 				OTHER_CFLAGS = "-Wparentheses";
 				OTHER_CPLUSPLUSFLAGS = (
 					"-fno-rtti",
@@ -3371,18 +3361,15 @@
 					"-framework",
 					AppKit,
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = LLDB;
-				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";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
-				ZERO_LINK = NO;
 			};
 			name = Release;
 		};
 		2689FFD513353D7A00698AC0 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				COPY_PHASE_STRIP = NO;
 				CURRENT_PROJECT_VERSION = 46;
 				DYLIB_CURRENT_VERSION = 46;
@@ -3403,8 +3390,6 @@
 					"$(inherited)",
 					"$(LLVM_BUILD_DIR)",
 				);
-				LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
-				LLVM_CONFIGURATION = Release;
 				MACH_O_TYPE = staticlib;
 				MACOSX_DEPLOYMENT_TARGET = 10.6;
 				OTHER_CFLAGS = "-Wparentheses";
@@ -3416,7 +3401,7 @@
 				OTHER_LDFLAGS = "-lllvmclang";
 				PRODUCT_NAME = "lib$(TARGET_NAME)";
 				STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
-				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/source $(SRCROOT)/source/Plugins/Process/Utility $(SRCROOT)/include $(SRCROOT)/source/Host/macosx/cfcpp $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			name = Debug;
@@ -3424,7 +3409,6 @@
 		2689FFD613353D7A00698AC0 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				COPY_PHASE_STRIP = YES;
 				CURRENT_PROJECT_VERSION = 46;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -3446,8 +3430,6 @@
 					"$(inherited)",
 					"$(LLVM_BUILD_DIR)",
 				);
-				LLVM_BUILD_DIR = "$(SRCROOT)/llvm";
-				LLVM_CONFIGURATION = Release;
 				MACH_O_TYPE = staticlib;
 				MACOSX_DEPLOYMENT_TARGET = 10.6;
 				OTHER_CFLAGS = "-Wparentheses";
@@ -3459,7 +3441,7 @@
 				OTHER_LDFLAGS = "-lllvmclang";
 				PRODUCT_NAME = "lib$(TARGET_NAME)";
 				STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
-				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/source $(SRCROOT)/source/Plugins/Process/Utility $(SRCROOT)/include $(SRCROOT)/source/Host/macosx/cfcpp $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			name = Release;
@@ -3467,7 +3449,6 @@
 		2689FFD713353D7A00698AC0 /* BuildAndIntegration */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				COPY_PHASE_STRIP = YES;
 				CURRENT_PROJECT_VERSION = 46;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -3489,8 +3470,6 @@
 					"$(inherited)",
 					"$(LLVM_BUILD_DIR)",
 				);
-				LLVM_BUILD_DIR = "$(DERIVED_FILE_DIR)/llvm.build";
-				LLVM_CONFIGURATION = Release;
 				MACH_O_TYPE = staticlib;
 				MACOSX_DEPLOYMENT_TARGET = 10.6;
 				OTHER_CFLAGS = "-Wparentheses";
@@ -3502,7 +3481,7 @@
 				OTHER_LDFLAGS = "-lllvmclang";
 				PRODUCT_NAME = "lib$(TARGET_NAME)";
 				STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
-				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/source $(SRCROOT)/source/Plugins/Process/Utility $(SRCROOT)/include $(SRCROOT)/source/Host/macosx/cfcpp $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			name = BuildAndIntegration;
@@ -3511,10 +3490,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = (
-					x86_64,
-					i386,
-				);
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					__STDC_CONSTANT_MACROS,
@@ -3532,6 +3508,10 @@
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_UNUSED_VALUE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
+				LLVM_BUILD_DIR = "$(OBJROOT)/llvm";
+				LLVM_BUILD_DIR_ARCH = "$(CURRENT_ARCH)/";
+				LLVM_CONFIGURATION = Release;
+				LLVM_SOURCE_DIR = "$(SRCROOT)/llvm";
 				PREBINDING = NO;
 				VALID_ARCHS = "x86_64 i386";
 			};
@@ -3549,7 +3529,6 @@
 				);
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
-				GCC_MODEL_TUNING = G5;
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				HEADER_SEARCH_PATHS = "";
 				INFOPLIST_FILE = "lldb-Info.plist";
@@ -3563,11 +3542,9 @@
 					"$(PROJECT_DIR)/tools/driver/lldb-Info.plist",
 					"-Wl,-rpath, at loader_path/../../Library/PrivateFrameworks/",
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = lldb;
-				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";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
-				ZERO_LINK = NO;
 			};
 			name = BuildAndIntegration;
 		};
@@ -3602,8 +3579,6 @@
 					"$(inherited)",
 					"$(LLVM_BUILD_DIR)",
 				);
-				LLVM_BUILD_DIR = "$(DERIVED_FILE_DIR)/llvm.build";
-				LLVM_CONFIGURATION = Release;
 				OTHER_CFLAGS = "-Wparentheses";
 				OTHER_CPLUSPLUSFLAGS = (
 					"-fno-rtti",
@@ -3616,11 +3591,9 @@
 					"-framework",
 					AppKit,
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = LLDB;
-				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";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
-				ZERO_LINK = NO;
 			};
 			name = BuildAndIntegration;
 		};
@@ -3636,7 +3609,6 @@
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
-				GCC_MODEL_TUNING = G5;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				INSTALL_PATH = /usr/local/bin;
@@ -3646,9 +3618,8 @@
 					"-framework",
 					AppKit,
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = "lldb-platform";
-				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include $(SRCROOT)/source/Plugins/Process/gdb-remote $(SRCROOT)/source";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 			};
 			name = Debug;
 		};
@@ -3664,7 +3635,6 @@
 				);
 				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
-				GCC_MODEL_TUNING = G5;
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				INSTALL_PATH = /usr/local/bin;
 				OTHER_LDFLAGS = (
@@ -3673,10 +3643,8 @@
 					"-framework",
 					AppKit,
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = "lldb-platform";
-				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include $(SRCROOT)/source/Plugins/Process/gdb-remote $(SRCROOT)/source";
-				ZERO_LINK = NO;
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 			};
 			name = Release;
 		};
@@ -3690,7 +3658,6 @@
 				);
 				GCC_ENABLE_CPP_RTTI = NO;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
-				GCC_MODEL_TUNING = G5;
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				INSTALL_PATH = /usr/local/bin;
 				OTHER_LDFLAGS = (
@@ -3699,9 +3666,8 @@
 					"-framework",
 					AppKit,
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = "lldb-platform";
-				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/llvm/include $(SRCROOT)/llvm/tools/clang/include $(LLVM_BUILD_DIR)/llvm/include $(LLVM_BUILD_DIR)/llvm/tools/clang/include $(SRCROOT)/source/Plugins/Process/gdb-remote $(SRCROOT)/source";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 			};
 			name = BuildAndIntegration;
 		};
@@ -3718,7 +3684,6 @@
 				);
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
-				GCC_MODEL_TUNING = G5;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				HEADER_SEARCH_PATHS = "";
@@ -3733,9 +3698,8 @@
 					"$(PROJECT_DIR)/tools/driver/lldb-Info.plist",
 					"-Wl,-rpath, at loader_path/",
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = lldb;
-				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";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			name = Debug;
@@ -3743,10 +3707,6 @@
 		26F5C26D10F3D9A5009D5894 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = (
-					x86_64,
-					i386,
-				);
 				CODE_SIGN_IDENTITY = lldb_codesign;
 				COPY_PHASE_STRIP = YES;
 				CURRENT_PROJECT_VERSION = 46;
@@ -3757,7 +3717,6 @@
 				);
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
-				GCC_MODEL_TUNING = G5;
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				HEADER_SEARCH_PATHS = "";
 				INFOPLIST_FILE = "lldb-Info.plist";
@@ -3771,11 +3730,9 @@
 					"$(PROJECT_DIR)/tools/driver/lldb-Info.plist",
 					"-Wl,-rpath, at loader_path/",
 				);
-				PREBINDING = NO;
 				PRODUCT_NAME = lldb;
-				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";
+				USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/include $(SRCROOT)/source $(LLVM_SOURCE_DIR)/include $(LLVM_SOURCE_DIR)/tools/clang/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/include $(LLVM_BUILD_DIR)/$(LLVM_BUILD_DIR_ARCH)/tools/clang/include";
 				VERSIONING_SYSTEM = "apple-generic";
-				ZERO_LINK = NO;
 			};
 			name = Release;
 		};

Modified: lldb/trunk/scripts/build-llvm.pl
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/build-llvm.pl?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/scripts/build-llvm.pl (original)
+++ lldb/trunk/scripts/build-llvm.pl Thu Apr  7 17:46:35 2011
@@ -13,7 +13,8 @@
 use File::Glob ':glob';
 use List::Util qw[min max];
 
-our $llvm_dstroot = $ENV{SCRIPT_INPUT_FILE_0};
+our $llvm_srcroot = $ENV{SCRIPT_INPUT_FILE_0};
+our $llvm_dstroot = $ENV{SCRIPT_INPUT_FILE_1};
 
 our $libedis_outfile = $ENV{SCRIPT_OUTPUT_FILE_0};
 our ($libedis_basename, $libedis_dirname) = fileparse ($libedis_outfile);
@@ -27,8 +28,6 @@
 
 our $llvm_revision = "128303";
 our $llvm_source_dir = "$ENV{SRCROOT}";
-our $cc = "$ENV{DEVELOPER_BIN_DIR}/gcc-4.2";
-our $cxx = "$ENV{DEVELOPER_BIN_DIR}/g++-4.2";
 our @archs = split (/\s+/, $ENV{ARCHS});
 
 our @archive_files = (  
@@ -84,7 +83,7 @@
     "$llvm_configuration/lib/libLLVMX86Utils.a",
 );
 
-if (-l $llvm_dstroot)
+if (-e "$llvm_srcroot/lib")
 {
 	print "Using standard LLVM build directory...\n";
 	# LLVM in the "lldb" root is a symlink which indicates we are using a 
@@ -230,7 +229,7 @@
 	        print "Configuring clang ($arch) in '$llvm_dstroot_arch'...\n";
 			my $lldb_configuration_options = '';
 			$llvm_configuration eq 'Release' and $lldb_configuration_options .= '--enable-optimized --disable-assertions';
-	        do_command ("cd '$llvm_dstroot_arch' && '$llvm_source_dir/llvm/configure' $lldb_configuration_options --enable-targets=x86_64,arm --build=$arch-apple-darwin10 CC=\"$cc -arch $arch\" CXX=\"$cxx -arch $arch\"",
+	        do_command ("cd '$llvm_dstroot_arch' && '$llvm_source_dir/llvm/configure' $lldb_configuration_options --enable-targets=x86_64,arm --build=$arch-apple-darwin10",
 	                    "configuring llvm build", 1);			
 		}
 

Modified: lldb/trunk/source/API/SBDebugger.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBDebugger.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/API/SBDebugger.cpp (original)
+++ lldb/trunk/source/API/SBDebugger.cpp Thu Apr  7 17:46:35 2011
@@ -358,7 +358,7 @@
 {
     if (arch_name)
     {
-        ArchSpec arch (arch_name);
+        ArchSpec arch (arch_name, NULL);
         if (arch.IsValid())
         {
             lldb_private::Target::SetDefaultArchitecture (arch);
@@ -425,7 +425,7 @@
     {
         ArchSpec arch;
         FileSpec file_spec (filename, true);
-        arch.SetTriple (target_triple);
+        arch.SetTriple (target_triple, m_opaque_sp->GetPlatformList().GetSelectedPlatform().get());
         TargetSP target_sp;
         Error error (m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file_spec, arch, true, target_sp));
         target.reset (target_sp);
@@ -455,7 +455,7 @@
         Error error;
 
         if (arch_cstr)
-            arch.SetTriple (arch_cstr);
+            arch.SetTriple (arch_cstr, m_opaque_sp->GetPlatformList().GetSelectedPlatform().get());
 
         error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, true, target_sp);
 
@@ -534,7 +534,7 @@
     if (m_opaque_sp && filename && filename[0])
     {
         // No need to lock, the target list is thread safe
-        ArchSpec arch (arch_name);
+        ArchSpec arch (arch_name, m_opaque_sp->GetPlatformList().GetSelectedPlatform().get());
         TargetSP target_sp (m_opaque_sp->GetTargetList().FindTargetWithExecutableAndArchitecture (FileSpec(filename, false), arch_name ? &arch : NULL));
         sb_target.reset(target_sp);
     }

Modified: lldb/trunk/source/API/SBInstruction.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBInstruction.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/API/SBInstruction.cpp (original)
+++ lldb/trunk/source/API/SBInstruction.cpp Thu Apr  7 17:46:35 2011
@@ -140,7 +140,7 @@
 {
     if (m_opaque_sp && triple)
     {
-        lldb_private::ArchSpec arch (triple);
+        lldb_private::ArchSpec arch (triple, NULL);
         
         return m_opaque_sp->Emulate (arch, 
                                      NULL,

Modified: lldb/trunk/source/Commands/CommandObjectArgs.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectArgs.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectArgs.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectArgs.cpp Thu Apr  7 17:46:35 2011
@@ -36,8 +36,8 @@
 // calling functions.
 //
 
-CommandObjectArgs::CommandOptions::CommandOptions () :
-    Options()
+CommandObjectArgs::CommandOptions::CommandOptions (CommandInterpreter &interpreter) :
+    Options(m_interpreter)
 {
     // Keep only one place to reset the values to their defaults
     ResetOptionValues();
@@ -80,7 +80,8 @@
     CommandObject (interpreter, 
                    "args",
                    "When stopped at the start of a function, reads function arguments of type (u?)int(8|16|32|64)_t, (void|char)*",
-                   "args")
+                   "args"),
+    m_options (interpreter)
 {
 }
 

Modified: lldb/trunk/source/Commands/CommandObjectArgs.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectArgs.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectArgs.h (original)
+++ lldb/trunk/source/Commands/CommandObjectArgs.h Thu Apr  7 17:46:35 2011
@@ -28,7 +28,7 @@
         {
         public:
             
-            CommandOptions ();
+            CommandOptions (CommandInterpreter &interpreter);
             
             virtual
             ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectBreakpoint.cpp Thu Apr  7 17:46:35 2011
@@ -47,8 +47,8 @@
 //-------------------------------------------------------------------------
 #pragma mark Set::CommandOptions
 
-CommandObjectBreakpointSet::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointSet::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_filename (),
     m_line_num (0),
     m_column (0),
@@ -259,7 +259,8 @@
     CommandObject (interpreter,
                    "breakpoint set", 
                    "Sets a breakpoint or set of breakpoints in the executable.", 
-                   "breakpoint set <cmd-options>")
+                   "breakpoint set <cmd-options>"),
+    m_options (interpreter)
 {
 }
 
@@ -637,8 +638,8 @@
 //-------------------------------------------------------------------------
 #pragma mark List::CommandOptions
 
-CommandObjectBreakpointList::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointList::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_level (lldb::eDescriptionLevelBrief)  // Breakpoint List defaults to brief descriptions
 {
 }
@@ -717,7 +718,8 @@
     CommandObject (interpreter, 
                    "breakpoint list",
                    "List some or all breakpoints at configurable levels of detail.",
-                   NULL)
+                   NULL),
+    m_options (interpreter)
 {
     CommandArgumentEntry arg;
     CommandArgumentData bp_id_arg;
@@ -1045,8 +1047,8 @@
 //-------------------------------------------------------------------------
 #pragma mark Clear::CommandOptions
 
-CommandObjectBreakpointClear::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointClear::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_filename (),
     m_line_num (0)
 {
@@ -1114,7 +1116,8 @@
     CommandObject (interpreter,
                    "breakpoint clear", 
                    "Clears a breakpoint or set of breakpoints in the executable.", 
-                   "breakpoint clear <cmd-options>")
+                   "breakpoint clear <cmd-options>"),
+    m_options (interpreter)
 {
 }
 
@@ -1348,8 +1351,8 @@
 //-------------------------------------------------------------------------
 #pragma mark Modify::CommandOptions
 
-CommandObjectBreakpointModify::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointModify::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_ignore_count (0),
     m_thread_id(LLDB_INVALID_THREAD_ID),
     m_thread_id_passed(false),
@@ -1504,7 +1507,8 @@
                    "Modify the options on a breakpoint or set of breakpoints in the executable.  "
                    "If no breakpoint is specified, acts on the last created breakpoint.  "
                    "With the exception of -e, -d and -i, passing an empty argument clears the modification.", 
-                   NULL)
+                   NULL),
+    m_options (interpreter)
 {
     CommandArgumentEntry arg;
     CommandArgumentData bp_id_arg;

Modified: lldb/trunk/source/Commands/CommandObjectBreakpoint.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectBreakpoint.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectBreakpoint.h (original)
+++ lldb/trunk/source/Commands/CommandObjectBreakpoint.h Thu Apr  7 17:46:35 2011
@@ -76,7 +76,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();
@@ -142,7 +142,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();
@@ -243,7 +243,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();
@@ -303,7 +303,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectBreakpointCommand.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectBreakpointCommand.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectBreakpointCommand.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectBreakpointCommand.cpp Thu Apr  7 17:46:35 2011
@@ -31,8 +31,8 @@
 // CommandObjectBreakpointCommandAdd::CommandOptions
 //-------------------------------------------------------------------------
 
-CommandObjectBreakpointCommandAdd::CommandOptions::CommandOptions () :
-    Options (),
+CommandObjectBreakpointCommandAdd::CommandOptions::CommandOptions (CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_use_commands (false),
     m_use_script_language (false),
     m_script_language (eScriptLanguageNone),
@@ -153,7 +153,8 @@
     CommandObject (interpreter,
                    "add",
                    "Add a set of commands to a breakpoint, to be executed whenever the breakpoint is hit.",
-                   NULL)
+                   NULL),
+    m_options (interpreter)
 {
     SetHelpLong (
 "\nGeneral information about entering breakpoint commands \n\

Modified: lldb/trunk/source/Commands/CommandObjectBreakpointCommand.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectBreakpointCommand.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectBreakpointCommand.h (original)
+++ lldb/trunk/source/Commands/CommandObjectBreakpointCommand.h Thu Apr  7 17:46:35 2011
@@ -95,7 +95,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectCommands.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectCommands.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectCommands.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectCommands.cpp Thu Apr  7 17:46:35 2011
@@ -34,7 +34,10 @@
     {
     public:
 
-        CommandOptions (){}
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter)
+        {
+        }
 
         virtual
         ~CommandOptions (){}
@@ -106,7 +109,8 @@
         CommandObject (interpreter,
                        "commands source",
                        "Read in debugger commands from the file <filename> and execute them.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData file_arg;

Modified: lldb/trunk/source/Commands/CommandObjectDisassemble.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectDisassemble.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectDisassemble.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectDisassemble.cpp Thu Apr  7 17:46:35 2011
@@ -32,8 +32,8 @@
 using namespace lldb;
 using namespace lldb_private;
 
-CommandObjectDisassemble::CommandOptions::CommandOptions () :
-    Options(),
+CommandObjectDisassemble::CommandOptions::CommandOptions (CommandInterpreter &interpreter) :
+    Options(m_interpreter),
     num_lines_context(0),
     num_instructions (0),
     func_name(),
@@ -128,7 +128,7 @@
         break;
 
     case 'a':
-        arch.SetTriple (option_arg);
+        arch.SetTriple (option_arg, m_interpreter.GetDebugger().GetPlatformList().GetSelectedPlatform().get());
         break;
 
     default:
@@ -195,7 +195,8 @@
     CommandObject (interpreter,
                    "disassemble",
                    "Disassemble bytes in the current function, or elsewhere in the executable program as specified by the user.",
-                   "disassemble [<cmd-options>]")
+                   "disassemble [<cmd-options>]"),
+    m_options (interpreter)
 {
 }
 
@@ -248,10 +249,7 @@
     if (command.GetArgumentCount() != 0)
     {
         result.AppendErrorWithFormat ("\"disassemble\" arguments are specified as options.\n");
-        GetOptions()->GenerateOptionUsage (m_interpreter,
-                                           result.GetErrorStream(), 
-                                           this);
-
+        GetOptions()->GenerateOptionUsage (result.GetErrorStream(), this);
         result.SetStatus (eReturnStatusFailed);
         return false;
     }

Modified: lldb/trunk/source/Commands/CommandObjectDisassemble.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectDisassemble.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectDisassemble.h (original)
+++ lldb/trunk/source/Commands/CommandObjectDisassemble.h Thu Apr  7 17:46:35 2011
@@ -30,7 +30,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectExpression.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectExpression.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectExpression.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectExpression.cpp Thu Apr  7 17:46:35 2011
@@ -37,8 +37,8 @@
 using namespace lldb;
 using namespace lldb_private;
 
-CommandObjectExpression::CommandOptions::CommandOptions () :
-    Options()
+CommandObjectExpression::CommandOptions::CommandOptions (CommandInterpreter &interpreter) :
+    Options(m_interpreter)
 {
     // Keep only one place to reset the values to their defaults
     ResetOptionValues();
@@ -115,6 +115,7 @@
                    "expression",
                    "Evaluate a C/ObjC/C++ expression in the current program context, using variables currently in scope.",
                    NULL),
+    m_options (interpreter),
     m_expr_line_count (0),
     m_expr_lines ()
 {

Modified: lldb/trunk/source/Commands/CommandObjectExpression.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectExpression.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectExpression.h (original)
+++ lldb/trunk/source/Commands/CommandObjectExpression.h Thu Apr  7 17:46:35 2011
@@ -29,7 +29,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectFile.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectFile.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectFile.cpp Thu Apr  7 17:46:35 2011
@@ -25,8 +25,8 @@
 using namespace lldb;
 using namespace lldb_private;
 
-CommandObjectFile::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectFile::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_arch ()  // Breakpoint info defaults to brief descriptions
 {
 }
@@ -58,7 +58,8 @@
     {
         case 'a':
             {
-                ArchSpec option_arch (option_arg);
+                PlatformSP platform_sp (m_interpreter.GetDebugger().GetPlatformList().GetSelectedPlatform());
+                ArchSpec option_arch (option_arg, platform_sp.get());
                 if (option_arch.IsValid())
                     m_arch = option_arch;
                 else
@@ -88,7 +89,8 @@
     CommandObject (interpreter,
                    "file",
                    "Set the file to be used as the main executable by the debugger.",
-                   NULL)
+                   NULL),
+    m_options (interpreter)
 {
     CommandArgumentEntry arg;
     CommandArgumentData file_arg;

Modified: lldb/trunk/source/Commands/CommandObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectFile.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectFile.h (original)
+++ lldb/trunk/source/Commands/CommandObjectFile.h Thu Apr  7 17:46:35 2011
@@ -44,7 +44,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectFrame.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectFrame.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectFrame.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectFrame.cpp Thu Apr  7 17:46:35 2011
@@ -99,8 +99,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter)
         {
             ResetOptionValues ();
         }
@@ -155,7 +155,8 @@
                        "frame select",
                        "Select a frame by index from within the current thread and make it the current frame.",
                        NULL,
-                       eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
+                       eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData index_arg;
@@ -224,7 +225,7 @@
                 else
                 {
                     result.AppendError ("invalid arguments.\n");
-                    m_options.GenerateOptionUsage (m_interpreter, result.GetErrorStream(), this);
+                    m_options.GenerateOptionUsage (result.GetErrorStream(), this);
                 }
             }
                 
@@ -289,8 +290,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter)
         {
             ResetOptionValues ();
         }
@@ -407,7 +408,8 @@
                        "Children of aggregate variables can be specified such as "
                        "'var->child.x'.",
                        NULL,
-                       eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
+                       eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData var_name_arg;

Modified: lldb/trunk/source/Commands/CommandObjectHelp.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectHelp.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectHelp.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectHelp.cpp Thu Apr  7 17:46:35 2011
@@ -140,7 +140,7 @@
                     else
                         m_interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
                     output_strm.Printf ("\nSyntax: %s\n", sub_cmd_obj->GetSyntax());
-                    sub_cmd_obj->GetOptions()->GenerateOptionUsage (m_interpreter, output_strm, sub_cmd_obj);
+                    sub_cmd_obj->GetOptions()->GenerateOptionUsage (output_strm, sub_cmd_obj);
                     const char *long_help = sub_cmd_obj->GetHelpLong();
                     if ((long_help != NULL)
                         && (strlen (long_help) > 0))

Modified: lldb/trunk/source/Commands/CommandObjectImage.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectImage.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectImage.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectImage.cpp Thu Apr  7 17:46:35 2011
@@ -603,7 +603,8 @@
         CommandObjectImageDumpModuleList (interpreter,
                                           "image dump symtab",
                                           "Dump the symbol table from one or more executable images.",
-                                           NULL)
+                                           NULL),
+        m_options (interpreter)
     {
     }
 
@@ -719,8 +720,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options(),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter),
             m_sort_order (eSortOrderNone)
         {
         }
@@ -1140,8 +1141,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options(),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter),
             m_format_array()
         {
         }
@@ -1188,7 +1189,8 @@
         CommandObject (interpreter,
                        "image list",
                        "List current executable and dependent shared library images.",
-                       "image list [<cmd-options>]")
+                       "image list [<cmd-options>]"),
+        m_options (interpreter)
     {
     }
 
@@ -1346,8 +1348,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter)
         {
             ResetOptionValues();
         }
@@ -1463,7 +1465,8 @@
         CommandObject (interpreter,
                        "image lookup",
                        "Look up information within executable and dependent shared library images.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData file_arg;
@@ -1572,7 +1575,7 @@
             break;
 
         default:
-            m_options.GenerateOptionUsage (m_interpreter, result.GetErrorStream(), this);
+            m_options.GenerateOptionUsage (result.GetErrorStream(), this);
             syntax_error = true;
             break;
         }

Modified: lldb/trunk/source/Commands/CommandObjectLog.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectLog.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectLog.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectLog.cpp Thu Apr  7 17:46:35 2011
@@ -62,7 +62,8 @@
         CommandObject (interpreter,
                        "log enable",
                        "Enable logging for a single log channel.",
-                        NULL)
+                        NULL),
+        m_options (interpreter)
     {
 
         CommandArgumentEntry arg1;
@@ -168,8 +169,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options (),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter),
             log_file (),
             log_options (0)
         {

Modified: lldb/trunk/source/Commands/CommandObjectMemory.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectMemory.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectMemory.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectMemory.cpp Thu Apr  7 17:46:35 2011
@@ -36,8 +36,8 @@
     class CommandOptions : public Options
     {
     public:
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             ResetOptionValues();
         }
@@ -198,7 +198,8 @@
                        "memory read",
                        "Read from the memory of the process being debugged.",
                        NULL,
-                       eFlagProcessMustBeLaunched)
+                       eFlagProcessMustBeLaunched),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg1;
         CommandArgumentEntry arg2;
@@ -434,8 +435,8 @@
     class CommandOptions : public Options
     {
     public:
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             ResetOptionValues();
         }
@@ -521,7 +522,8 @@
                        "Write to the memory of the process being debugged.",
                        //"memory write [<cmd-options>] <addr> [value1 value2 ...]",
                        NULL,
-                       eFlagProcessMustBeLaunched)
+                       eFlagProcessMustBeLaunched),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg1;
         CommandArgumentEntry arg2;

Modified: lldb/trunk/source/Commands/CommandObjectPlatform.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectPlatform.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectPlatform.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectPlatform.cpp Thu Apr  7 17:46:35 2011
@@ -19,8 +19,10 @@
 #include "lldb/Interpreter/Args.h"
 #include "lldb/Interpreter/CommandInterpreter.h"
 #include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Interpreter/Options.h"
 #include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/Platform.h"
+#include "lldb/Target/Process.h"
 
 using namespace lldb;
 using namespace lldb_private;
@@ -36,7 +38,8 @@
                        "platform create",
                        "Create a platform instance by name and select it as the current platform.",
                        "platform create <platform-name>",
-                       0)
+                       0),
+        m_options (interpreter)
     {
     }
 
@@ -86,7 +89,8 @@
     {
     public:
 
-        CommandOptions () :
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter),
             os_version_major (UINT32_MAX),
             os_version_minor (UINT32_MAX),
             os_version_update (UINT32_MAX)
@@ -418,11 +422,12 @@
 {
 public:
     CommandObjectPlatformProcessList (CommandInterpreter &interpreter) :
-    CommandObject (interpreter, 
-                   "platform process list",
-                   "List processes on a remote platform by name, pid, or many other matching attributes.",
-                   "platform process list",
-                   0)
+        CommandObject (interpreter, 
+                       "platform process list",
+                       "List processes on a remote platform by name, pid, or many other matching attributes.",
+                       "platform process list",
+                       0),
+        m_options (interpreter)
     {
     }
     
@@ -529,7 +534,8 @@
     {
     public:
         
-        CommandOptions () :
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter),
             match_info ()
         {
         }
@@ -585,7 +591,7 @@
                     break;
 
                 case 'a':
-                    match_info.GetProcessInfo().GetArchitecture().SetTriple (option_arg);
+                    match_info.GetProcessInfo().GetArchitecture().SetTriple (option_arg, m_interpreter.GetDebugger().GetPlatformList().GetSelectedPlatform().get());
                     break;
 
                 case 'n':

Modified: lldb/trunk/source/Commands/CommandObjectProcess.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectProcess.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectProcess.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectProcess.cpp Thu Apr  7 17:46:35 2011
@@ -40,8 +40,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -121,7 +121,8 @@
         CommandObject (interpreter,
                        "process launch",
                        "Launch the executable in the debugger.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData run_args_arg;
@@ -433,8 +434,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -494,8 +495,7 @@
         }
 
         virtual bool
-        HandleOptionArgumentCompletion (CommandInterpreter &interpeter, 
-                                        Args &input,
+        HandleOptionArgumentCompletion (Args &input,
                                         int cursor_index,
                                         int char_pos,
                                         OptionElementVector &opt_element_vector,
@@ -521,7 +521,7 @@
                 const char *partial_name = NULL;
                 partial_name = input.GetArgumentAtIndex(opt_arg_pos);
 
-                PlatformSP platform_sp (interpeter.GetDebugger().GetPlatformList().GetSelectedPlatform ());
+                PlatformSP platform_sp (m_interpreter.GetDebugger().GetPlatformList().GetSelectedPlatform ());
                 if (platform_sp)
                 {
                     ProcessInfoList process_infos;
@@ -563,7 +563,8 @@
         CommandObject (interpreter,
                        "process attach",
                        "Attach to a process.",
-                       "process attach <cmd-options>")
+                       "process attach <cmd-options>"),
+        m_options (interpreter)
     {
     }
 
@@ -983,8 +984,8 @@
     {
     public:
         
-        CommandOptions () :
-        Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -1035,11 +1036,12 @@
     };
 
     CommandObjectProcessConnect (CommandInterpreter &interpreter) :
-    CommandObject (interpreter,
-                   "process connect",
-                   "Connect to a remote debug service.",
-                   "process connect <remote-url>",
-                   0)
+        CommandObject (interpreter,
+                       "process connect",
+                       "Connect to a remote debug service.",
+                       "process connect <remote-url>",
+                       0),
+        m_options (interpreter)
     {
     }
     
@@ -1568,8 +1570,8 @@
     {
     public:
         
-        CommandOptions () :
-            Options ()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter)
         {
             ResetOptionValues ();
         }
@@ -1632,7 +1634,8 @@
         CommandObject (interpreter,
                        "process handle",
                        "Show or update what the process and debugger should do with various signals received from the OS.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         SetHelpLong ("If no signals are specified, update them all.  If no update option is specified, list the current values.\n");
         CommandArgumentEntry arg;

Modified: lldb/trunk/source/Commands/CommandObjectRegister.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectRegister.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectRegister.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectRegister.cpp Thu Apr  7 17:46:35 2011
@@ -19,6 +19,7 @@
 #include "lldb/Interpreter/Args.h"
 #include "lldb/Interpreter/CommandInterpreter.h"
 #include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Interpreter/Options.h"
 #include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/RegisterContext.h"
 
@@ -37,7 +38,8 @@
                        "Dump the contents of one or more register values from the current frame.  If no register is specified, dumps them all.",
                        //"register read [<reg-name1> [<reg-name2> [...]]]",
                        NULL,
-                       eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
+                       eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData register_arg;
@@ -154,8 +156,8 @@
     class CommandOptions : public Options
     {
     public:
-        CommandOptions () :
-        Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             ResetOptionValues();
         }

Modified: lldb/trunk/source/Commands/CommandObjectSettings.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectSettings.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectSettings.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectSettings.cpp Thu Apr  7 17:46:35 2011
@@ -66,7 +66,7 @@
                    "settings set",
                    "Set or change the value of a single debugger setting variable.",
                    NULL),
-    m_options ()
+    m_options (interpreter)
 {
     CommandArgumentEntry arg1;
     CommandArgumentEntry arg2;
@@ -237,8 +237,8 @@
 // CommandObjectSettingsSet::CommandOptions
 //-------------------------------------------------------------------------
 
-CommandObjectSettingsSet::CommandOptions::CommandOptions () :
-    Options (),
+CommandObjectSettingsSet::CommandOptions::CommandOptions (CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_override (true),
     m_reset (false)
 {

Modified: lldb/trunk/source/Commands/CommandObjectSettings.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectSettings.h?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectSettings.h (original)
+++ lldb/trunk/source/Commands/CommandObjectSettings.h Thu Apr  7 17:46:35 2011
@@ -59,7 +59,7 @@
     {
     public:
 
-        CommandOptions ();
+        CommandOptions (CommandInterpreter &interpreter);
 
         virtual
         ~CommandOptions ();

Modified: lldb/trunk/source/Commands/CommandObjectSource.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectSource.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectSource.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectSource.cpp Thu Apr  7 17:46:35 2011
@@ -37,8 +37,8 @@
     class CommandOptions : public Options
     {
     public:
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
         }
 
@@ -98,7 +98,8 @@
         CommandObject (interpreter,
                        "source info",
                        "Display information about the source lines from the current executable's debug info.",
-                       "source info [<cmd-options>]")
+                       "source info [<cmd-options>]"),
+        m_options (interpreter)
     {
     }
 
@@ -148,8 +149,8 @@
     class CommandOptions : public Options
     {
     public:
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
         }
 
@@ -227,7 +228,8 @@
         CommandObject (interpreter,
                        "source list",
                        "Display source code (as specified) based on the current executable's debug info.",
-                        NULL)
+                        NULL),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData file_arg;

Modified: lldb/trunk/source/Commands/CommandObjectTarget.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectTarget.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectTarget.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectTarget.cpp Thu Apr  7 17:46:35 2011
@@ -489,8 +489,8 @@
     class CommandOptions : public Options
     {
     public:
-        CommandOptions () :
-            Options(),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter),
             m_line_start(0),
             m_line_end (UINT_MAX),
             m_func_name_type_mask (eFunctionNameTypeAuto),
@@ -634,7 +634,8 @@
         CommandObject (interpreter,
                        "target stop-hook add ",
                        "Add a hook to be executed when the target stops.",
-                       "target stop-hook add")
+                       "target stop-hook add"),
+        m_options (interpreter)
     {
     }
 

Modified: lldb/trunk/source/Commands/CommandObjectThread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectThread.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectThread.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectThread.cpp Thu Apr  7 17:46:35 2011
@@ -249,8 +249,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -325,7 +325,7 @@
                        "Show the stack for one or more threads.  If no threads are specified, show the currently selected thread.  Use the thread-index \"all\" to see all threads.",
                        NULL,
                        eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
-        m_options()
+        m_options(interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData thread_idx_arg;
@@ -487,8 +487,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -575,7 +575,7 @@
         CommandObject (interpreter, name, help, syntax, flags),
         m_step_type (step_type),
         m_step_scope (step_scope),
-        m_options ()
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData thread_id_arg;
@@ -976,8 +976,8 @@
         uint32_t m_thread_idx;
         uint32_t m_frame_idx;
 
-        CommandOptions () :
-            Options(),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter),
             m_thread_idx(LLDB_INVALID_THREAD_ID),
             m_frame_idx(LLDB_INVALID_FRAME_ID)
         {
@@ -1069,7 +1069,7 @@
                        "Run the current or specified thread until it reaches a given line number or leaves the current function.",
                        NULL,
                        eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
-        m_options ()
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData line_num_arg;

Modified: lldb/trunk/source/Core/ArchSpec.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ArchSpec.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Core/ArchSpec.cpp (original)
+++ lldb/trunk/source/Core/ArchSpec.cpp Thu Apr  7 17:46:35 2011
@@ -18,6 +18,7 @@
 #include "llvm/Support/MachO.h"
 #include "lldb/Host/Endian.h"
 #include "lldb/Host/Host.h"
+#include "lldb/Target/Platform.h"
 
 using namespace lldb;
 using namespace lldb_private;
@@ -273,13 +274,13 @@
 {
 }
 
-ArchSpec::ArchSpec (const char *triple_cstr) :
+ArchSpec::ArchSpec (const char *triple_cstr, Platform *platform) :
     m_triple (),
     m_core (kCore_invalid),
     m_byte_order (eByteOrderInvalid)
 {
     if (triple_cstr)
-        SetTriple(triple_cstr);
+        SetTriple(triple_cstr, platform);
 }
 
 ArchSpec::ArchSpec(const llvm::Triple &triple) :
@@ -417,18 +418,10 @@
     if (core_def)
     {
         m_core = core_def->core;
-        m_byte_order = core_def->default_byte_order;
-
-        if (m_triple.getVendor() == llvm::Triple::UnknownVendor &&
-            m_triple.getOS() == llvm::Triple::UnknownOS &&
-            m_triple.getEnvironment() == llvm::Triple::UnknownEnvironment)
-        {
-            llvm::Triple host_triple(llvm::sys::getHostTriple());
-
-            m_triple.setVendor(host_triple.getVendor());
-            m_triple.setOS(host_triple.getOS());
-            m_triple.setEnvironment(host_triple.getEnvironment());
-        }
+        // Set the byte order to the default byte order for an architecture.
+        // This can be modified if needed for cases when cores handle both
+        // big and little endian
+        m_byte_order = core_def->default_byte_order; 
     }
     else
     {
@@ -440,7 +433,7 @@
 }
 
 bool
-ArchSpec::SetTriple (const char *triple_cstr)
+ArchSpec::SetTriple (const char *triple_cstr, Platform *platform)
 {
     if (triple_cstr || triple_cstr[0])
     {
@@ -459,7 +452,46 @@
         {
             std::string normalized_triple_sstr (llvm::Triple::normalize(triple_stref));
             triple_stref = normalized_triple_sstr;
-            SetTriple (llvm::Triple (triple_stref));
+            llvm::Triple normalized_triple (triple_stref);
+            
+            const bool os_specified = normalized_triple.getOSName().size() > 0;
+            const bool vendor_specified = normalized_triple.getVendorName().size() > 0;
+            const bool env_specified = normalized_triple.getEnvironmentName().size() > 0;
+            
+            // If we got an arch only, then default the vendor, os, environment 
+            // to match the platform if one is supplied
+            if (!(os_specified || vendor_specified || env_specified))
+            {
+                if (platform)
+                {
+                    // If we were given a platform, use the platform's system
+                    // architecture. If this is not available (might not be
+                    // connected) use the first supported architecture.
+                    ArchSpec platform_arch (platform->GetSystemArchitecture());
+                    if (!platform_arch.IsValid())
+                    {
+                        if (!platform->GetSupportedArchitectureAtIndex (0, platform_arch))
+                            platform_arch.Clear();
+                    }
+
+                    if (platform_arch.IsValid())
+                    {
+                        normalized_triple.setVendor(platform_arch.GetTriple().getVendor());
+                        normalized_triple.setOS(platform_arch.GetTriple().getOS());
+                        normalized_triple.setEnvironment(platform_arch.GetTriple().getEnvironment());
+                    }
+                }
+                else
+                {
+                    // No platform specified, fall back to the host system for
+                    // the default vendor, os, and environment.
+                    llvm::Triple host_triple(llvm::sys::getHostTriple());
+                    normalized_triple.setVendor(host_triple.getVendor());
+                    normalized_triple.setOS(host_triple.getOS());
+                    normalized_triple.setEnvironment(host_triple.getEnvironment());
+                }
+            }
+            SetTriple (normalized_triple);
         }
     }
     else

Modified: lldb/trunk/source/Core/EmulateInstruction.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/EmulateInstruction.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Core/EmulateInstruction.cpp (original)
+++ lldb/trunk/source/Core/EmulateInstruction.cpp Thu Apr  7 17:46:35 2011
@@ -315,7 +315,7 @@
                                        size_t length)
 {
     PrintContext ("Read from memory", context);
-    fprintf (stdout, "    Read from Memory (address = %p, length = %d)\n",(void *) addr, (uint) length);
+    fprintf (stdout, "    Read from Memory (address = %p, length = %d)\n",(void *) addr, (uint32_t) length);
     
     *((uint64_t *) dst) = 0xdeadbeef;
     return length;
@@ -329,7 +329,7 @@
                                         size_t length)
 {
     PrintContext ("Write to memory", context);
-    fprintf (stdout, "    Write to Memory (address = %p, length = %d)\n",  (void *) addr, (uint) length);
+    fprintf (stdout, "    Write to Memory (address = %p, length = %d)\n",  (void *) addr, (uint32_t) length);
     return length;
 }
 

Modified: lldb/trunk/source/Interpreter/CommandObject.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/CommandObject.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Interpreter/CommandObject.cpp (original)
+++ lldb/trunk/source/Interpreter/CommandObject.cpp Thu Apr  7 17:46:35 2011
@@ -198,7 +198,7 @@
             else
             {
                 // No error string, output the usage information into result
-                options->GenerateOptionUsage (m_interpreter, result.GetErrorStream(), this);
+                options->GenerateOptionUsage (result.GetErrorStream(), this);
             }
             // Set the return status to failed (this was an error).
             result.SetStatus (eReturnStatusFailed);
@@ -356,8 +356,7 @@
             input.DeleteArgumentAtIndex(input.GetArgumentCount() - 1);
 
             bool handled_by_options;
-            handled_by_options = cur_options->HandleOptionCompletion (m_interpreter, 
-                                                                      input,
+            handled_by_options = cur_options->HandleOptionCompletion (input,
                                                                       opt_element_vector,
                                                                       cursor_index,
                                                                       cursor_char_position,
@@ -407,7 +406,7 @@
         && GetOptions() != NULL)
     {
         StreamString usage_help;
-        GetOptions()->GenerateOptionUsage (m_interpreter, usage_help, this);
+        GetOptions()->GenerateOptionUsage (usage_help, this);
         if (usage_help.GetSize() > 0)
         {
             const char *usage_text = usage_help.GetData();

Modified: lldb/trunk/source/Interpreter/Options.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/Options.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Interpreter/Options.cpp (original)
+++ lldb/trunk/source/Interpreter/Options.cpp Thu Apr  7 17:46:35 2011
@@ -29,7 +29,8 @@
 //-------------------------------------------------------------------------
 // Options
 //-------------------------------------------------------------------------
-Options::Options () :
+Options::Options (CommandInterpreter &interpreter) :
+    m_interpreter (interpreter),
     m_getopt_table ()
 {
     BuildValidOptionSets();
@@ -362,12 +363,11 @@
 void
 Options::GenerateOptionUsage
 (
-    CommandInterpreter &interpreter,
     Stream &strm,
     CommandObject *cmd
 )
 {
-    const uint32_t screen_width = interpreter.GetDebugger().GetTerminalWidth();
+    const uint32_t screen_width = m_interpreter.GetDebugger().GetTerminalWidth();
 
     const OptionDefinition *full_options_table = GetDefinitions();
     const uint32_t save_indent_level = strm.GetIndentLevel();
@@ -656,7 +656,6 @@
 bool
 Options::HandleOptionCompletion
 (
-    CommandInterpreter &interpreter,
     Args &input,
     OptionElementVector &opt_element_vector,
     int cursor_index,
@@ -778,8 +777,7 @@
 
             if (opt_defs_index != -1)
             {
-                HandleOptionArgumentCompletion (interpreter, 
-                                                input,
+                HandleOptionArgumentCompletion (input,
                                                 cursor_index,
                                                 strlen (input.GetArgumentAtIndex(cursor_index)),
                                                 opt_element_vector,
@@ -809,7 +807,6 @@
 bool
 Options::HandleOptionArgumentCompletion
 (
-    CommandInterpreter &interpreter,
     Args &input,
     int cursor_index,
     int char_pos,
@@ -868,7 +865,7 @@
                 if (module_name)
                 {
                     FileSpec module_spec(module_name, false);
-                    lldb::TargetSP target_sp = interpreter.GetDebugger().GetSelectedTarget();
+                    lldb::TargetSP target_sp = m_interpreter.GetDebugger().GetSelectedTarget();
                     // Search filters require a target...
                     if (target_sp != NULL)
                         filter_ap.reset (new SearchFilterByModule (target_sp, module_spec));
@@ -878,7 +875,7 @@
         }
     }
 
-    return CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+    return CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
                                                                 completion_mask,
                                                                 input.GetArgumentAtIndex (opt_arg_pos),
                                                                 match_start_point,

Modified: lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp (original)
+++ lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp Thu Apr  7 17:46:35 2011
@@ -150,27 +150,26 @@
         }
     }
 
-    int numTokens = EDNumTokens(m_inst);
+    int numTokens = -1;
+    
+    if (!raw)
+        numTokens = EDNumTokens(m_inst);
 
     int currentOpIndex = -1;
 
-    std::auto_ptr<RegisterReaderArg> rra;
-    
-    if (!raw)
+    bool printTokenized = false;
+
+    if (numTokens != -1 && !raw)
     {
         addr_t base_addr = LLDB_INVALID_ADDRESS;
+        
+        RegisterReaderArg rra(base_addr + EDInstByteSize(m_inst), m_disassembler);
+        
         if (exe_ctx && exe_ctx->target && !exe_ctx->target->GetSectionLoadList().IsEmpty())
             base_addr = GetAddress().GetLoadAddress (exe_ctx->target);
         if (base_addr == LLDB_INVALID_ADDRESS)
             base_addr = GetAddress().GetFileAddress ();
-        
-        rra.reset(new RegisterReaderArg(base_addr + EDInstByteSize(m_inst), m_disassembler));
-    }
-
-    bool printTokenized = false;
-
-    if (numTokens != -1)
-    {
+                    
         printTokenized = true;
 
         // Handle the opcode column.
@@ -246,7 +245,7 @@
                                 {
                                     uint64_t operand_value;
 
-                                    if (!EDEvaluateOperand(&operand_value, operand, IPRegisterReader, rra.get()))
+                                    if (!EDEvaluateOperand(&operand_value, operand, IPRegisterReader, &rra))
                                     {
                                         if (EDInstIsBranch(m_inst))
                                         {
@@ -327,7 +326,7 @@
         if (EDGetInstString(&str, m_inst))
             return;
         else
-            s->PutCString(str);
+            s->Write(str, strlen(str) - 1);
     }
 }
 

Modified: lldb/trunk/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp (original)
+++ lldb/trunk/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp Thu Apr  7 17:46:35 2011
@@ -207,7 +207,7 @@
     {
         arch = Target::GetDefaultArchitecture ();
         if (!arch.IsValid())
-            arch.SetTriple (LLDB_ARCH_DEFAULT);
+            arch.SetTriple (LLDB_ARCH_DEFAULT, NULL);
     }
     else
         arch = m_module->GetArchitecture();

Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp (original)
+++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp Thu Apr  7 17:46:35 2011
@@ -142,6 +142,7 @@
 {
     const uint8_t *trap_opcode = NULL;
     uint32_t trap_opcode_size = 0;
+    bool bp_is_thumb = false;
         
     llvm::Triple::ArchType machine = target.GetArchitecture().GetMachine();
     switch (machine)
@@ -154,22 +155,26 @@
             trap_opcode_size = sizeof(g_i386_breakpoint_opcode);
         }
         break;
-        
+
+    case llvm::Triple::thumb:
+        bp_is_thumb = true; // Fall through...
     case llvm::Triple::arm:
         {
             static const uint8_t g_arm_breakpoint_opcode[] = { 0xFE, 0xDE, 0xFF, 0xE7 };
             static const uint8_t g_thumb_breakpooint_opcode[] = { 0xFE, 0xDE };
 
-            lldb::BreakpointLocationSP bp_loc_sp (bp_site->GetOwnerAtIndex (0));
-            if (bp_loc_sp)
+            // Auto detect arm/thumb if it wasn't explicitly specified
+            if (!bp_is_thumb)
             {
-                const AddressClass addr_class = bp_loc_sp->GetAddress().GetAddressClass ();
-                if (addr_class == eAddressClassCodeAlternateISA)
-                {
-                    trap_opcode = g_thumb_breakpooint_opcode;
-                    trap_opcode_size = sizeof(g_thumb_breakpooint_opcode);
-                    break;
-                }
+                lldb::BreakpointLocationSP bp_loc_sp (bp_site->GetOwnerAtIndex (0));
+                if (bp_loc_sp)
+                    bp_is_thumb = bp_loc_sp->GetAddress().GetAddressClass () == eAddressClassCodeAlternateISA;
+            }
+            if (bp_is_thumb)
+            {
+                trap_opcode = g_thumb_breakpooint_opcode;
+                trap_opcode_size = sizeof(g_thumb_breakpooint_opcode);
+                break;
             }
             trap_opcode = g_arm_breakpoint_opcode;
             trap_opcode_size = sizeof(g_arm_breakpoint_opcode);
@@ -186,7 +191,7 @@
         break;
         
     default:
-        assert(!"Unhandled architecture in ProcessMacOSX::GetSoftwareBreakpointTrapOpcode()");
+        assert(!"Unhandled architecture in PlatformDarwin::GetSoftwareBreakpointTrapOpcode()");
         break;
     }
     

Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp (original)
+++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp Thu Apr  7 17:46:35 2011
@@ -473,14 +473,14 @@
     default:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv7-apple-darwin");  return true;
-        case 1: arch.SetTriple ("armv7f-apple-darwin"); return true;
-        case 2: arch.SetTriple ("armv7k-apple-darwin"); return true;
-        case 3: arch.SetTriple ("armv7s-apple-darwin"); return true;
-        case 4: arch.SetTriple ("armv6-apple-darwin");  return true;
-        case 5: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 6: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 7: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv7-apple-darwin", NULL);  return true;
+        case 1: arch.SetTriple ("armv7f-apple-darwin", NULL); return true;
+        case 2: arch.SetTriple ("armv7k-apple-darwin", NULL); return true;
+        case 3: arch.SetTriple ("armv7s-apple-darwin", NULL); return true;
+        case 4: arch.SetTriple ("armv6-apple-darwin", NULL);  return true;
+        case 5: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 6: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 7: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -488,12 +488,12 @@
     case ArchSpec::eCore_arm_armv7f:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv7f-apple-darwin"); return true;
-        case 1: arch.SetTriple ("armv7-apple-darwin");  return true;
-        case 2: arch.SetTriple ("armv6-apple-darwin");  return true;
-        case 3: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 4: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 5: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv7f-apple-darwin", NULL); return true;
+        case 1: arch.SetTriple ("armv7-apple-darwin", NULL);  return true;
+        case 2: arch.SetTriple ("armv6-apple-darwin", NULL);  return true;
+        case 3: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 4: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 5: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -501,12 +501,12 @@
     case ArchSpec::eCore_arm_armv7k:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv7k-apple-darwin"); return true;
-        case 1: arch.SetTriple ("armv7-apple-darwin");  return true;
-        case 2: arch.SetTriple ("armv6-apple-darwin");  return true;
-        case 3: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 4: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 5: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv7k-apple-darwin", NULL); return true;
+        case 1: arch.SetTriple ("armv7-apple-darwin", NULL);  return true;
+        case 2: arch.SetTriple ("armv6-apple-darwin", NULL);  return true;
+        case 3: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 4: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 5: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -514,12 +514,12 @@
     case ArchSpec::eCore_arm_armv7s:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv7s-apple-darwin"); return true;
-        case 1: arch.SetTriple ("armv7-apple-darwin");  return true;
-        case 2: arch.SetTriple ("armv6-apple-darwin");  return true;
-        case 3: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 4: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 5: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv7s-apple-darwin", NULL); return true;
+        case 1: arch.SetTriple ("armv7-apple-darwin", NULL);  return true;
+        case 2: arch.SetTriple ("armv6-apple-darwin", NULL);  return true;
+        case 3: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 4: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 5: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -527,11 +527,11 @@
     case ArchSpec::eCore_arm_armv7:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv7-apple-darwin");  return true;
-        case 1: arch.SetTriple ("armv6-apple-darwin");  return true;
-        case 2: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 3: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 4: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv7-apple-darwin", NULL);  return true;
+        case 1: arch.SetTriple ("armv6-apple-darwin", NULL);  return true;
+        case 2: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 3: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 4: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -539,10 +539,10 @@
     case ArchSpec::eCore_arm_armv6:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv6-apple-darwin");  return true;
-        case 1: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 2: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 3: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv6-apple-darwin", NULL);  return true;
+        case 1: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 2: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 3: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -550,9 +550,9 @@
     case ArchSpec::eCore_arm_armv5:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv5-apple-darwin");  return true;
-        case 1: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 2: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv5-apple-darwin", NULL);  return true;
+        case 1: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 2: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;
@@ -560,8 +560,8 @@
     case ArchSpec::eCore_arm_armv4:
         switch (idx)
         {
-        case 0: arch.SetTriple ("armv4-apple-darwin");  return true;
-        case 1: arch.SetTriple ("arm-apple-darwin");    return true;
+        case 0: arch.SetTriple ("armv4-apple-darwin", NULL);  return true;
+        case 1: arch.SetTriple ("arm-apple-darwin", NULL);    return true;
         default: break;
         }
         break;

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Thu Apr  7 17:46:35 2011
@@ -919,7 +919,7 @@
                             triple += "unknown";
                         else
                             triple += os_name;
-                        m_host_arch.SetTriple (triple.c_str());
+                        m_host_arch.SetTriple (triple.c_str(), NULL);
                         if (pointer_byte_size)
                         {
                             assert (pointer_byte_size == m_host_arch.GetAddressByteSize());
@@ -933,7 +933,7 @@
                 }
                 else
                 {
-                    m_host_arch.SetTriple (triple.c_str());
+                    m_host_arch.SetTriple (triple.c_str(), NULL);
                     if (pointer_byte_size)
                     {
                         assert (pointer_byte_size == m_host_arch.GetAddressByteSize());
@@ -1159,7 +1159,7 @@
                 extractor.GetStringRef().swap(value);
                 extractor.SetFilePos(0);
                 extractor.GetHexByteString (value);
-                process_info.GetArchitecture ().SetTriple (value.c_str());
+                process_info.GetArchitecture ().SetTriple (value.c_str(), NULL);
             }
             else if (name.compare("name") == 0)
             {

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp Thu Apr  7 17:46:35 2011
@@ -357,7 +357,7 @@
             }
             else if (key.compare("triple") == 0)
             {
-                match_info.GetProcessInfo().GetArchitecture().SetTriple(value.c_str());
+                match_info.GetProcessInfo().GetArchitecture().SetTriple (value.c_str(), NULL);
             }
             else
             {

Modified: lldb/trunk/source/Symbol/SymbolContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/SymbolContext.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/SymbolContext.cpp (original)
+++ lldb/trunk/source/Symbol/SymbolContext.cpp Thu Apr  7 17:46:35 2011
@@ -10,6 +10,7 @@
 #include "lldb/Symbol/SymbolContext.h"
 
 #include "lldb/Core/Module.h"
+#include "lldb/Interpreter/Args.h"
 #include "lldb/Symbol/CompileUnit.h"
 #include "lldb/Symbol/ObjectFile.h"
 #include "lldb/Symbol/Symbol.h"

Modified: lldb/trunk/source/Target/Process.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Process.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Target/Process.cpp (original)
+++ lldb/trunk/source/Target/Process.cpp Thu Apr  7 17:46:35 2011
@@ -20,6 +20,7 @@
 #include "lldb/Core/Log.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/State.h"
+#include "lldb/Expression/ClangUserExpression.h"
 #include "lldb/Interpreter/CommandInterpreter.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Target/ABI.h"

Modified: lldb/trunk/source/Target/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Target.cpp?rev=129112&r1=129111&r2=129112&view=diff
==============================================================================
--- lldb/trunk/source/Target/Target.cpp (original)
+++ lldb/trunk/source/Target/Target.cpp Thu Apr  7 17:46:35 2011
@@ -23,6 +23,7 @@
 #include "lldb/Core/StreamString.h"
 #include "lldb/Core/Timer.h"
 #include "lldb/Core/ValueObject.h"
+#include "lldb/Expression/ClangUserExpression.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Interpreter/CommandInterpreter.h"
 #include "lldb/Interpreter/CommandReturnObject.h"
@@ -1330,7 +1331,7 @@
 {
     if (var_name == GetSettingNameForDefaultArch())
     {
-        m_default_architecture.SetTriple (value);
+        m_default_architecture.SetTriple (value, NULL);
         if (!m_default_architecture.IsValid())
             err.SetErrorStringWithFormat ("'%s' is not a valid architecture or triple.", value);
     }





More information about the lldb-commits mailing list