llvm-project/lldb/source/Target
Greg Clayton 2ed751bd47 Changed the emulate instruction function to take emulate options which
are defined as enumerations. Current bits include:

        eEmulateInstructionOptionAutoAdvancePC
        eEmulateInstructionOptionIgnoreConditions

Modified the EmulateInstruction class to have a few more pure virtuals that
can help clients understand how many instructions the emulator can handle:

        virtual bool
        SupportsEmulatingIntructionsOfType (InstructionType inst_type) = 0;


Where instruction types are defined as:

//------------------------------------------------------------------
/// Instruction types
//------------------------------------------------------------------    
typedef enum InstructionType
{
    eInstructionTypeAny,                // Support for any instructions at all (at least one)
    eInstructionTypePrologueEpilogue,   // All prologue and epilogue instructons that push and pop register values and modify sp/fp
    eInstructionTypePCModifying,        // Any instruction that modifies the program counter/instruction pointer
    eInstructionTypeAll                 // All instructions of any kind

}  InstructionType;


This allows use to tell what an emulator can do and also allows us to request
these abilities when we are finding the plug-in interface.

Added the ability for an EmulateInstruction class to get the register names
for any registers that are part of the emulation. This helps with being able
to dump and log effectively.

The UnwindAssembly class now stores the architecture it was created with in
case it is needed later in the unwinding process.

Added a function that can tell us DWARF register names for ARM that goes
along with the source/Utility/ARM_DWARF_Registers.h file: 

        source/Utility/ARM_DWARF_Registers.c
        
Took some of plug-ins out of the lldb_private namespace.

llvm-svn: 130189
2011-04-26 04:39:08 +00:00
..
ABI.cpp Made lldb_private::ArchSpec contain much more than just an architecture. It 2011-02-15 21:59:32 +00:00
ArchDefaultUnwindPlan.cpp Put plug-ins into the correct directories as they were incorrectly located 2011-04-25 18:36:36 +00:00
ArchVolatileRegs.cpp Put plug-ins into the correct directories as they were incorrectly located 2011-04-25 18:36:36 +00:00
CPPLanguageRuntime.cpp Remove unneeded ExecutionContextScope variables. 2011-03-31 23:01:21 +00:00
ExecutionContext.cpp Changed the emulate instruction function to take emulate options which 2011-04-26 04:39:08 +00:00
LanguageRuntime.cpp Replace the vestigial Value::GetOpaqueCLangQualType with the more correct Value::GetValueOpaqueClangQualType. 2010-09-28 01:25:32 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
ObjCLanguageRuntime.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
PathMappingList.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
Platform.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Process.cpp Did some work on the "register read" command to only show the first register 2011-04-22 03:55:06 +00:00
RegisterContext.cpp Split all of the core of LLDB.framework/lldb.so into a 2011-03-20 04:57:14 +00:00
SectionLoadList.cpp Added a quicker lookup in the SectionLoadList when looking things up by 2011-02-05 02:25:06 +00:00
StackFrame.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
StackFrameList.cpp Centralized a lot of the status information for processes, 2011-04-18 08:33:37 +00:00
StackID.cpp Added a new bool parameter to many of the DumpStopContext() methods that 2010-09-02 21:44:10 +00:00
StopInfo.cpp Rework the RunThreadPlan event handling to use Event Hijacking not stopping the event thread. Also clarify the logic of the function. 2011-02-08 05:20:59 +00:00
Target.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
TargetList.cpp Many improvements to the Platform base class and subclasses. The base Platform 2011-03-30 18:16:51 +00:00
Thread.cpp Centralized a lot of the status information for processes, 2011-04-18 08:33:37 +00:00
ThreadList.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
ThreadPlan.cpp Fixed issues with RegisterContext classes and the subclasses. There was 2011-01-06 22:15:06 +00:00
ThreadPlanBase.cpp Rework the RunThreadPlan event handling to use Event Hijacking not stopping the event thread. Also clarify the logic of the function. 2011-02-08 05:20:59 +00:00
ThreadPlanCallFunction.cpp Add a method "GetEntryPoint" to the ObjectFile class, and implement it on MachO & ELF - though the ELF implementation is probably a little weak. Then use this method in place of directly looking for "start" in the ThreadPlanCallFunction constructor to find the stopping point for our function evaluation. 2011-03-07 23:44:08 +00:00
ThreadPlanCallUserExpression.cpp Added support for generating expressions that have 2010-12-13 22:46:15 +00:00
ThreadPlanRunToAddress.cpp Typo in looking up the stored address breakpoints, could cause us to look too far for breakpoints. 2011-01-26 19:10:34 +00:00
ThreadPlanShouldStopHere.cpp Enabled extra warnings and fixed a bunch of small issues. 2011-01-25 23:55:37 +00:00
ThreadPlanStepInRange.cpp Made lldb_private::ArchSpec contain much more than just an architecture. It 2011-02-15 21:59:32 +00:00
ThreadPlanStepInstruction.cpp Made lldb_private::ArchSpec contain much more than just an architecture. It 2011-02-15 21:59:32 +00:00
ThreadPlanStepOut.cpp Patches from Jean-Daniel: 2011-02-04 17:21:08 +00:00
ThreadPlanStepOverBreakpoint.cpp Add ThreadPlanTracer class to allow instruction step tracing of execution. 2010-11-11 19:26:09 +00:00
ThreadPlanStepOverRange.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
ThreadPlanStepRange.cpp Formatting. 2011-02-08 04:27:50 +00:00
ThreadPlanStepThrough.cpp Add ThreadPlanTracer class to allow instruction step tracing of execution. 2010-11-11 19:26:09 +00:00
ThreadPlanStepUntil.cpp Added support for stepping out of a frame. If you have 10 stack frames, and you 2011-01-21 06:11:58 +00:00
ThreadPlanTestCondition.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ThreadPlanTracer.cpp Order of initialization lists. 2011-04-11 19:41:40 +00:00
ThreadSpec.cpp Fixed an error where the thread index was being returned as zero in "uint32_t SBBreakpoint::GetThreadIndex() const" even when it isn't specified. It should be UINT32_MAX to indicate there is no thread index set for the breakpoint (the breakpoint isn't thread specific). Also fixed the ThreadSpec.cpp to use UINT32_MAX instead of -1. Fixed the logging Printf statement in "uint32_t SBBreakpoint::GetThreadIndex() const" to not print the address of the "index" function from <string.h>! 2010-12-15 20:50:06 +00:00
UnixSignals.cpp Back up both the register AND the stop state when calling functions. 2011-01-20 02:03:18 +00:00
UnwindAssembly.cpp Changed the emulate instruction function to take emulate options which 2011-04-26 04:39:08 +00:00