[Lldb-commits] [lldb] [lldb] Have Host::RunShellCommand ret stderr & stdout seperately (PR #184548)

via lldb-commits lldb-commits at lists.llvm.org
Wed Mar 4 11:03:50 PST 2026


================
@@ -559,12 +559,13 @@ SBError SBPlatform::Run(SBPlatformShellCommand &shell_command) {
           if (!platform_working_dir.empty())
             shell_command.SetWorkingDirectory(platform_working_dir.c_str());
         }
+        std::string stderr_output;
         return platform_sp->RunShellCommand(
             shell_command.m_opaque_ptr->m_shell, command,
             FileSpec(shell_command.GetWorkingDirectory()),
             &shell_command.m_opaque_ptr->m_status,
             &shell_command.m_opaque_ptr->m_signo,
-            &shell_command.m_opaque_ptr->m_output,
+            &shell_command.m_opaque_ptr->m_output, &stderr_output,
----------------
jimingham wrote:

This changes the behavior of SBPlatform::Run.  Before if you ran a process that wrote something to stderr you would see the error text, but now you won't.  I'm not sure I so much care about the fact that we're no longer munging stdout & stderr together, but it is a shame to lose the error output altogether.

I think the change in behavior wouldn't be a problem if we added  SBPlatformShellCommand::GetError() so there was still a way to get the command error, even if was slightly different (and MUCH better) than before.

https://github.com/llvm/llvm-project/pull/184548


More information about the lldb-commits mailing list