Skip to content
  1. Feb 27, 2013
    • Greg Clayton's avatar
      Fixed a case where the result of std::string's c_str() method was being called... · 8571963a
      Greg Clayton authored
      Fixed a case where the result of std::string's c_str() method was being called on a local variable and returned as a const char * incorrectly. We used to cache the thread names for threads in the current host process, but we shoudn't be caching that as the names can change over time, so now a std::string is returned from Host::GetThreadName().
      
      llvm-svn: 176217
      8571963a
  2. Feb 17, 2013
  3. Jan 08, 2013
  4. Jan 05, 2013
    • Daniel Malea's avatar
      Fix lldb -P on Linux · 53430eb8
      Daniel Malea authored
      - now prints the correct PYTHONPATH
      - update dotest.py to use lldb -P result correctly
      - resolves TestPublicAPIHeaders test failure (on Linux)
      
      llvm-svn: 171558
      53430eb8
  5. Dec 07, 2012
  6. Dec 05, 2012
  7. Nov 29, 2012
  8. Nov 19, 2012
  9. 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
  10. Oct 12, 2012
    • Greg Clayton's avatar
      Patch from Andrew Kaylor that centralized where the info for: · 3c2fabf2
      Greg Clayton authored
      ConstString Host::GetVendorString();
      ConstString Host::GetOSString();
      
      comes from. It now all comes from the Host::GetArchitecture (eSystemDefaultArchitecture) like the Apple build was doing to minimize the number of places that need to be updated when Host::GetArchitecture () is called.
      
      llvm-svn: 165805
      3c2fabf2
  11. Oct 11, 2012
  12. Sep 27, 2012
  13. Sep 18, 2012
  14. Sep 07, 2012
    • Greg Clayton's avatar
      Patch from Andrew Kaylor for linux: · 542e4075
      Greg Clayton authored
      
      The attached patch adds support for debugging 32-bit processes when running a 64-bit lldb on an x86_64 Linux system.
       
      Making this work required two basic changes:
       
      1)      Getting lldb to report that it could debug 32-bit processes
      2)      Changing an assumption about how ptrace works when debugging cross-platform
       
      For the first change, I took a conservative approach and only enabled this for x86_64 Linux platforms.  It may be that the change I made in Host.cpp could be extended to other 64-bit Linux platforms, but I'm not familiar enough with the other platforms to know for sure.
       
      For the second change, the Linux ProcessMonitor class was assuming that ptrace(PTRACE_[PEEK|POKE]DATA...) would read/write a "word" based on the child process word size.  However, the ptrace documentation says that the "word" size read or written is "determined by the OS variant."  I verified experimentally that when ptracing a 32-bit child from a 64-bit parent a 64-bit word is read or written.
      
      llvm-svn: 163398
      542e4075
  15. Jul 30, 2012
  16. May 19, 2012
  17. May 17, 2012
    • Filipe Cabecinhas's avatar
      We shouldn't save g_dummy_target_sp. Other code will simply call Destroy() on it. · b018345d
      Filipe Cabecinhas authored
      TestBackticksWithoutATarget.BackticksWithNoTargetTestCase was calling
      GetDummyTarget() when executing for x86_64. When performing session
      tearDown, it would get destroyed (and everything would be invalid (arch,
      etc).
      
      Then the test would run for i386. The dummy target wasn't being
      reinitialized and was invalid. lldb complained that 'current process state
      is unsuitable for expression parsing'.
      
      llvm-svn: 156994
      b018345d
  18. May 15, 2012
  19. May 12, 2012
    • Greg Clayton's avatar
      <rdar://problem/11439169> · 1a362fbb
      Greg Clayton authored
      "lldb -a i386" doesn't set the calculator mode correctly if run on a 64 bit system. 
      
      The previous logic always used the current host architecture, not the default architecture. The default arch gets set into a static varaible in lldb_private::Target when an arch is set from the command line:
      
      lldb -a i386
      
      We now use the default arch correctly.
      
      llvm-svn: 156680
      1a362fbb
    • Greg Clayton's avatar
      <rdar://problem/11439022> · 950971f7
      Greg Clayton authored
      Restore expressions with no target.
      
      llvm-svn: 156669
      950971f7
  20. May 04, 2012
    • Jim Ingham's avatar
      Fix a think in Mutex::Locker::Locker(pthread_mutex_t *) Really should lock... · c075ecd8
      Jim Ingham authored
      Fix a think in Mutex::Locker::Locker(pthread_mutex_t *)  Really should lock the mutex handed in, not the m_mutex_ptr that you've set to NULL...
      Rework the Host.cpp::ThreadNameAccessor to use ThreadSafeSTLMap - we've got it so we might as well use it.  Also works around a problem with the
      Mutex::Locker class raising fallacious asserts in debug mode when used with pthread_mutex_t's that weren't backed by Mutex objects.
      
      llvm-svn: 156193
      c075ecd8
  21. Apr 14, 2012
    • Greg Clayton's avatar
      Added a new host function that allows us to run shell command and get the... · d1cf11a7
      Greg Clayton authored
      Added a new host function that allows us to run shell command and get the output from them along with the status and signal:
      
      Error
      Host::RunShellCommand (const char *command,
                             const char *working_dir,
                             int *status_ptr,
                             int *signo_ptr,
                             std::string *command_output_ptr,
                             uint32_t timeout_sec);
      
      This will allow us to use this functionality in the host lldb_private::Platform, and also use it in our lldb-platform binary. It leverages the existing code in Host::LaunchProcess and ProcessLaunchInfo.
      
      llvm-svn: 154730
      d1cf11a7
  22. Apr 07, 2012
    • Jim Ingham's avatar
      We sometimes need to be able to call functions (via Process::RunThreadPlan)... · 372787fc
      Jim Ingham authored
      We sometimes need to be able to call functions (via Process::RunThreadPlan) from code run on the private state thread.  To do that we have to 
      spin up a temporary "private state thread" that will respond to events from the lower level process plugins.  This check-in should work to do
      that, but it is still buggy.  However, if you don't call functions on the private state thread, these changes make no difference.
      
      This patch also moves the code in the AppleObjCRuntime step-through-trampoline handler that might call functions (in the case where the debug
      server doesn't support the memory allocate/deallocate packet) out to a safe place to do that call.
      
      llvm-svn: 154230
      372787fc
  23. Feb 25, 2012
    • Han Ming Ong's avatar
      <rdar://problem/3535148> · 84647048
      Han Ming Ong authored
      Added ability to debug root processes on OS X. This uses XPC service that is available on Lion and above only.
      
      llvm-svn: 151419
      84647048
  24. Feb 14, 2012
    • Greg Clayton's avatar
      Full core file support has been added for mach-o core files. · c859e2d5
      Greg Clayton authored
      Tracking modules down when you have a UUID and a path has been improved.
      
      DynamicLoaderDarwinKernel no longer parses mach-o load commands and it
      now uses the memory based modules now that we can load modules from memory.
      
      Added a target setting named "target.exec-search-paths" which can be used
      to supply a list of directories to use when trying to look for executables.
      This allows one or more directories to be used when searching for modules
      that may not exist in the SDK/PDK. The target automatically adds the directory
      for the main executable to this list so this should help us in tracking down
      shared libraries and other binaries. 
      
      llvm-svn: 150426
      c859e2d5
  25. Jan 05, 2012
    • Greg Clayton's avatar
      Added code in the Host layer that can report system log messages · e38a5edd
      Greg Clayton authored
      so that we don't have "fprintf (stderr, ...)" calls sprinkled everywhere.
      Changed all needed locations over to using this.
      
      For non-darwin, we log to stderr only. On darwin, we log to stderr _and_
      to ASL (Apple System Log facility). This will allow GUI apps to have a place
      for these error and warning messages to go, and also allows the command line
      apps to log directly to the terminal.
      
      llvm-svn: 147596
      e38a5edd
  26. Nov 17, 2011
  27. Nov 16, 2011
    • Greg Clayton's avatar
      Made the darwin host layer properly reap any child processes that it spawns. · e4e45924
      Greg Clayton authored
      After recent changes we weren't reaping child processes resulting in many
      zombie processes. 
      
      This was fixed by adding more settings to the ProcessLaunchOptions class
      that allow clients to specify a callback function and baton to be notified
      when their process dies. If one is not supplied a default callback will be
      used that "does the right thing". 
      
      Cleaned up a race condition in the ProcessGDBRemote class that would attempt
      to monitor when debugserver died. 
      
      Added an extra boolean to the process monitor callbacks that indicate if a
      process exited or not. If your process exited with a zero exit status and no
      signal, both items could be zero.
      
      Modified the process monitor functions to not require a callback function
      in order to reap the child process.
      
      llvm-svn: 144780
      e4e45924
  28. Nov 05, 2011
  29. Nov 04, 2011
    • Benjamin Kramer's avatar
      Fix linux build after r143679. · 44030f12
      Benjamin Kramer authored
      llvm-svn: 143703
      44030f12
    • Greg Clayton's avatar
      Fixed a build issue on an older Xcode. · 0ddf6be1
      Greg Clayton authored
      llvm-svn: 143679
      0ddf6be1
    • Greg Clayton's avatar
      Fixed the Xcode project building of LLVM to be a bit more user friendly: · dce502ed
      Greg Clayton authored
      - If you download and build the sources in the Xcode project, x86_64 builds
        by default using the "llvm.zip" checkpointed LLVM.
      - If you delete the "lldb/llvm.zip" and the "lldb/llvm" folder, and build the
        Xcode project will download the right LLVM sources and build them from 
        scratch
      - If you have a "lldb/llvm" folder already that contains a "lldb/llvm/lib"
        directory, we will use the sources you have placed in the LLDB directory.
        
      Python can now be disabled for platforms that don't support it. 
      
      Changed the way the libllvmclang.a files get used. They now all get built into
      arch specific directories and never get merged into universal binaries as this
      was causing issues where you would have to go and delete the file if you wanted
      to build an extra architecture slice.
      
      llvm-svn: 143678
      dce502ed
  30. Nov 03, 2011
  31. Oct 27, 2011
  32. Aug 05, 2011
  33. Aug 02, 2011
    • Johnny Chen's avatar
      Patch by David Forsythe to build lldb on FreeBSD! · 8f3d8384
      Johnny Chen authored
      I did not take the patch for ClangExpressionParser.cpp since there was a
      recent change by Peter for the same line.  Feel free to disagree. :-)
      
      Reference:
      ----------------------------------------------------------------------
      r136580 | pcc | 2011-07-30 15:42:24 -0700 (Sat, 30 Jul 2011) | 3 lines
      
      Add reloc arg to standard JIT createJIT()
      
      Fixes non-__APPLE__ build.  Patch by Matt Johnson!
      ----------------------------------------------------------------------
      
      Also, I ignore the part of the patch to remove the RegisterContextDarwin*.h/.cpp.
      
      llvm-svn: 136720
      8f3d8384
  34. Jul 19, 2011
    • Johnny Chen's avatar
      Patch by Matt Johnson to silence G++ warnings! · 4480530a
      Johnny Chen authored
      Used hand merge to apply the diffs.  I did not apply the diffs for FormatManager.h and
      the diffs for memberwise initialization for ValueObject.cpp because they changed since.
      I will ask my colleague to apply them later.
      
      llvm-svn: 135508
      4480530a
  35. May 13, 2011
Loading