Skip to content
  1. Feb 23, 2011
  2. Feb 22, 2011
  3. Feb 21, 2011
  4. Feb 20, 2011
    • Greg Clayton's avatar
      Don't limit StreamTee to just two streams. It now can contain · 9d0402b1
      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
      9d0402b1
  5. Feb 19, 2011
    • Jim Ingham's avatar
      - Changed all the places where CommandObjectReturn was exporting a StreamString to just exporting · 85e8b814
      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
      85e8b814
    • Johnny Chen's avatar
      Make the helper method ReadCoreReg(uint32_t reg, bool *success) more generic · ce0dec75
      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
      ce0dec75
    • Caroline Tice's avatar
      · 55532be3
      Caroline Tice authored
      Add code to emulate LDRB (register) Arm instruction.
      
      llvm-svn: 125994
      55532be3
    • Johnny Chen's avatar
      Add emulation methods for "ORR (immediate)" and "ORR (register)". · ce4e629f
      Johnny Chen authored
      Add Encoding T3 of "MOV (register)" to EmulateMOVRdRm() method and fixed
      some bugs in EmulateMOVRdImm() and EmulateMOVRdRm() methods.
      
      llvm-svn: 125992
      ce4e629f
  6. Feb 18, 2011
    • Caroline Tice's avatar
      · 27d1032b
      Caroline Tice authored
      Add code to emulate LDRB (literal) Arm instruction.
      
      llvm-svn: 125975
      27d1032b
    • Johnny Chen's avatar
      Add emulation methods for "ADC (immediate)" and "ADC (register)". · d1fd6963
      Johnny Chen authored
      Plus add a helper method ReadCoreReg(uint32_t regnum, bool *success) to simplify
      coding a bit.
      
      llvm-svn: 125961
      d1fd6963
    • Caroline Tice's avatar
      · 489517c4
      Caroline Tice authored
      Add code to emulate LDRB (immediate, Thumb) instruction.
      
      llvm-svn: 125959
      489517c4
    • Johnny Chen's avatar
      Add emulation methods for "AND (immediate)" and "AND (register)". · faba5dd4
      Johnny Chen authored
      Plus add macro definitions for APSR_C and APSR_V to simplify code.
      
      llvm-svn: 125947
      faba5dd4
    • Caroline Tice's avatar
      · a1bf8db4
      Caroline Tice authored
      Add code to emulate LDR (register) Arm instruction.
      
      llvm-svn: 125945
      a1bf8db4
    • Greg Clayton's avatar
      Added new target instance settings for execution settings: · bfe5f3bf
      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
      bfe5f3bf
    • Johnny Chen's avatar
      Fix typo. · f401d69c
      Johnny Chen authored
      llvm-svn: 125812
      f401d69c
    • Johnny Chen's avatar
    • Caroline Tice's avatar
      · 29c9b640
      Caroline Tice authored
      Add code to emulate LDR (immediate,ARM) instruction.
      
      llvm-svn: 125808
      29c9b640
    • Jim Ingham's avatar
      Factor all the code that does "Execute a list of lldb command interpreter... · e16c50a1
      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
      e16c50a1
    • Johnny Chen's avatar
      ae147caf
    • Johnny Chen's avatar
      a18ae1ff
    • Johnny Chen's avatar
      Removed redundant entry EmulateTBB() (there's an existing one EmulateTB()) and fixed some typos · d4926266
      Johnny Chen authored
      in section headings.
      
      llvm-svn: 125796
      d4926266
    • Johnny Chen's avatar
      Fix a bug in EmulateTB() (TBB, TBH) where the branch length should be "twice" · 2a7e05a3
      Johnny Chen authored
      the value of the byte/halfword returned from the table.
      
      llvm-svn: 125793
      2a7e05a3
    • Caroline Tice's avatar
      · 16443905
      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
      16443905
  7. Feb 17, 2011
Loading