Skip to content
  1. Feb 29, 2012
    • Sean Callanan's avatar
      Made the IR interpreter handle GetElementPtr instructions · 3f548137
      Sean Callanan authored
      with non-constant indexes.
      
      llvm-svn: 151734
      3f548137
    • Jason Molenda's avatar
      Fix a recursion that could happen when creating the first frame in · 7ac23ac4
      Jason Molenda authored
      an unwind because RegisterContextLLDB::InitializeZerothFrame() would
      create a minimal stack frame to fetch the pc value of the current
      instruction.  This proved fragile when another section of code was
      trying to create the first stack frame and UnwindLLDB called
      RegisterContextLLDB which tried to create its minimal stack frame.
      
      Instead, get the live RegisterContext, retrieve the pc value from
      the registers, and create an Address object from that.
      
      llvm-svn: 151714
      7ac23ac4
    • Greg Clayton's avatar
      <rdar://problem/10605072> · a9f7b79d
      Greg Clayton authored
      Added the ability to override command line commands. In some cases GUI interfaces
      might want to intercept commands like "quit" or "process launch" (which might cause
      the process to re-run). They can now do so by overriding/intercepting commands
      by using functions added to SBCommandInterpreter using a callback function. If the
      callback function returns true, the command is assumed to be handled. If false
      is returned the command should be evaluated normally.
      
      Adopted this up in the Driver.cpp for intercepting the "quit" command.
      
      llvm-svn: 151708
      a9f7b79d
    • Jim Ingham's avatar
      Make the StackFrameList::GetFrameAtIndex only fetch as many stack frames as needed to · b0c72a5f
      Jim Ingham authored
      get the frame requested.
      <rdar://problem/10943135>
      
      llvm-svn: 151705
      b0c72a5f
    • 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
    • Johnny Chen's avatar
      Patch from Filipe Cabecinhas! · 1cf107c4
      Johnny Chen authored
      Attached is a small python fix to save the current stout and std err when starting a python session, then diverting them (as it was before), and restoring the previous values afterwards. Otherwise, a python script could suddenly find itself without output.
      
      llvm-svn: 151693
      1cf107c4
    • Johnny Chen's avatar
      rdar://problem/10652076 · e979eda7
      Johnny Chen authored
      Initial step -- infrastructure change -- to fix the bug.  Change the RegisterInfo data structure
      to contain two additional fields (uint32_t *value_rges and uint32_t *invalidate_regs) to facilitate
      architectures which have register mapping.
      
      Update all existing RegsiterInfo arrays to have two extra NULL's (the additional fields) in each row,
      GDBRemoteRegisterContext.cpp is modified to add d0-d15 and q0-q15 register info entries which take
      advantage of the value_regs field to specify the containment relationship:
      
      d0 -> (s0, s1)
      ...
      d15 -> (s30, s31)
      q0 -> (d0, d1)
      ...
      q15 -> (d30, d31)
      
      llvm-svn: 151686
      e979eda7
    • Han Ming Ong's avatar
      <rdar://10950312> · cec8c90a
      Han Ming Ong authored
      Need to GetProcess() to set the uid of the process to attach.
      
      llvm-svn: 151679
      cec8c90a
    • Han Ming Ong's avatar
      <rdar://10950196> · 1c0c51a5
      Han Ming Ong authored
      Returns true when there is any info retrieved.
      
      llvm-svn: 151678
      1c0c51a5
    • Han Ming Ong's avatar
      Fixed a crasher for remote device debugging. · ea4e8492
      Han Ming Ong authored
      llvm-svn: 151677
      ea4e8492
  2. Feb 28, 2012
  3. Feb 27, 2012
  4. Feb 26, 2012
    • Greg Clayton's avatar
      Made a ModuleSpec class in Module.h which can specify a module using one or · b9a01b39
      Greg Clayton authored
      more of the local path, platform path, associated symbol file, UUID, arch,
      object name and object offset. This allows many of the calls that were
      GetSharedModule to reduce the number of arguments that were used in a call
      to these functions. It also allows a module to be created with a ModuleSpec
      which allows many things to be specified prior to any accessors being called
      on the Module class itself. 
      
      I was running into problems when adding support for "target symbol add"
      where you can specify a stand alone debug info file after debugging has started
      where I needed to specify the associated symbol file path and if I waited until
      after construction, the wrong  symbol file had already been located. By using
      the ModuleSpec it allows us to construct a module with as little or as much
      information as needed and not have to change the parameter list.
      
      llvm-svn: 151476
      b9a01b39
  5. Feb 25, 2012
  6. Feb 24, 2012
    • Greg Clayton's avatar
      Fixed a crasher that was happening after making ObjectFile objects have a · c7f09cca
      Greg Clayton authored
      weak reference back to the Module. We were crashing when trying to make a
      memory object file since it was trying to get the object in the Module 
      constructor before the "Module *" had been put into a shared pointer, and the
      module was trying to initialize a weak pointer back to it.
      
      llvm-svn: 151397
      c7f09cca
    • Greg Clayton's avatar
      Fixed the launching code when using the new SBLaunchInfo. · 38d1f051
      Greg Clayton authored
      llvm-svn: 151392
      38d1f051
    • Johnny Chen's avatar
      Makefiles for new mach-core directory. · 45178a26
      Johnny Chen authored
      Patch from dawn@burble.org!
      
      llvm-svn: 151375
      45178a26
    • Jim Ingham's avatar
      e8dd1307
    • 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
    • Greg Clayton's avatar
      <rdar://problem/10103468> · e72dfb32
      Greg Clayton authored
      I started work on being able to add symbol files after a debug session
      had started with a new "target symfile add" command and quickly ran into
      problems with stale Address objects in breakpoint locations that had 
      lldb_private::Section pointers into modules that had been removed or 
      replaced. This also let to grabbing stale modules from those sections. 
      So I needed to thread harded the Address, Section and related objects.
      
      To do this I modified the ModuleChild class to now require a ModuleSP
      on initialization so that a weak reference can created. I also changed
      all places that were handing out "Section *" to have them hand out SectionSP.
      All ObjectFile, SymbolFile and SymbolVendors were inheriting from ModuleChild
      so all of the find plug-in, static creation function and constructors now
      require ModuleSP references instead of Module *. 
      
      Address objects now have weak references to their sections which can
      safely go stale when a module gets destructed. 
      
      This checkin doesn't complete the "target symfile add" command, but it
      does get us a lot clioser to being able to do such things without a high
      risk of crashing or memory corruption.
      
      llvm-svn: 151336
      e72dfb32
    • 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
  7. Feb 23, 2012
    • Jason Molenda's avatar
    • Sean Callanan's avatar
      Added support for looking up the complete type for · 7277284f
      Sean Callanan authored
      Objective-C classes.  This allows LLDB to find
      ivars declared in class extensions in modules other
      than where the debugger is currently stopped (we
      already supported this when the debugger was
      stopped in the same module as the definition).
      
      This involved the following main changes:
      
      - The ObjCLanguageRuntime now knows how to hunt
        for the authoritative version of an Objective-C
        type.  It looks for the symbol indicating a
        definition, and then gets the type from the
        module containing that symbol.
      
      - ValueObjects now report their type with a
        potential override, and the override is set if
        the type of the ValueObject is an Objective-C
        class or pointer type that is defined somewhere
        other than the original reported type.  This
        means that "frame variable" will always use the
        complete type if one is available.
      
      - The ClangASTSource now looks for the complete
        type when looking for ivars.  This means that
        "expr" will always use the complete type if one
        is available.
      
      - I added a testcase that verifies that both
        "frame variable" and "expr" work.
      
      llvm-svn: 151214
      7277284f
  8. Feb 22, 2012
Loading