Skip to content
  1. Apr 27, 2011
  2. Apr 26, 2011
  3. Apr 21, 2011
  4. Apr 13, 2011
  5. Apr 12, 2011
    • Greg Clayton's avatar
      Moved the execution context that was in the Debugger into · 8b82f087
      Greg Clayton authored
      the CommandInterpreter where it was always being used.
      
      Make sure that Modules can track their object file offsets correctly to
      allow opening of sub object files (like the "__commpage" on darwin).
      
      Modified the Platforms to be able to launch processes. The first part of this
      move is the platform soon will become the entity that launches your program
      and when it does, it uses a new ProcessLaunchInfo class which encapsulates
      all process launching settings. This simplifies the internal APIs needed for
      launching. I want to slowly phase out process launching from the process
      classes, so for now we can still launch just as we used to, but eventually
      the platform is the object that should do the launching.
      
      Modified the Host::LaunchProcess in the MacOSX Host.mm to correctly be able
      to launch processes with all of the new eLaunchFlag settings. Modified any
      code that was manually launching processes to use the Host::LaunchProcess
      functions.
      
      Fixed an issue where lldb_private::Args had implicitly defined copy 
      constructors that could do the wrong thing. This has now been fixed by adding
      an appropriate copy constructor and assignment operator.
      
      Make sure we don't add empty ModuleSP entries to a module list.
      
      Fixed the commpage module creation on MacOSX, but we still need to train
      the MacOSX dynamic loader to not get rid of it when it doesn't have an entry
      in the all image infos.
      
      Abstracted many more calls from in ProcessGDBRemote down into the 
      GDBRemoteCommunicationClient subclass to make the classes cleaner and more
      efficient.
      
      Fixed the default iOS ARM register context to be correct and also added support
      for targets that don't support the qThreadStopInfo packet by selecting the
      current thread (only if needed) and then sending a stop reply packet.
      
      Debugserver can now start up with a --unix-socket (-u for short) and can 
      then bind to port zero and send the port it bound to to a listening process
      on the other end. This allows the GDB remote platform to spawn new GDB server
      instances (debugserver) to allow platform debugging.
      
      llvm-svn: 129351
      8b82f087
  6. Mar 17, 2011
  7. Mar 11, 2011
  8. Mar 04, 2011
    • Johnny Chen's avatar
      Add the ability for the test suite to specify a list of compilers and a list of architectures · e0ec9ea5
      Johnny Chen authored
      on the command line.  For example, use '-A x86_64^i386' to launch the inferior use both x86_64
      and i386.
      
      This is an example of building the debuggee using both clang and gcc compiers:
      
      [17:30:46] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -C clang^gcc -v -f SourceManagerTestCase.test_modify_source_file_while_debugging
      
      Session logs for test failures/errors will go into directory '2011-03-03-17_31_39'
      Command invoked: python ./dotest.py -C clang^gcc -v -f SourceManagerTestCase.test_modify_source_file_while_debugging
      
      Configuration:  compiler=clang
      ----------------------------------------------------------------------
      Collected 1 test
      
      1: test_modify_source_file_while_debugging (TestSourceManager.SourceManagerTestCase)
         Modify a source file while debugging the executable. ... Command 'run' failed!
      
      original content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      new content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello lldb.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after writing new content: 1299202305.0
      content restored to: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after restore: 1299202307.0
      ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 8.259s
      
      OK
      
      Configuration:  compiler=gcc
      ----------------------------------------------------------------------
      Collected 1 test
      
      1: test_modify_source_file_while_debugging (TestSourceManager.SourceManagerTestCase)
         Modify a source file while debugging the executable. ... original content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      new content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello lldb.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after writing new content: 1299202307.0
      content restored to: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after restore: 1299202309.0
      ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 2.301s
      
      OK
      [17:31:49] johnny:/Volumes/data/lldb/svn/trunk/test $ 
      
      llvm-svn: 126979
      e0ec9ea5
  9. Feb 23, 2011
    • Greg Clayton's avatar
      Abtracted all mach-o and ELF out of ArchSpec. This patch is a modified form · 64195a2c
      Greg Clayton authored
      of Stephen Wilson's idea (thanks for the input Stephen!). What I ended up
      doing was:
      - Got rid of ArchSpec::CPU (which was a generic CPU enumeration that mimics
        the contents of llvm::Triple::ArchType). We now rely upon the llvm::Triple 
        to give us the machine type from llvm::Triple::ArchType.
      - There is a new ArchSpec::Core definition which further qualifies the CPU
        core we are dealing with into a single enumeration. If you need support for
        a new Core and want to debug it in LLDB, it must be added to this list. In
        the future we can allow for dynamic core registration, but for now it is
        hard coded.
      - The ArchSpec can now be initialized with a llvm::Triple or with a C string
        that represents the triple (it can just be an arch still like "i386").
      - The ArchSpec can still initialize itself with a architecture type -- mach-o
        with cpu type and subtype, or ELF with e_machine + e_flags -- and this will
        then get translated into the internal llvm::Triple::ArchSpec + ArchSpec::Core.
        The mach-o cpu type and subtype can be accessed using the getter functions:
        
        uint32_t
        ArchSpec::GetMachOCPUType () const;
      
        uint32_t
        ArchSpec::GetMachOCPUSubType () const;
        
        But these functions are just converting out internal llvm::Triple::ArchSpec 
        + ArchSpec::Core back into mach-o. Same goes for ELF.
      
      All code has been updated to deal with the changes.
      
      This should abstract us until later when the llvm::TargetSpec stuff gets
      finalized and we can then adopt it.
      
      llvm-svn: 126278
      64195a2c
    • Greg Clayton's avatar
      Don't enable thread safe logging as it currently deadlocks logging. · 1971900f
      Greg Clayton authored
      llvm-svn: 126260
      1971900f
  10. Feb 22, 2011
  11. Feb 15, 2011
  12. Feb 14, 2011
  13. Jan 29, 2011
  14. Jan 26, 2011
  15. Jan 19, 2011
  16. Jan 05, 2011
  17. Dec 10, 2010
  18. Dec 08, 2010
  19. Dec 03, 2010
  20. Dec 02, 2010
  21. Dec 01, 2010
    • Johnny Chen's avatar
      Add a '-b blacklistFile' option to the test driver to take a file specifying the · 75739045
      Johnny Chen authored
      test classes or test cases to be excludued from the test suite.
      
      Check in an example blacklist file: blacklist.py:
      
      """
      'blacklist' is a Python dictionary, it stores the mapping of a string describing
      either a testclass or a testcase, i.e, testclass.testmethod, to the reason (a
      string) it is blacklisted.
      
      Following is an example which states that test class IntegerTypesExprTestCase
      should be skipped because 'This test class crashed' and the test case
      FoundationTestCase.test_data_type_and_expr_with_dsym should be skipped because
      it is 'Temporarily disabled'.
      
      blacklist = {'IntegerTypesExprTestCase': 'This test class crashed',
                   'FoundationTestCase.test_data_type_and_expr_with_dsym': 'Temporarily disabled'
                   }
      """
      
      blacklist = {}
      
      An example of invoking the test driver and specifying a blacklist file:
      
      ./dotest.py -b blacklist.py -v types
      
      This runs the tests under 'types' directory but excludes the tests specified in
      balcklist.py.
      
      llvm-svn: 120620
      75739045
  22. Nov 29, 2010
  23. Nov 16, 2010
  24. Nov 11, 2010
  25. Nov 10, 2010
  26. Nov 08, 2010
  27. Nov 05, 2010
Loading