Skip to content
  1. Jul 15, 2011
    • Johnny Chen's avatar
      Add some more docstrings for SBCompileUnit and SBBreakpoint, plus incorporate... · 135f63fb
      Johnny Chen authored
      Add some more docstrings for SBCompileUnit and SBBreakpoint, plus incorporate the doxgen doc block of
      
      SBValue::GetChildAtIndex(uint32_t idx, 
                               lldb::DynamicValueType use_dynamic,
                               bool can_create_synthetic);
      
      into the SBValue docstrings.
      
      llvm-svn: 135295
      135f63fb
    • Enrico Granata's avatar
      Python summary strings: · f2bbf717
      Enrico Granata authored
       - you can use a Python script to write a summary string for data-types, in one of
         three ways:
          -P option and typing the script a line at a time
          -s option and passing a one-line Python script
          -F option and passing the name of a Python function
         these options all work for the "type summary add" command
         your Python code (if provided through -P or -s) is wrapped in a function
         that accepts two parameters: valobj (a ValueObject) and dict (an LLDB
         internal dictionary object). if you use -F and give a function name,
         you're expected to define the function on your own and with the right
         prototype. your function, however defined, must return a Python string
       - test case for the Python summary feature
       - a few quirks:
        Python summaries cannot have names, and cannot use regex as type names
        both issues will be fixed ASAP
      major redesign of type summary code:
       - type summary working with strings and type summary working with Python code
         are two classes, with a common base class SummaryFormat
       - SummaryFormat classes now are able to actively format objects rather than
         just aggregating data
       - cleaner code to print descriptions for summaries
      the public API now exports a method to easily navigate a ValueObject hierarchy
      New InputReaderEZ and PriorityPointerPair classes
      Several minor fixes and improvements
      
      llvm-svn: 135238
      f2bbf717
  2. Jul 14, 2011
  3. Jul 09, 2011
  4. Jul 06, 2011
  5. Jul 03, 2011
  6. Jul 02, 2011
  7. Jul 01, 2011
  8. Jun 30, 2011
  9. Jun 14, 2011
    • Peter Collingbourne's avatar
      Generalise pattern for matching IsValid signature · 059640b5
      Peter Collingbourne authored
      Previously the IsValid pattern matched only function signatures of
      the form:
          def IsValid(*args): ...
      
      However under SWIG 1.3.40 on Linux the signature reads:
          def IsValid(self): ...
      
      The new pattern matches both signature types by matching only up to
      the left paren.
      
      llvm-svn: 132968
      059640b5
  10. Jun 10, 2011
  11. Jun 03, 2011
  12. Jun 01, 2011
  13. May 27, 2011
  14. May 25, 2011
  15. May 24, 2011
  16. May 23, 2011
    • Sean Callanan's avatar
      This commit integrates support for the LLVM MCJIT · 79763a42
      Sean Callanan authored
      into the mainline LLDB codebase.  MCJIT introduces
      API improvements and better architectural support.
      
      This commit adds a new subsystem, the
      ProcessDataAllocator, which is responsible for
      performing static data allocations on behalf of the
      IR transformer.  MCJIT currently does not support
      the relocations required to store the constant pool
      in the same allocation as the function body, so we
      allocate a heap region separately and redirect
      static data references from the expression to that
      heap region in a new IR modification pass.
      
      This patch also fixes bugs in the IR
      transformations that were exposed by the transition
      to the MCJIT.  Finally, the patch also pulls in a
      more recent revision of LLVM so that the MCJIT is
      available for use.
      
      llvm-svn: 131923
      79763a42
  17. May 20, 2011
    • Greg Clayton's avatar
      Fixed an issue in GDBRemoteCommunicationClient where we weren't listening to · 5fe15d2d
      Greg Clayton authored
      the "payload_length" argument for the "payload" packet data. This meant we 
      could end up sending random extra data with a packet depending on how the 
      packet was constructed.
      
      Fixed GDBRemoteRegisterContext to properly save and restore all registers. 
      Previous fixes had been added to work around the "payload_length" issues fixed
      above and aren't needed anymore.
      
      Fix logging in GDBRemoteCommunication to make sure we log the correct packet
      data being sent by using the packet length when dumping the packet contents.
      
      Added register definitions for 'arm-lldb' in the "disasm-gdb-remote.pl" script
      so if you have a register dump from the GDB remote that doesn't include the
      qRegisterInfo packets, you can manually tell the script which registers are
      which.
      
      llvm-svn: 131715
      5fe15d2d
    • Greg Clayton's avatar
      Added a perl script to disassemble, into human readable form, the GDB remote · e51dc6f3
      Greg Clayton authored
      packet output from "log enable gdb-remote packets". This should help people
      track down and see what is going wrong more easily when you have log output
      that includes GDB remote packets.
      
      llvm-svn: 131713
      e51dc6f3
  18. May 18, 2011
  19. May 16, 2011
  20. May 02, 2011
  21. Apr 29, 2011
  22. Apr 28, 2011
    • Johnny Chen's avatar
      Move the iteration protocol of lldb objects to the auto-generated lldb Python module. · fbc0d271
      Johnny Chen authored
      This is so that the objects which support the iteration protocol are immediately obvious
      from looking at the lldb.py file.
      
      SBTarget supports two types of iterations: module and breakpoint.  For an SBTarget instance,
      you will need to issue either:
      
          for m in target.module_iter()
      
      or
      
          for b in target.breakpoint_iter()
      
      For other single iteration protocol objects, just use, for example:
      
          for thread in process:
              ID = thread.GetThreadID()
              for frame in thread:
                  frame.Disassemble()
                  ....
      
      llvm-svn: 130442
      fbc0d271
  23. Apr 25, 2011
    • Johnny Chen's avatar
      Make SBBreakpointLocation::GetDescription() API to be consistent with SBTarget, · fc87e2dd
      Johnny Chen authored
      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
      fc87e2dd
  24. Apr 22, 2011
    • Greg Clayton's avatar
      Did some work on the "register read" command to only show the first register · 385aa28c
      Greg Clayton authored
      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
      385aa28c
Loading