| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
to be consistent.
And modify the test cases accordingly.
llvm-svn: 130174
|
|
|
|
|
|
| |
resulting infinite loops.
llvm-svn: 130159
|
|
|
|
| |
llvm-svn: 130158
|
|
|
|
| |
llvm-svn: 130156
|
|
|
|
| |
llvm-svn: 130155
|
|
|
|
| |
llvm-svn: 130154
|
|
|
|
|
|
|
|
|
|
| |
i.e., with 'SBStream &description' first, followed by 'DescriptionLevel level'.
Modify lldbutil.py so that get_description() for a target or breakpoint location
can just take the lldb object itself without specifying an option to mean option
lldb.eDescriptionLevelBrief. Modify TestTargetAPI.py to exercise this logic path.
llvm-svn: 130147
|
|
|
|
|
|
| |
in a Utility directory.
llvm-svn: 130135
|
|
|
|
| |
llvm-svn: 130134
|
|
|
|
|
|
| |
respond to recent change.
llvm-svn: 130133
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inline contexts when the deepest most block is not inlined.
Added source path remappings to the lldb_private::Target class that allow it
to remap paths found in debug info so we can find source files that are elsewhere
on the current system.
Fixed disassembly by function name to disassemble inline functions that are
inside other functions much better and to show enough context before the
disassembly output so you can tell where things came from.
Added the ability to get more than one address range from a SymbolContext
class for the case where a block or function has discontiguous address ranges.
llvm-svn: 130044
|
|
|
|
|
|
| |
utility function.
llvm-svn: 130041
|
|
|
|
|
|
|
|
| |
lldbutil.py
and use it from TestTargetAPI.py.
llvm-svn: 130038
|
|
|
|
|
|
|
|
|
| |
a shared
pointer to a ValueObject or any of its dependent ValueObjects, and the whole cluster will
stay around as long as that shared pointer stays around.
llvm-svn: 130035
|
|
|
|
|
|
| |
lldb::DescriptionLevel enum.
llvm-svn: 130029
|
|
|
|
| |
llvm-svn: 130017
|
|
|
|
| |
llvm-svn: 130016
|
|
|
|
|
|
|
|
|
| |
before issuing the 'process connect ...' command.
test_comand_regex(): assign the spawned child to self.child so it gets automatically
shutdown during TestBase.tearDown(self).
llvm-svn: 130015
|
|
|
|
| |
llvm-svn: 130014
|
|
|
|
| |
llvm-svn: 130013
|
|
|
|
| |
llvm-svn: 130011
|
|
|
|
| |
llvm-svn: 129993
|
|
|
|
| |
llvm-svn: 129992
|
|
|
|
| |
llvm-svn: 129991
|
|
|
|
|
|
|
| |
format. (The newly formatted files will go in as a separate commit in a
few minutes).
llvm-svn: 129981
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
set by default when dumping registers. If you want to see all of the register
sets you can use the "--all" option:
(lldb) register read --all
If you want to just see some register sets, you can currently specify them
by index:
(lldb) register read --set 0 --set 2
We need to get shorter register set names soon so we can specify the register
sets by name without having to type too much. I will make this change soon.
You can also have any integer encoded registers resolve the address values
back to any code or data from the object files using the "--lookup" option.
Below is sample output when stopped in the libc function "puts" with some
const strings in registers:
Process 8973 stopped
* thread #1: tid = 0x2c03, 0x00007fff828fa30f libSystem.B.dylib`puts + 1, stop reason = instruction step into
frame #0: 0x00007fff828fa30f libSystem.B.dylib`puts + 1
(lldb) register read --lookup
General Purpose Registers:
rax = 0x0000000100000e98 "----------------------------------------------------------------------"
rbx = 0x0000000000000000
rcx = 0x0000000000000001
rdx = 0x0000000000000000
rdi = 0x0000000100000e98 "----------------------------------------------------------------------"
rsi = 0x0000000100800000
rbp = 0x00007fff5fbff710
rsp = 0x00007fff5fbff280
r8 = 0x0000000000000040
r9 = 0x0000000000000000
r10 = 0x0000000000000000
r11 = 0x0000000000000246
r12 = 0x0000000000000000
r13 = 0x0000000000000000
r14 = 0x0000000000000000
r15 = 0x0000000000000000
rip = 0x00007fff828fa30f libSystem.B.dylib`puts + 1
rflags = 0x0000000000000246
cs = 0x0000000000000027
fs = 0x0000000000000000
gs = 0x0000000000000000
As we can see, we see two constant strings and the PC (register "rip") is
showing the code it resolves to.
I fixed the register "--format" option to work as expected.
Added a setting to disable skipping the function prologue when setting
breakpoints as a target settings variable:
(lldb) settings set target.skip-prologue false
Updated the user settings controller boolean value handler funciton to be able
to take the default value so it can correctly respond to the eVarSetOperationClear
operation.
Did some usability work on the OptionValue classes.
Fixed the "image lookup" command to correctly respond to the "--verbose"
option and display the detailed symbol context information when looking up
line table entries and functions by name. This previously was only working
for address lookups.
llvm-svn: 129977
|
|
|
|
|
|
|
|
|
|
| |
inferior
rather than calling "process kill" explicitly at the end of the test.
The test might not even reach the end because it could have failed prematurely.
llvm-svn: 129963
|
|
|
|
|
|
|
|
| |
Intel disassembly
only when the test is currently running against the relevant architecture.
llvm-svn: 129960
|
|
|
|
|
|
|
|
|
|
|
|
| |
TestAbbreviations.py
and TestAliases.py. Pass the keyword argument 'check=False' to:
self.runCmd("script my.date()", check=False)
since we want to restore sys.stdout no matter what the outcome of the runCmd is.
llvm-svn: 129949
|
|
|
|
|
|
|
| |
name had a DW_AT_name that was the same string as the DW_AT_MIPS_linkage_name,
then it would get added twice to the DWARF index.
llvm-svn: 129942
|
|
|
|
| |
llvm-svn: 129937
|
|
|
|
| |
llvm-svn: 129936
|
|
|
|
| |
llvm-svn: 129935
|
|
|
|
|
|
|
| |
OptionValueCollection class that can be subclassed to provide access to
internal settings that are stored as ObjectValue subclasses.
llvm-svn: 129926
|
|
|
|
|
|
|
|
| |
so we can instantiate them, and also moved the code that
can get the specific subclass for a OptionValue into the
OptionValue class.
llvm-svn: 129920
|
|
|
|
|
|
|
|
| |
regex"
command.
llvm-svn: 129898
|
|
|
|
| |
llvm-svn: 129897
|
|
|
|
| |
llvm-svn: 129895
|
|
|
|
| |
llvm-svn: 129890
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it everywhere internally.
Modified the "command regex" command to be able to specify all regular
expressions on the command line. For example:
(lldb) command regex f s/^$/finish/ 's/([0-9]+)/frame select %1/'
Also improved the error reporting when an invalid 's/<regex>/<subst>/' argument
is given.
llvm-svn: 129889
|
|
|
|
| |
llvm-svn: 129885
|
|
|
|
| |
llvm-svn: 129881
|
|
|
|
| |
llvm-svn: 129880
|
|
|
|
| |
llvm-svn: 129879
|
|
|
|
|
|
|
|
| |
locations from
the debug information which indicates valid places to set source level breakpoints.
llvm-svn: 129871
|
|
|
|
|
|
| |
included in a recent commit).
llvm-svn: 129868
|
|
|
|
|
|
|
|
| |
list"
command when the file was implicit or found from a symbol.
llvm-svn: 129867
|
|
|
|
|
|
| |
types of values.
llvm-svn: 129863
|
|
|
|
| |
llvm-svn: 129859
|