summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands/CommandObjectDisassemble.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-04-07 22:46:35 +0000
committerGreg Clayton <gclayton@apple.com>2011-04-07 22:46:35 +0000
commiteb0103f2d08a13812614da6f4dc3f6bb80c7aa21 (patch)
treedbf5eb8c26e985bc82f53cb4030cee1f0bbfba11 /lldb/source/Commands/CommandObjectDisassemble.cpp
parent165a07adf94e4b81e7ed110158688b1426fe9f76 (diff)
downloadbcm5719-llvm-eb0103f2d08a13812614da6f4dc3f6bb80c7aa21.tar.gz
bcm5719-llvm-eb0103f2d08a13812614da6f4dc3f6bb80c7aa21.zip
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. llvm-svn: 129112
Diffstat (limited to 'lldb/source/Commands/CommandObjectDisassemble.cpp')
-rw-r--r--lldb/source/Commands/CommandObjectDisassemble.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/lldb/source/Commands/CommandObjectDisassemble.cpp b/lldb/source/Commands/CommandObjectDisassemble.cpp
index 6567a0896a9..84630ff9955 100644
--- a/lldb/source/Commands/CommandObjectDisassemble.cpp
+++ b/lldb/source/Commands/CommandObjectDisassemble.cpp
@@ -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 @@ CommandObjectDisassemble::CommandOptions::SetOptionValue (int option_idx, const
break;
case 'a':
- arch.SetTriple (option_arg);
+ arch.SetTriple (option_arg, m_interpreter.GetDebugger().GetPlatformList().GetSelectedPlatform().get());
break;
default:
@@ -195,7 +195,8 @@ CommandObjectDisassemble::CommandObjectDisassemble (CommandInterpreter &interpre
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 @@ CommandObjectDisassemble::Execute
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;
}
OpenPOWER on IntegriCloud