Skip to content
  1. Sep 15, 2011
    • Sean Callanan's avatar
      This patch modifies the expression parser to allow it · 3bfdaa2a
      Sean Callanan authored
      to execute expressions even in the absence of a process.
      This allows expressions to run in situations where the
      target cannot run -- e.g., to perform calculations based
      on type information, or to inspect a binary's static
      data.
      
      This modification touches the following files:
      
      lldb-private-enumerations.h
        Introduce a new enum specifying the policy for
        processing an expression.  Some expressions should
        always be JITted, for example if they are functions
        that will be used over and over again.  Some
        expressions should always be interpreted, for
        example if the target is unsafe to run.  For most,
        it is acceptable to JIT them, but interpretation
        is preferable when possible.
      
      Target.[h,cpp]
        Have EvaluateExpression now accept the new enum.
      
      ClangExpressionDeclMap.[cpp,h]
        Add support for the IR interpreter and also make
        the ClangExpressionDeclMap more robust in the 
        absence of a process.
      
      ClangFunction.[cpp,h]
        Add support for the new enum.
      
      IRInterpreter.[cpp,h]
        New implementation.
      
      ClangUserExpression.[cpp,h]
        Add support for the new enum, and for running 
        expressions in the absence of a process.
      
      ClangExpression.h
        Remove references to the old DWARF-based method
        of evaluating expressions, because it has been
        superseded for now.
      
      ClangUtilityFunction.[cpp,h]
        Add support for the new enum.
      
      ClangExpressionParser.[cpp,h]
        Add support for the new enum, remove references
        to DWARF, and add support for checking whether
        the expression could be evaluated statically.
      
      IRForTarget.[h,cpp]
        Add support for the new enum, and add utility
        functions to support the interpreter.
      
      IRToDWARF.cpp
        Removed
      
      CommandObjectExpression.cpp
        Remove references to the obsolete -i option.
      
      Process.cpp 
        Modify calls to ClangUserExpression::Evaluate
        to pass the correct enum (for dlopen/dlclose)
      
      SBValue.cpp
        Add support for the new enum.
      
      SBFrame.cpp
        Add support for he new enum.
      
      BreakpointOptions.cpp
        Add support for the new enum.
      
      llvm-svn: 139772
      3bfdaa2a
    • Johnny Chen's avatar
      Modify MachThread::NotifyException() to allow the arch specific protocol to process · 88c1b77f
      Johnny Chen authored
      the passed in (MachException::Data &)exc first before possible reassignment of the
      member m_stop_exception with exc.  This allows lldb to stop at the watchpoint of
      a simple test program.
      
      llvm-svn: 139767
      88c1b77f
    • Jim Ingham's avatar
      Take out all the separate places in Attach where we were getting the target... · 4299fdb1
      Jim Ingham authored
      Take out all the separate places in Attach where we were getting the target architecture, and move that but of functionality into CompleteAttach.
      
      llvm-svn: 139766
      4299fdb1
    • Jim Ingham's avatar
      Change the "attach" command to always wait synchronously for the target to... · 31412642
      Jim Ingham authored
      Change the "attach" command to always wait synchronously for the target to stop.  It's not very useful to return the prompt in mid-attach, and it makes reporting the result of the attach hard to do.
      
      llvm-svn: 139764
      31412642
    • Jim Ingham's avatar
      Fix ArchSpec::operator== to take the Triple into account as well as the Core. ... · 4d9695a2
      Jim Ingham authored
      Fix ArchSpec::operator== to take the Triple into account as well as the Core.  Also make the constructors explicit.
      
      llvm-svn: 139762
      4d9695a2
    • Jim Ingham's avatar
      Fix ArchSpec::operator== to take the Triple into account as well as the Core. ... · e76b036e
      Jim Ingham authored
      Fix ArchSpec::operator== to take the Triple into account as well as the Core.  Also make the constructors explicit.
      
      llvm-svn: 139761
      e76b036e
    • Jason Molenda's avatar
      · 995cd3a5
      Jason Molenda authored
      Have the FuncUnwinder object request & provide an architecture-defined
      UnwindPlan for unwinding from the first instruction of an otherwise
      unknown function call (GetUnwindPlanArchitectureDefaultAtFunctionEntry()).
      
      Update RegisterContextLLDB::GetFullUnwindPlanForFrame() to detect the
      case of a frame 0 at address 0x0 which indicates that we jumped through
      a NULL function pointer.  Use the ABI's FunctionEntryUnwindPlan to
      find the caller frame.
      
      These changes make it so lldb can identify the calling frame correctly
      in code like
      
      int main ()
      {
        void (*f)(void) = 0;
        f();
      }
      
      llvm-svn: 139760
      995cd3a5
    • Greg Clayton's avatar
      e1dadb83
    • Johnny Chen's avatar
  2. Sep 14, 2011
  3. Sep 13, 2011
  4. Sep 12, 2011
  5. Sep 11, 2011
    • Greg Clayton's avatar
      Fixes for Symtab.cpp to take advantage of the new unique C string map · 38e953dd
      Greg Clayton authored
      changes that were just submitted.
      
      llvm-svn: 139478
      38e953dd
    • Greg Clayton's avatar
      Added extra calls to the UniqueCStringMap to allow it to be used · c0a87652
      Greg Clayton authored
      more efficiently when it contains a large number of items. Since
      the map is actually a vector of "const char *" and type T values,
      it will double in size every time you append to it. The extra
      added functions allow the collection to be sized to fit the data
      after all entries have been appended, and lookups by name or by
      regex have been built in to the class to allow efficient lookup.
      
      llvm-svn: 139477
      c0a87652
    • Greg Clayton's avatar
      Don't skip the application specific ~/.lldbinit file when the program · 14a3551a
      Greg Clayton authored
      name is "lldb". So currently when you startup any application and you
      have not specified that you would like to skip loading init files through
      the API or from "lldb" options, then LLDB will try and load:
      
      "~/.lldbinit-%s" where %s the basename of your program
      "~/.lldbinit"
      
      Then LLDB will load any program specified on the command line and then
      source the "./.llbinit" file for any temporary debug session specific
      commands.
      
      I want this feature because I have thread and frame formats that do
      ANSI color codes that I only want to load when running in a terminal
      which is when I am running the "lldb" command line program.
      
      llvm-svn: 139476
      14a3551a
  6. Sep 10, 2011
Loading