summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2013-09-10 02:09:47 +0000
committerJim Ingham <jingham@apple.com>2013-09-10 02:09:47 +0000
commitdf0ae22f92ea1c371640fa9d2b5d461e7b38207f (patch)
tree6b7e4e0b29af477857b4b119f952a64024efe5ab /lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
parentdf59c4a93744e3f827f4d7fe9f35e06e31966520 (diff)
downloadbcm5719-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.cpp4
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);
OpenPOWER on IntegriCloud