Skip to content
  1. Apr 19, 2012
  2. Apr 14, 2012
    • Sean Callanan's avatar
      Updated LLVM to take a variety of fixes to · 0fcd749a
      Sean Callanan authored
      disassembler problems:
      
      - r153766, fixing a crash disassembling vmov
      - r154628, fixing relative branches
      - r154459, fixing a crash disassembling vld
      - r154544, fixing a crash disassembling vst
      
      llvm-svn: 154722
      0fcd749a
  3. Apr 13, 2012
  4. Apr 11, 2012
  5. Apr 02, 2012
  6. Apr 01, 2012
  7. Mar 29, 2012
    • Enrico Granata's avatar
      Part 1 of a series of fixes meant to improve reliability and increase ease of... · d50f18b1
      Enrico Granata authored
      Part 1 of a series of fixes meant to improve reliability and increase ease of bug fixing for data formatter issues.
      We are introducing a new Logger class on the Python side. This has the same purpose, but is unrelated, to the C++ logging facility
      The Pythonic logging can be enabled by using the following scripting commands:
      (lldb) script Logger._lldb_formatters_debug_level = {0,1,2,...}
      0 = no logging
      1 = do log
      2 = flush after logging each line - slower but safer
      3 or more = each time a Logger is constructed, log the function that has created it
      more log levels may be added, each one being more log-active than the previous
      by default, the log output will come out on your screen, to direct it to a file:
      (lldb) script Logger._lldb_formatters_debug_filename = 'filename'
      that will make the output go to the file - set to None to disable the file output and get screen logging back
      Logging has been enabled for the C++ STL formatters and for Cocoa class NSData - more logging will follow
      
      
      synthetic children providers for classes list and map (both libstdcpp and libcxx) now have internal capping for safety reasons
      this will fix crashers where a malformed list or map would not ever meet our termination conditions
      
      to set the cap to a different value:
      
      (lldb) script {gnu_libstdcpp|libcxx}.{map|list}_capping_size = new_cap (by default, it is 255)
      
      you can optionally disable the loop detection algorithm for lists
      
      (lldb) script {gnu_libstdcpp|libcxx}.list_uses_loop_detector = False
      
      llvm-svn: 153676
      d50f18b1
  8. Mar 28, 2012
  9. Mar 27, 2012
    • Enrico Granata's avatar
      adding a summary for Objective-C type 'Class' · bf70ee97
      Enrico Granata authored
      llvm-svn: 153541
      bf70ee97
    • Enrico Granata's avatar
      Synthetic values are now automatically enabled and active by default. SBValue... · c5bc412c
      Enrico Granata authored
      Synthetic values are now automatically enabled and active by default. SBValue is set up to always wrap a synthetic value when one is available.
      A new setting enable-synthetic-value is provided on the target to disable this behavior.
      There also is a new GetNonSyntheticValue() API call on SBValue to go back from synthetic to non-synthetic. There is no call to go from non-synthetic to synthetic.
      The test suite has been changed accordingly.
      Fallout from changes to type searching: an hack has to be played to make it possible to use maps that contain std::string due to the special name replacement operated by clang
      Fixing a test case that was using libstdcpp instead of libc++ - caught as a consequence of said changes to type searching
      
      llvm-svn: 153495
      c5bc412c
  10. Mar 26, 2012
    • Sean Callanan's avatar
      <rdar://problem/11022964> · 91e1080b
      Sean Callanan authored
      Patched LLVM to handle generic i386 relocations.
      This avoids some sudden termination problems on
      i386 where the JIT would exit() out reporting
      "Invalid CPU type!"
      
      llvm-svn: 153467
      91e1080b
  11. Mar 24, 2012
    • Enrico Granata's avatar
      Adding a new API call IsTypeComplete() to SBType. This call is meant to check... · 86027e95
      Enrico Granata authored
      Adding a new API call IsTypeComplete() to SBType. This call is meant to check if the type has been previously completed or not (which is mostly interesting from a performance point of view)
      
      Adding a test case that checks that we do not complete types before due time. This should help us track cases similar to the cascading data formatters.
      
      llvm-svn: 153363
      86027e95
  12. Mar 22, 2012
  13. Mar 21, 2012
    • Sean Callanan's avatar
      Added a local patch to reflect an LLVM fix for · 8ce585f8
      Sean Callanan authored
      relocations (LLVM revision 153147).  Now when
      we report section locations in the target process,
      LLVM will apply both those relocations whose
      targets are in that section and those relocations
      which reside in that section and point to other
      sections.
      
      llvm-svn: 153199
      8ce585f8
  14. Mar 19, 2012
    • Enrico Granata's avatar
      Massive enumeration name changes: a number of enums in ValueObject were not... · 86cc9829
      Enrico Granata authored
      Massive enumeration name changes: a number of enums in ValueObject were not following the naming pattern
      Changes to synthetic children:
       - the update(self): function can now (optionally) return a value - if it returns boolean value True, ValueObjectSyntheticFilter will not clear its caches across stop-points
         this should allow better performance for Python-based synthetic children when one can be sure that the child ValueObjects have not changed
       - making a difference between a synthetic VO and a VO with a synthetic value: now a ValueObjectSyntheticFilter will not return itself as its own synthetic value, but will (correctly)
         claim to itself be synthetic
       - cleared up the internal synthetic children architecture to make a more consistent use of pointers and references instead of shared pointers when possible
       - major cleanup of unnecessary #include, data and functions in ValueObjectSyntheticFilter itself
       - removed the SyntheticValueType enum and replaced it with a plain boolean (to which it was equivalent in the first place)
      Some clean ups to the summary generation code
      Centralized the code that clears out user-visible strings and data in ValueObject
      More efficient summaries for libc++ containers
      
      llvm-svn: 153061
      86cc9829
  15. Mar 17, 2012
  16. Mar 16, 2012
  17. Mar 12, 2012
    • Enrico Granata's avatar
      Added formatters for libc++ (http://libcxx.llvm.org): · c7f87306
      Enrico Granata authored
       std::string has a summary provider
       std::vector std::list and std::map have both a summary and a synthetic children provider
      Given the usage of a custom namespace (std::__1::classname) for the implementation of libc++, we keep both libstdcpp and libc++ formatters enabled at the same time since that raises no conflicts and enabled for seamless transition between the two
      The formatters for libc++ reside in a libcxx category, and are loaded from libcxx.py (to be found in examples/synthetic)
      
      The formatters-stl test cases have been divided to be separate for libcxx and libstdcpp. This separation is necessary because
       (a) we need different compiler flags for libc++ than for libstdcpp
       (b) libc++ inlines a lot more than libstdcpp and some code changes were required to accommodate this difference
      
      llvm-svn: 152570
      c7f87306
  18. Mar 08, 2012
    • Sean Callanan's avatar
      Updated the revision of LLVM/Clang used by LLDB. · 226b70c1
      Sean Callanan authored
      This takes two important changes:
      
      - Calling blocks is now supported.  You need to
        cast their return values, but that works fine.
      
      - We now can correctly run JIT-compiled
        expressions that use floating-point numbers.
      
      Also, we have taken a fix that allows us to
      ignore access control in Objective-C as in C++.
      
      llvm-svn: 152286
      226b70c1
  19. Mar 06, 2012
  20. Mar 05, 2012
  21. Mar 03, 2012
    • Enrico Granata's avatar
      added a new formatter for CF(Mutable)BitVector · 385ad4e4
      Enrico Granata authored
      fixed a few potential NULL-pointer derefs in ValueObject
      we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits
      added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain
      
      llvm-svn: 151962
      385ad4e4
  22. Mar 02, 2012
  23. Mar 01, 2012
    • Enrico Granata's avatar
      (a) adding an introspection formatter for NS(Mutable)IndexSet · 896cd1d3
      Enrico Granata authored
      (b) fixes and improvements to the formatters for NSDate and NSString
      (c) adding an introspection formatter for NSCountedSet
      (d) making the Objective-C formatters test cases pass on both 64 and 32 bit
          one of the test cases is marked as expected failure on i386 - support needs to be added to the LLDB core for it to pass
      
      llvm-svn: 151826
      896cd1d3
    • Sean Callanan's avatar
      Updated LLVM to take a new MC JIT that supports · d5f33a86
      Sean Callanan authored
      allocations by section.  We install these sections
      in the target process and inform the JIT of their
      new locations.
      
      Also removed some unused variable warnings.
      
      llvm-svn: 151789
      d5f33a86
  24. Feb 29, 2012
    • Enrico Granata's avatar
      This commit: · 7bc0ec3a
      Enrico Granata authored
       a) adds a Python summary provider for NSDate
       b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around
       c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side
       d) contains much needed performance improvements:
          1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time
          2) redundant memory reads in the Python ObjC runtime wrapper are eliminated
          3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object
       e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure
      
      llvm-svn: 151703
      7bc0ec3a
  25. Feb 25, 2012
  26. Feb 24, 2012
    • Greg Clayton's avatar
      Fixed the launching code when using the new SBLaunchInfo. · 38d1f051
      Greg Clayton authored
      llvm-svn: 151392
      38d1f051
    • Greg Clayton's avatar
      Added the new way we will eventually do all attaches and launches. First clients · 0e615684
      Greg Clayton authored
      will fill out either a SBLaunchInfo or SBAttachInfo class, then call:
      
      SBProcess SBTarget::Launch (SBLaunchInfo &, SBError &);
      SBProcess SBTarget::Attach (SBAttachInfo &, SBError &);
      
      The attach is working right now and allows the ability to set many filters such
      as the parent process ID, the user/group ID, the effective user/group ID, and much
      more.
      
      The launch is not yet working, but I will get this working soon. By changing our
      launch and attach calls to take an object, it allows us to add more capabilities to
      launching and attaching without having to have launch and attach functions that
      take more and more arguments. 
      
      Once this is all working we will deprecated the older launch and attach fucntions
      and eventually remove them.
      
      llvm-svn: 151344
      0e615684
    • Sean Callanan's avatar
      Updated LLVM to take some fixes that make the · 6f298a64
      Sean Callanan authored
      Intel disassembler usable.
      
      Also flipped the switch: we are now exclusively
      using Disassembler.h instead of
      EnhancedDisassembly.h for all disassembly in
      LLDB.
      
      llvm-svn: 151306
      6f298a64
    • Enrico Granata's avatar
      This patch provides a set of formatters for most of the commonly used Cocoa classes. · d3d444f8
      Enrico Granata authored
      The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
      A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
      The formatters are contained in a category named "AppKit", which is not enabled at startup.
      
      llvm-svn: 151299
      d3d444f8
  27. Feb 23, 2012
  28. Feb 22, 2012
  29. Feb 21, 2012
Loading