diff options
| author | Greg Clayton <gclayton@apple.com> | 2011-03-02 21:34:46 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2011-03-02 21:34:46 +0000 |
| commit | 5f2a4f999d33167f55f55886222219321207393d (patch) | |
| tree | 11ec9d0141d70c12df7fb76e3f3d65793f83aec4 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
| parent | c4eb31e5e55608c44621754f4193ef5b21e86597 (diff) | |
| download | llvm-5f2a4f999d33167f55f55886222219321207393d.zip llvm-5f2a4f999d33167f55f55886222219321207393d.tar.gz llvm-5f2a4f999d33167f55f55886222219321207393d.tar.bz2 | |
Added a missing API call in SBTarget that enables one to get
anything in a SBSymbolContext filled in given an SBAddress:
SBSymbolContext
SBTarget::ResolveSymbolContextForAddress (const SBAddress& addr, uint32_t resolve_scope);
Also did a little cleanup on the ProcessGDBRemote stdio file handle
code.
llvm-svn: 126885
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
| -rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 20afb62..df09bf37 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -460,13 +460,12 @@ ProcessGDBRemote::DoLaunch { lldb_utility::PseudoTerminal pty; const bool disable_stdio = (launch_flags & eLaunchFlagDisableSTDIO) != 0; - if (disable_stdio) - { - stdin_path = "/dev/null"; - stdout_path = "/dev/null"; - stderr_path = "/dev/null"; - } - else + + // If the debugserver is local and we aren't disabling STDIO, lets use + // a pseudo terminal to instead of relying on the 'O' packets for stdio + // since 'O' packets can really slow down debugging if the inferior + // does a lot of output. + if (m_local_debugserver && !disable_stdio) { const char *slave_name = NULL; if (stdin_path == NULL || stdout_path == NULL || stderr_path == NULL) @@ -484,13 +483,19 @@ ProcessGDBRemote::DoLaunch stderr_path = slave_name; } - if (stdin_path == NULL && (stdout_path || stderr_path)) + // Set STDIN to /dev/null if we want STDIO disabled or if either + // STDOUT or STDERR have been set to something and STDIN hasn't + if (disable_stdio || (stdin_path == NULL && (stdout_path || stderr_path))) stdin_path = "/dev/null"; - if (stdout_path == NULL && (stdin_path || stderr_path)) + // Set STDOUT to /dev/null if we want STDIO disabled or if either + // STDIN or STDERR have been set to something and STDOUT hasn't + if (disable_stdio || (stdout_path == NULL && (stdin_path || stderr_path))) stdout_path = "/dev/null"; - if (stderr_path == NULL && (stdin_path || stdout_path)) + // Set STDERR to /dev/null if we want STDIO disabled or if either + // STDIN or STDOUT have been set to something and STDERR hasn't + if (disable_stdio || (stderr_path == NULL && (stdin_path || stdout_path))) stderr_path = "/dev/null"; if (stdin_path) |
