- Feb 23, 2011
-
-
Johnny Chen authored
llvm-svn: 126271
-
Johnny Chen authored
llvm-svn: 126267
-
Johnny Chen authored
Plus add missing break stmts for "case" blocks. llvm-svn: 126265
-
Greg Clayton authored
llvm-svn: 126260
-
- Feb 22, 2011
-
-
Greg Clayton authored
llvm-svn: 126257
-
Sean Callanan authored
Fixed a hang in the expression parser's result synthesizer that occurs when the function generated for the expression is completely empty except for a NULL_STMT. This happens sometimes when the parser returns errors. llvm-svn: 126251
-
Johnny Chen authored
Use them within EmulateInstructionARM.cpp to save repetitive typing. llvm-svn: 126247
-
Johnny Chen authored
and implement EmulateCMNImm() and EMulateCMNReg() methods. llvm-svn: 126236
-
Greg Clayton authored
llvm-svn: 126235
-
Johnny Chen authored
Fix the 'variants' field of "CMN (immediate)" Encoding T1 entry, it should be ARMV6T2_ABOVE, not ARMvAll. llvm-svn: 126234
-
Johnny Chen authored
llvm-svn: 126179
-
Johnny Chen authored
Add ARM/Thumb encoding entries for "CMN (immediate)" and "CMN (register)" operations, with the EmulateCMNImm()/Reg() methods not implemented yet for now. llvm-svn: 126178
-
Johnny Chen authored
llvm-svn: 126172
-
Johnny Chen authored
"TEQ (immediate)", and "TEQ (register)" operations. llvm-svn: 126160
-
- Feb 21, 2011
-
-
Johnny Chen authored
Plus modified EmulateANDImm/Reg to delegate to TSTImm/Reg for Thumb2 32-bit instructions when Rd == '1111' and setflags is true. llvm-svn: 126144
-
- Feb 20, 2011
-
-
Greg Clayton authored
N streams by making the stream a vector of stream shared pointers that is protected by a mutex. Streams can be get/set by index which allows indexes to be defined as stream indentifiers. If a stream is set at index 3 and there are now streams in the collection, then empty stream objects are inserted to ensure that stream at index 3 has a valid stream. There is also an append method that allows a stream to be pushed onto the stack. This will allow our streams to be very flexible in where the output goes. Modified the CommandReturnObject to use the new StreamTee functionality. This class now defines two StreamTee indexes: 0 for the stream string stream, and 1 for the immediate stream. This is used both on the output and error streams. Added the ability to get argument types as strings or as descriptions. This is exported through the SBCommandInterpreter API to allow external access. Modified the Driver class to use the newly exported argument names from SBCommandInterpreter::GetArgumentTypeAsCString(). llvm-svn: 126067
-
- Feb 19, 2011
-
-
Jim Ingham authored
a Stream, and then added GetOutputData & GetErrorData to get the accumulated data. - Added a StreamTee that will tee output to two provided lldb::StreamSP's. - Made the CommandObjectReturn use this so you can Tee the results immediately to the debuggers output file, as well as saving up the results to return when the command is done executing. - HandleCommands now uses this so that if you have a set of commands that continue the target you will see the commands come out as they are processed. - The Driver now uses this to output the command results as you go, which makes the interface more reactive seeming. llvm-svn: 126015
-
Johnny Chen authored
which now handles R0-R12, SP, LR, as well as PC. And refactored a lot of calls to ReadRegisterUnsigned() to now funnel through ReadCoreReg(), instead. llvm-svn: 126010
-
Caroline Tice authored
Add code to emulate LDRB (register) Arm instruction. llvm-svn: 125994
-
Johnny Chen authored
Add Encoding T3 of "MOV (register)" to EmulateMOVRdRm() method and fixed some bugs in EmulateMOVRdImm() and EmulateMOVRdRm() methods. llvm-svn: 125992
-
- Feb 18, 2011
-
-
Caroline Tice authored
Add code to emulate LDRB (literal) Arm instruction. llvm-svn: 125975
-
Johnny Chen authored
Plus add a helper method ReadCoreReg(uint32_t regnum, bool *success) to simplify coding a bit. llvm-svn: 125961
-
Caroline Tice authored
Add code to emulate LDRB (immediate, Thumb) instruction. llvm-svn: 125959
-
Johnny Chen authored
Plus add macro definitions for APSR_C and APSR_V to simplify code. llvm-svn: 125947
-
Caroline Tice authored
Add code to emulate LDR (register) Arm instruction. llvm-svn: 125945
-
Greg Clayton authored
Targets can now specify some additional parameters for when we debug executables that can help with plug-in selection: target.execution-level = auto | user | kernel target.execution-mode = auto | dynamic | static target.execution-os-type = auto | none | halted | live On some systems, the binaries that are created are the same wether you use them to debug a kernel, or a user space program. Many times inspecting an object file can reveal what an executable should be. For these cases we can now be a little more complete by specifying wether to detect all of these things automatically (inspect the main executable file and select a plug-in accordingly), or manually to force the selection of certain plug-ins. To do this we now allow the specficifation of wether one is debugging a user space program (target.execution-level = user) or a kernel program (target.execution-level = kernel). We can also specify if we want to debug a program where shared libraries are dynamically loaded using a DynamicLoader plug-in (target.execution-mode = dynamic), or wether we will treat all symbol files as already linked at the correct address (target.execution-mode = static). We can also specify if the inferior we are debugging is being debugged on a bare board (target.execution-os-type = none), or debugging an OS where we have a JTAG or other direct connection to the inferior stops the entire OS (target.execution-os-type = halted), or if we are debugging a program on something that has live debug services (target.execution-os-type = live). For the "target.execution-os-type = halted" mode, we will need to create ProcessHelper plug-ins that allow us to extract the process/thread and other OS information by reading/writing memory. This should allow LLDB to be used for a wide variety of debugging tasks and handle them all correctly. llvm-svn: 125815
-
Johnny Chen authored
llvm-svn: 125812
-
Johnny Chen authored
llvm-svn: 125809
-
Caroline Tice authored
Add code to emulate LDR (immediate,ARM) instruction. llvm-svn: 125808
-
Jim Ingham authored
Factor all the code that does "Execute a list of lldb command interpreter commands" into a single function in the Interpreter, and then use that in all the places that used to do this by hand. llvm-svn: 125807
-
Johnny Chen authored
llvm-svn: 125801
-
Johnny Chen authored
llvm-svn: 125800
-
Johnny Chen authored
in section headings. llvm-svn: 125796
-
Johnny Chen authored
the value of the byte/halfword returned from the table. llvm-svn: 125793
-
Caroline Tice authored
Add header declarations for the remaining instructions we need to emulate, to cover those that can change the PC. llvm-svn: 125791
-
- Feb 17, 2011
-
-
Johnny Chen authored
WriteFlags() and renamed WriteCoreRegisterWithFlags() to WriteCoreRegOptionalFlags(). Modified the call sites to use the helper methods. llvm-svn: 125788
-
Johnny Chen authored
Renamed EmulateAddRdnRm() to EmulateAddReg(), and added Encoding T1 to it. Where Encoding T2 can potentially modify the PC, causing a brnach. llvm-svn: 125782
-
Johnny Chen authored
operations for Thumb2. llvm-svn: 125767
-
Caroline Tice authored
Add stubs for pseudocode functions "MemA[]" amd "MemU[]", corresponding to aligned and unaligned memory accesses. The new stub functions are MemARead, MemAWrite, MemURead, and MemUWrite. At the moment these stubs just call ReadMemoryUnsigned or WriteMemoryUnsigned, but we can fill them out further later if we decide we need more accurate emulation of the memory system. Replaced all the direct calls to ReadMemoryUnsigned and WriteMemoryUnsigned in EmulateInstructionARM.cpp with calls to the appropriate new stub function. llvm-svn: 125766
-
Johnny Chen authored
llvm-svn: 125753
-