Skip to content
  1. Apr 17, 2013
    • Sean Callanan's avatar
      Made the IRInterpreter's methods static, since · 182bd6c0
      Sean Callanan authored
      it doesn't actually hold any important state.
      
      llvm-svn: 179702
      182bd6c0
    • Sean Callanan's avatar
      Made the IRInterpreter be able to operate without · 175187b3
      Sean Callanan authored
      a ClangExpressionDeclMap.  Any functions that
      require value resolution etc. fail if the
      ClangExpressionDeclMap isn't present - which is
      exactly what is desired.
      
      llvm-svn: 179695
      175187b3
    • Daniel Malea's avatar
      Fix Linux build of LLDB · 82363863
      Daniel Malea authored
      - conditionally build mac-specific plugins only on mac (PluginObjectFileMachO, PluginDynamicLoaderDrawinKernel and PluginDynamicLoaderMacOSXDYLD)
      - clean up warnings by ignoring deprecated declarations (auto_ptr for example)
      
      llvm-svn: 179694
      82363863
    • Sean Callanan's avatar
      Removed the "expr" alias for "expression," which · 90e579f2
      Sean Callanan authored
      is entirely unnecessary and confuses the command
      interpreter when the user types "exp".
      
      llvm-svn: 179691
      90e579f2
    • Sean Callanan's avatar
      Updated the IRInterpreter to work with an · 08052afa
      Sean Callanan authored
      IRMemoryMap rather than through its own memory
      abstraction.  This considerably simplifies the
      code, and makes it possible to run the
      IRInterpreter multiple times on an already-parsed
      expression in the absence of a ClangExpressionDeclMap.
      
      Changes include:
      
        - ClangExpressionDeclMap's interface methods
          for the IRInterpreter now take IRMemoryMap
          arguments.  They are not long for this world,
          however, since the IRInterpreter will soon be
          working with materialized variables.
      
        - As mentioned above, removed the Memory class
          from the IR interpreter altogether.  It had a
          few functions that remain useful, such as
          keeping track of Values that have been placed
          in memory, so I moved those into methods on
          InterpreterStackFrame.
      
        - Changed IRInterpreter to work with lldb::addr_t
          rather than Memory::Region as its primary
          currency.
      
        - Fixed a bug in the IRMemoryMap where it did not
          report correct address byte size and byte order
          if no process was present, because it was using
          Target::GetDefaultArchitecture() rather than
          Target::GetArchitecture().
      
        - Made IRMemoryMap methods clear the Errors they
          receive before running.  Having to do this by
          hand is just annoying.
      
      The testsuite seems happy with these changes, but
      please let me know if you see problems (especially
      in use cases without a process).
      
      llvm-svn: 179675
      08052afa
    • Sean Callanan's avatar
      Modified the IRInterpreter to take an IRMemoryMap. · 179b5485
      Sean Callanan authored
      It doesn't use it yet; the next step is to make it
      use the IRMemoryMap instead of its own conjured-up
      Memory class.
      
      llvm-svn: 179650
      179b5485
    • Sean Callanan's avatar
      Flipped the big switch: LLDB now uses the new · 14b1bae5
      Sean Callanan authored
      Materializer for all expressions that need to
      run in the target.  This includes the following
      changes:
      
      - Removed a bunch of (de-)materialization code
        from ClangExpressionDeclMap and assumed the
        presence of a Materializer where we previously
        had a fallback.
      
      - Ensured that an IRMemoryMap is passed into
        ClangExpressionDeclMap::Materialize().
      
      - Fixed object ownership on LLVMContext; it is
        now owned by the IRExecutionUnit, since the
        Module and the ExecutionEngine both depend on
        its existence.
      
      - Fixed a few bugs in IRMemoryMap and the
        Materializer that showed up during testing.
      
      llvm-svn: 179649
      14b1bae5
    • Jason Molenda's avatar
      42b69fa8
    • Jim Ingham's avatar
      Make sure all the threads get a chance to compute their StopInfo's before we start running · 7bc3465f
      Jim Ingham authored
      ShouldStop on the threads, which might destroy information needed to correctly compute another 
      thread's StopInfo.
      
      <rdar://problem/13664026>
      
      llvm-svn: 179641
      7bc3465f
  2. Apr 16, 2013
  3. Apr 15, 2013
  4. Apr 14, 2013
    • Greg Clayton's avatar
      Fixed issues with the way ELF symbols are parsed: · 9594f4c8
      Greg Clayton authored
      - Do not add symbols with no names
      - Make sure that symbols from ELF symbol tables know that the byte size is correct. Previously the symbols would calculate their sizes by looking for the next symbol and take symbols that had zero size and make them have invalid sizes.
      - Added the ability to dump raw ELF symbols by adding a Dump method to ELFSymbol
      
      Also removed some unused code from lldb_private::Symtab.
      
      llvm-svn: 179466
      9594f4c8
  5. Apr 13, 2013
    • Sylvestre Ledru's avatar
      Remove the useless SRCROOT declaration from the call of... · b9555e8e
      Sylvestre Ledru authored
      Remove the useless SRCROOT declaration from the call of build-swig-wrapper-classes.sh & finish-swig-wrapper-classes.sh
      
      Two reasons for that:
      * the declaration is not used. the LLDB_SOURCE_DIR is provided as the first argument in the script ($1) (called SRC_ROOT in the source code)
      * add_custom_command is quoting the first argument of the command. Usually, it is the script itself (and then the full path to the script) but, here, it is the declaration of a variable.
      It was failing with:
      cd "/llvm-toolchain-3.3~svn179457/build-llvm/tools/lldb/scripts" && "SRCROOT=/llvm-toolchain-3.3~svn179457/tools/lldb" /llvm-toolchain-3.3~svn179457/tools/lldb/scripts/build-swig-wrapper-classes.sh /llvm-toolchain-3.3~svn179457/tools/lldb /llvm-toolchain-3.3~svn179457/build-llvm/tools/lldb/scripts /llvm-toolchain-3.3~svn179457/build-llvm/tools/lldb/scripts /llvm-toolchain-3.3~svn179457/build-llvm -m
      /bin/sh: 1: SRCROOT=/llvm-toolchain-3.3~svn179457/tools/lldb: not found
      
      llvm-svn: 179459
      b9555e8e
    • Sean Callanan's avatar
      Added symbol materialization support to the new · 2f1edcd7
      Sean Callanan authored
      Materializer.
      
      llvm-svn: 179445
      2f1edcd7
    • Sean Callanan's avatar
      Now that ValueObjects permit writing, made the · 458ae1c6
      Sean Callanan authored
      Materializer use that API when dematerializing
      variables.
      
      llvm-svn: 179443
      458ae1c6
    • Sean Callanan's avatar
      I don't know how I managed to build with that missing · 4458e52c
      Sean Callanan authored
      semicolon.
      
      llvm-svn: 179442
      4458e52c
    • Sean Callanan's avatar
      Make sure we expose SetData() through the Python · d3f9968a
      Sean Callanan authored
      interface.
      
      llvm-svn: 179439
      d3f9968a
    • Sean Callanan's avatar
      Added a SetData() method to ValueObject. This · 389823e9
      Sean Callanan authored
      lets a ValueObject's contents be set from raw
      data.  This has certain limitations (notably,
      registers can only be set to data that is as
      large as the register) but will be useful for
      the new Materializer.
      
      I also exposed this interface through SBValue.
      I have added a testcase that exercises various
      special cases of SBValue::SetData().
      
      llvm-svn: 179437
      389823e9
    • Jason Molenda's avatar
      Handle an edge case where we step into a function whose UnwindPlan · 3f805312
      Jason Molenda authored
      defines a Return Address register (e.g. lr on arm) but the RA register
      hasn't been saved anywhere yet -- it is still in a live reg.
      <rdar://problem/13503130> 
      
      llvm-svn: 179431
      3f805312
  6. Apr 12, 2013
    • Sean Callanan's avatar
      Implemented materialization and dematerialization · f8043fa5
      Sean Callanan authored
      for variables in the new Materializer.  This is
      much easier now that the ValueObject API is solid.
      
      I still have to implement reading bytes into a
      ValueObject, but committing what I have so far.
      
      This code is not yet used, so there will be fixes
      when I switch the expression parser over to use the
      new Materializer.
      
      llvm-svn: 179416
      f8043fa5
    • Enrico Granata's avatar
      Sketch test case improvements: · 85e9d6de
      Enrico Granata authored
      - use the TestCase option parsing
      - dump output to stdout when no file is provided
      
      llvm-svn: 179415
      85e9d6de
    • Greg Clayton's avatar
      <rdar://problem/13491977> · b3ae8761
      Greg Clayton authored
      Made some fixes to the OperatingSystemPython class:
      - If any thread dictionary contains any "core=N" key/value pairs then the threads obtained from the lldb_private::Process itself will be placed inside the ThreadMemory threads and will be used to get the information for a thread. 
      - Cleaned up all the places where a thread inside a thread was causing problems
      
      llvm-svn: 179405
      b3ae8761
    • Sean Callanan's avatar
      Replicated the materialization logic for persistent · 35005f76
      Sean Callanan authored
      variables in the Materializer.  We don't use this
      code yet, but will soon once the other materializers
      are online.
      
      llvm-svn: 179390
      35005f76
    • Sean Callanan's avatar
      Fixed a bug where a few class forward declarations · e14b765a
      Sean Callanan authored
      weren't in the proper namespace.
      
      llvm-svn: 179389
      e14b765a
Loading