forked from OSchip/llvm-project
Fixed an issue where SBFrame::GetDisassembly() was returning disassembly that
contained the current line marker. This is now an option which is not enabled for the API disassembly call. llvm-svn: 133597
This commit is contained in:
parent
fe268d1045
commit
1da6f9d7f1
|
@ -184,6 +184,13 @@ class Disassembler :
|
|||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
eOptionNone = 0u,
|
||||
eOptionShowBytes = (1u << 0),
|
||||
eOptionRawOuput = (1u << 1),
|
||||
eOptionShowCurrentLine = (1u << 2)
|
||||
};
|
||||
|
||||
static Disassembler*
|
||||
FindPlugin (const ArchSpec &arch, const char *plugin_name);
|
||||
|
@ -202,8 +209,7 @@ public:
|
|||
const AddressRange &range,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm);
|
||||
|
||||
static bool
|
||||
|
@ -214,8 +220,7 @@ public:
|
|||
const Address &start,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm);
|
||||
|
||||
static size_t
|
||||
|
@ -226,8 +231,7 @@ public:
|
|||
SymbolContextList &sc_list,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm);
|
||||
|
||||
static bool
|
||||
|
@ -239,8 +243,7 @@ public:
|
|||
Module *module,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm);
|
||||
|
||||
static bool
|
||||
|
@ -250,8 +253,7 @@ public:
|
|||
const ExecutionContext &exe_ctx,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm);
|
||||
|
||||
//------------------------------------------------------------------
|
||||
|
@ -269,8 +271,7 @@ public:
|
|||
const ExecutionContext &exe_ctx,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm);
|
||||
|
||||
size_t
|
||||
|
|
|
@ -258,6 +258,16 @@ CommandObjectDisassemble::Execute
|
|||
m_options.num_lines_context = 1;
|
||||
|
||||
ExecutionContext exe_ctx(m_interpreter.GetExecutionContext());
|
||||
uint32_t options = 0;
|
||||
|
||||
if (!m_options.show_mixed)
|
||||
options |= Disassembler::eOptionShowCurrentLine;
|
||||
|
||||
if (m_options.show_bytes)
|
||||
options |= Disassembler::eOptionShowBytes;
|
||||
|
||||
if (m_options.raw)
|
||||
options |= Disassembler::eOptionRawOuput;
|
||||
|
||||
if (!m_options.func_name.empty())
|
||||
{
|
||||
|
@ -271,8 +281,7 @@ CommandObjectDisassemble::Execute
|
|||
NULL, // Module *
|
||||
m_options.num_instructions,
|
||||
m_options.show_mixed ? m_options.num_lines_context : 0,
|
||||
m_options.show_bytes,
|
||||
m_options.raw,
|
||||
options,
|
||||
result.GetOutputStream()))
|
||||
{
|
||||
result.SetStatus (eReturnStatusSuccessFinishResult);
|
||||
|
@ -369,8 +378,7 @@ CommandObjectDisassemble::Execute
|
|||
range.GetBaseAddress(),
|
||||
m_options.num_instructions,
|
||||
m_options.show_mixed ? m_options.num_lines_context : 0,
|
||||
m_options.show_bytes,
|
||||
m_options.raw,
|
||||
options,
|
||||
result.GetOutputStream()))
|
||||
{
|
||||
result.SetStatus (eReturnStatusSuccessFinishResult);
|
||||
|
@ -413,8 +421,7 @@ CommandObjectDisassemble::Execute
|
|||
range,
|
||||
m_options.num_instructions,
|
||||
m_options.show_mixed ? m_options.num_lines_context : 0,
|
||||
m_options.show_bytes,
|
||||
m_options.raw,
|
||||
options,
|
||||
result.GetOutputStream()))
|
||||
{
|
||||
result.SetStatus (eReturnStatusSuccessFinishResult);
|
||||
|
|
|
@ -110,8 +110,7 @@ Disassembler::Disassemble
|
|||
SymbolContextList &sc_list,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm
|
||||
)
|
||||
{
|
||||
|
@ -134,8 +133,7 @@ Disassembler::Disassemble
|
|||
range,
|
||||
num_instructions,
|
||||
num_mixed_context_lines,
|
||||
show_bytes,
|
||||
raw,
|
||||
options,
|
||||
strm))
|
||||
{
|
||||
++success_count;
|
||||
|
@ -157,8 +155,7 @@ Disassembler::Disassemble
|
|||
Module *module,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm
|
||||
)
|
||||
{
|
||||
|
@ -199,8 +196,7 @@ Disassembler::Disassemble
|
|||
sc_list,
|
||||
num_instructions,
|
||||
num_mixed_context_lines,
|
||||
show_bytes,
|
||||
raw,
|
||||
options,
|
||||
strm);
|
||||
}
|
||||
return false;
|
||||
|
@ -242,8 +238,7 @@ Disassembler::Disassemble
|
|||
const AddressRange &disasm_range,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm
|
||||
)
|
||||
{
|
||||
|
@ -267,8 +262,7 @@ Disassembler::Disassemble
|
|||
exe_ctx,
|
||||
num_instructions,
|
||||
num_mixed_context_lines,
|
||||
show_bytes,
|
||||
raw,
|
||||
options,
|
||||
strm);
|
||||
}
|
||||
}
|
||||
|
@ -285,8 +279,7 @@ Disassembler::Disassemble
|
|||
const Address &start_address,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm
|
||||
)
|
||||
{
|
||||
|
@ -307,8 +300,7 @@ Disassembler::Disassemble
|
|||
exe_ctx,
|
||||
num_instructions,
|
||||
num_mixed_context_lines,
|
||||
show_bytes,
|
||||
raw,
|
||||
options,
|
||||
strm);
|
||||
}
|
||||
}
|
||||
|
@ -324,8 +316,7 @@ Disassembler::PrintInstructions
|
|||
const ExecutionContext &exe_ctx,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm
|
||||
)
|
||||
{
|
||||
|
@ -384,7 +375,7 @@ Disassembler::PrintInstructions
|
|||
sc.line_entry.line,
|
||||
num_mixed_context_lines,
|
||||
num_mixed_context_lines,
|
||||
num_mixed_context_lines ? "->" : "",
|
||||
((options & eOptionShowCurrentLine) ? "->" : ""),
|
||||
&strm);
|
||||
}
|
||||
}
|
||||
|
@ -421,6 +412,8 @@ Disassembler::PrintInstructions
|
|||
else
|
||||
strm.PutCString(" ");
|
||||
}
|
||||
const bool show_bytes = (options & eOptionShowBytes) != 0;
|
||||
const bool raw = (options & eOptionRawOuput) != 0;
|
||||
inst->Dump(&strm, max_opcode_byte_size, true, show_bytes, &exe_ctx, raw);
|
||||
strm.EOL();
|
||||
}
|
||||
|
@ -443,8 +436,7 @@ Disassembler::Disassemble
|
|||
const ExecutionContext &exe_ctx,
|
||||
uint32_t num_instructions,
|
||||
uint32_t num_mixed_context_lines,
|
||||
bool show_bytes,
|
||||
bool raw,
|
||||
uint32_t options,
|
||||
Stream &strm
|
||||
)
|
||||
{
|
||||
|
@ -476,8 +468,7 @@ Disassembler::Disassemble
|
|||
range,
|
||||
num_instructions,
|
||||
num_mixed_context_lines,
|
||||
show_bytes,
|
||||
raw,
|
||||
options,
|
||||
strm);
|
||||
}
|
||||
|
||||
|
|
|
@ -262,8 +262,7 @@ StackFrame::Disassemble ()
|
|||
exe_ctx,
|
||||
0,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
0,
|
||||
m_disassembly);
|
||||
if (m_disassembly.GetSize() == 0)
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue