Skip to content
  1. Mar 29, 2012
  2. Mar 28, 2012
  3. Mar 27, 2012
    • Enrico Granata's avatar
      adding a summary for Objective-C type 'Class' · bf70ee97
      Enrico Granata authored
      llvm-svn: 153541
      bf70ee97
    • Johnny Chen's avatar
      Commented out printf's for the time being. · f216c7df
      Johnny Chen authored
      llvm-svn: 153540
      f216c7df
    • Greg Clayton's avatar
      lldb_private::Section objects have a boolean flag that can be set that · 741f3f9a
      Greg Clayton authored
      indicates that the section is thread specific. Any functions the load a module
      given a slide, will currently ignore any sections that are thread specific.
      
      lldb_private::Section now has:
      
      bool
      Section::IsThreadSpecific () const
      {
          return m_thread_specific;
      }
      
      void
      Section::SetIsThreadSpecific (bool b)
      {
          m_thread_specific = b;
      }
      
      The ELF plug-in has been modified to set this for the ".tdata" and the ".tbss"
      sections.
      
      Eventually we need to have each lldb_private::Thread subclass be able to 
      resolve a thread specific section, but for now they will just not resolve. The
      code for that should be trivual to add, but the address resolving functions
      will need to be changed to take a "ExecutionContext" object instead of just
      a target so that thread specific sections can be resolved.
      
      llvm-svn: 153537
      741f3f9a
    • Greg Clayton's avatar
      Fixed a few things in the ELF object file: · 47037bc4
      Greg Clayton authored
      1 - sections only get a valid VM size if they have SHF_ALLOC in the section flags
      2 - symbol names are marked as mangled if they start with "_Z"
      
      Also fixed the DWARF parser to correctly use the section file size when extracting the DWARF.
      
      llvm-svn: 153496
      47037bc4
    • 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
    • Greg Clayton's avatar
      <rdar://problem/11113279> · 84db9105
      Greg Clayton authored
      Fixed type lookups to "do the right thing". Prior to this fix, looking up a type using "foo::bar" would result in a type list that contains all types that had "bar" as a basename unless the symbol file was able to match fully qualified names (which our DWARF parser does not). 
      
      This fix will allow type matches to be made based on the basename and then have the types that don't match filtered out. Types by name can be fully qualified, or partially qualified with the new "bool exact_match" parameter to the Module::FindTypes() method.
      
      This fixes some issue that we discovered with dynamic type resolution as well as improves the overall type lookups in LLDB.
      
      llvm-svn: 153482
      84db9105
    • Johnny Chen's avatar
      If creation of watchpoint failed on the device, make sure the list maintained... · 41b77265
      Johnny Chen authored
      If creation of watchpoint failed on the device, make sure the list maintained by the target reflects that by cleaning it up.
      
      llvm-svn: 153477
      41b77265
  4. Mar 25, 2012
  5. Mar 24, 2012
  6. Mar 23, 2012
  7. Mar 22, 2012
    • Greg Clayton's avatar
      <rdar://problem/11095005> · e26928c5
      Greg Clayton authored
      Fixed a performance regression when dynamic types are enable where we would ask a C++ type if it can possibly be dynamic. Previously we would force the type to complete itself and then anwwer the question definitively. Now we ask the type if it is already complete and only definitively answer the question for completed types and just say "yes" for non-complete C++ types. We also always now answer yes for Objective C classes and do not complete those types either.
      
      llvm-svn: 153284
      e26928c5
    • Jason Molenda's avatar
      SBTypeCategory::GetName returns const char* so return · c4530bfe
      Jason Molenda authored
      NULL instead of false if no valid name (fixes compiler
      warning).
      
      llvm-svn: 153282
      c4530bfe
    • Sean Callanan's avatar
      Resolved two problems in the disassembler: · 745af46e
      Sean Callanan authored
       - Addresses with no description were given
         comments, leading to useless comments like 
         "; , "
      
       - Addresses weren't resolved with respect
         to the correct module.
      
      llvm-svn: 153274
      745af46e
    • Enrico Granata's avatar
      Removing cascading through inheritance chains for data formatters · 4a3274af
      Enrico Granata authored
      This is the feature that allowed the user to have things like:
      
      class Base { ... };
      class Derived : public Base { ... };
      
      and have formatters defined for Base work automatically for Derived.
      
      This feature turned out to be too expensive since it requires completing types.
      
      This patch takes care of removing cascading (other than typedefs chain cascading), updating the test suite accordingly, and adding required Cocoa class names to keep the AppKit formatters working
      
      llvm-svn: 153272
      4a3274af
    • Greg Clayton's avatar
      Added the ability to log a value object just as a value would be display · f830dbb7
      Greg Clayton authored
      when using the "frame variable" or "target variable" commands.
      
      llvm-svn: 153266
      f830dbb7
    • Sean Callanan's avatar
      Fixed a bug in the disassembler where we did · 3f85b320
      Sean Callanan authored
      not properly print the load addresses for
      PC-relative jumps.
      
      llvm-svn: 153233
      3f85b320
    • Greg Clayton's avatar
      Since we are having issues with the new LLVM MC disassembler, we can have · f8712de5
      Greg Clayton authored
      them both installed with the LLVM MC version being the default. I renamed the
      name of the LLVM MC disassembler plug-in to "llvm-mc" and the LLVM enhanced
      disassembly plug-in to "llvm-edis" and they can both be installed for now.
      
      To use the "llvm-edis" disassembler, you can just specify it while disassembling:
      
      (lldb) disassemble --plugin llvm-edis --name main
      (lldb) disassemble --plugin llvm-mc --name main
      
      This will allow us to compare the output of the two disassembler and eventually
      deprecate the old one when the new one is ready. But it does use the new disassembler
      by default so we continue to test it on a daily basis.
      
      llvm-svn: 153231
      f8712de5
  8. Mar 21, 2012
  9. Mar 20, 2012
  10. 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
    • Greg Clayton's avatar
      <rdar://problem/11072382> · f9be6933
      Greg Clayton authored
      Fixed a case where the source path remappings on the module were too expensive to
      use when we try to verify (stat the file system) that the remapped path points to
      a valid file. Now we will use the lldb_private::Module path remappings (if any) when
      parsing the debug info without verifying that the paths exist so we don't slow down
      line table parsing speeds.
      
      llvm-svn: 153059
      f9be6933
  11. Mar 18, 2012
  12. Mar 17, 2012
  13. Mar 16, 2012
    • Johnny Chen's avatar
      Patch from dawn@burble.org: · 873a7a4b
      Johnny Chen authored
      GetSupportFileAtIndex(), GetNumSupportFiles(), FindSupportFileIndex():
         Add API support for getting the list of files in a compilation unit.
      GetNumCompileUnits(), GetCompileUnitAtIndex():
         Add API support for retrieving the compilation units in a module.
      
      llvm-svn: 152942
      873a7a4b
Loading