Skip to content
  1. Nov 29, 2012
  2. Nov 27, 2012
  3. Nov 20, 2012
  4. Nov 17, 2012
  5. Nov 15, 2012
  6. Nov 14, 2012
  7. Nov 10, 2012
  8. Nov 08, 2012
    • Enrico Granata's avatar
      Minor cleanups to the new ModuleList notification APIs: passing in the... · efe637d4
      Enrico Granata authored
      Minor cleanups to the new ModuleList notification APIs: passing in the ModuleList as part of the callbacks, and not copying the notifier as part of copy constructing and assigning
      
      llvm-svn: 167592
      efe637d4
    • Enrico Granata's avatar
      <rdar://problem/12586350> · 1759848b
      Enrico Granata authored
      This commit does three things:
      (a) introduces a new notification model for adding/removing/changing modules to a ModuleList, and applies it to the Target's ModuleList, so that we make sure to always trigger the right set of actions
      whenever modules come and go in a target. Certain spots in the code still need to "manually" notify the Target for several reasons, so this is a work in progress
      (b) adds a new capability to the Platforms: locating a scripting resources associated to a module. A scripting resource is a Python file that can load commands, formatters, ... and any other action
      of interest corresponding to the loading of a module. At the moment, this is only implemented on Mac OS X and only for files inside .dSYM bundles - the next step is going to be letting
      the frameworks themselves hold their scripting resources. Implementors of platforms for other systems are free to implement "the right thing" for their own worlds
      (c) hooking up items (a) and (b) so that targets auto-load the scripting resources as the corresponding modules get loaded in a target. This has a few caveats at the moment:
       - the user needs to manually add the .py file to the dSYM (soon, it will also work in the framework itself)
       - if two modules with the same name show up during the lifetime of an LLDB session, the second one won't be able to load its scripting resource, but will otherwise work just fine
      
      llvm-svn: 167569
      1759848b
  9. Nov 06, 2012
  10. Nov 02, 2012
    • Sean Callanan's avatar
      Extra safeguards to ensure that we never query · 5540094c
      Sean Callanan authored
      the runtime if we have complete debug information
      for a class.
      
      Also made the Objective-C language runtime return
      NULL when asked for the complete debug information
      (i.e., information from DWARF, not information from
      the runtime) if that information isn't present.  It
      used to return a non-authoritative version, which
      made it hard for clients to determine whether
      complete debug information was available.
      
      <rdar://problem/12608895>
      
      llvm-svn: 167299
      5540094c
  11. Oct 31, 2012
  12. Oct 29, 2012
    • Greg Clayton's avatar
      <rdar://problem/12500785> · 35a4cc5e
      Greg Clayton authored
      I tracked down a leak that could happen when detaching from a process where the lldb_private::Process objects would stay around forever. This was caused by a eStateDetached event that was queued up on the lldb_private::Process private state thread listener. Since process events contain shared pointers to the process, this is dangerous if they don't get consume or cleared as having the lldb_private::Process class contain a collection of things that have a shared pointer to yourself is obviously bad. 
      
      To fix this I modified the Process::Finalize() function to clear this list. The actual thing that was holding onto the ModuleSP and thus the static archive, was a stack frame. Since the process wasn't going away, it still had thread objects and they still had frames. I modified the Thread::Destroy() to clear the stack frames to ensure this further doesn't happen.
      
      llvm-svn: 166964
      35a4cc5e
  13. Oct 26, 2012
  14. Oct 25, 2012
  15. Oct 24, 2012
  16. Oct 23, 2012
  17. Oct 19, 2012
    • Greg Clayton's avatar
      Added the infrastructure necessary for plug-ins to be able to add their own... · e8cd0c98
      Greg Clayton authored
      Added the infrastructure necessary for plug-ins to be able to add their own settings instead of having settings added to existing ones. In particular "target.disable-kext-loading" was added to "target" where it should actually be specific to the the dynamic loader plugin. Now the plug-in manager has the ability to create settings at the root level starting with "plugin". Each plug-in type can add new sub dictionaries, and then each plug-in can register a setting dictionary under its own short name. For example the DynamicLoaderDarwinKernel plug-in now registers a setting dictionary at:
      
      plugin
          dynamic-loader
              macosx-kernel
                  (bool) disable-kext-loading
                  
      To settings can be set using:
      
      (lldb) settings set plugin.dynamic-loader.macosx-kernel.disable-kext-loading true
      
      I currently only hooked up the DynamicLoader plug-ins, but the code is very easy to duplicate when and if we need settings for other plug-ins.
      
      llvm-svn: 166294
      e8cd0c98
    • Jason Molenda's avatar
      Add a new target setting to disable automatic loading of kext images · 87a04b24
      Jason Molenda authored
      in a kernel debug session:
      
      settings set target.disable-kext-loading true
      
      <rdar://problem/12490623>
      
      llvm-svn: 166262
      87a04b24
    • Greg Clayton's avatar
      <rdar://problem/12491420> · c9d645d3
      Greg Clayton authored
      Added a new setting that allows a python OS plug-in to detect threads and provide registers for memory threads. To enable this you set the setting:
      
      settings set target.process.python-os-plugin-path lldb/examples/python/operating_system.py
      
      Then run your program and see the extra threads. 
      
      llvm-svn: 166244
      c9d645d3
  18. Oct 18, 2012
    • Greg Clayton's avatar
      <rdar://problem/12462048> · a0ca6601
      Greg Clayton authored
      <rdar://problem/12068650>
      
      More fixes to how we handle paths that are used to create a target.
      
      This modification centralizes the location where and how what the user specifies gets resolved. Prior to this fix, the TargetList::CreateTarget variants took a FileSpec object which meant everyone had the opportunity to resolve the path their own way. Now both CreateTarget variants take a "const char *use_exe_path" which allows the TargetList::CreateTarget to centralize where the resolving happens and "do the right thing".
      
      llvm-svn: 166186
      a0ca6601
    • Greg Clayton's avatar
      <rdar://problem/12462048> · 45392553
      Greg Clayton authored
      LLDB changes argv[0] when debugging a symlink. Now we have the notion of argv0 in the target settings:
      
      target.arg0 (string) = 
      
      There is also the program argument that are separate from the first argument that have existed for a while:
      
      target.run-args (arguments) =
      
      When running "target create <exe>", we will place the untouched "<exe>" into target.arg0 to ensure when we run, we run with what the user typed. This has been added to the ProcessLaunchInfo and all other needed places so we always carry around the:
      - resolved executable path
      - argv0
      - program args
      
      Some systems may not support separating argv0 from the resolved executable path and the ProcessLaunchInfo needs to carry all of this information along so that each platform can make that decision.
      
      llvm-svn: 166137
      45392553
  19. Oct 16, 2012
  20. Oct 12, 2012
  21. Oct 11, 2012
    • Greg Clayton's avatar
      <rdar://problem/12331741> · f0246d15
      Greg Clayton authored
      Dynamic type code must be efficient and fast. Now it is.
      
      Added ObjC v1 support for getting the complete list of ISA values.
      
      The main flow of the AppleObjCRuntime subclasses is now they must override "virtual bool UpdateISAToDescriptorMap_Impl();". This function will update the complete list of ISA values and create ClassDescriptorSP objects for each one. Now we have the complete list of valid ISA values which we can use for verification when doing dynamic typing.
      
      Refactored a bunch of stuff so that the AppleObjCRuntime subclasses don't have to implement as many functions as they used to.
      
      llvm-svn: 165730
      f0246d15
  22. Oct 10, 2012
    • Jim Ingham's avatar
      Change the Thread constructor over to take a Process& rather than a ProcessSP.... · 4f465cff
      Jim Ingham authored
      Change the Thread constructor over to take a Process& rather than a ProcessSP.  We can't create Threads with a NULL ProcessSP, so it makes no sense to use the SP.
      Then make the Thread a Broadcaster, and get it to broadcast when the selected frame is changed (but only from the Command Line) and when Thread::ReturnFromFrame 
      changes the stack.
      Made the Driver use this notification to print the new thread status rather than doing it in the command.
      Fixed a few places where people were setting their broadcaster class by hand rather than using the static broadcaster class call.
      
      <rdar://problem/12383087>
      
      llvm-svn: 165640
      4f465cff
  23. Oct 09, 2012
  24. Oct 05, 2012
    • Jim Ingham's avatar
    • Jason Molenda's avatar
      Ran the sources through the compiler with -Wshadow warnings · ccd41e55
      Jason Molenda authored
      enabled after we'd found a few bugs that were caused by shadowed
      local variables; the most important issue this turned up was
      a common mistake of trying to obtain a mutex lock for the scope
      of a code block by doing
      
              Mutex::Locker(m_map_mutex);
      
      This doesn't assign the lock object to a local variable; it is
      a temporary that has its dtor called immediately.  Instead,
      
              Mutex::Locker locker(m_map_mutex);
      
      does what is intended.  For some reason -Wshadow happened to
      highlight these as shadowed variables.
      
      I also fixed a few obivous and easy shadowed variable issues
      across the code base but there are a couple dozen more that
      should be fixed when someone has a free minute.
      <rdar://problem/12437585>
      
      llvm-svn: 165269
      ccd41e55
Loading