diff options
| author | Jim Ingham <jingham@apple.com> | 2013-09-10 02:09:47 +0000 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2013-09-10 02:09:47 +0000 |
| commit | df0ae22f92ea1c371640fa9d2b5d461e7b38207f (patch) | |
| tree | 6b7e4e0b29af477857b4b119f952a64024efe5ab /lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp | |
| parent | df59c4a93744e3f827f4d7fe9f35e06e31966520 (diff) | |
| download | bcm5719-llvm-df0ae22f92ea1c371640fa9d2b5d461e7b38207f.tar.gz bcm5719-llvm-df0ae22f92ea1c371640fa9d2b5d461e7b38207f.zip | |
Changing the default shell to /bin/sh brought up a long-standing bug on OS X,
that /bin/sh re-exec's itself to /bin/bash, so it needs one more resume when you
are using it as the shell than /bin/bash did or you will stop at the start of your
program, rather than running it.
So I added a Platform API to get the number of resumes needed when launching with
a particular shell, and set the right values for Mac OS X.
<rdar://problem/14935282>
llvm-svn: 190381
Diffstat (limited to 'lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp')
| -rw-r--r-- | lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp index 1456a7cf714..42a458442a6 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp @@ -415,10 +415,12 @@ PlatformLinux::LaunchProcess (ProcessLaunchInfo &launch_info) const bool is_localhost = true; const bool will_debug = launch_info.GetFlags().Test(eLaunchFlagDebug); const bool first_arg_is_full_shell_command = false; + uint32_t num_resumes = GetResumeCountForShell (launch_info.GetShell()); if (!launch_info.ConvertArgumentsForLaunchingInShell (error, is_localhost, will_debug, - first_arg_is_full_shell_command)) + first_arg_is_full_shell_command, + num_resumes)) return error; } error = Platform::LaunchProcess (launch_info); |

