mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
Fix the Windows build
The gdb build was broken on Windows after the patch to change get_inferior_cwd. This patch fixes the build.
This commit is contained in:
@ -2553,14 +2553,16 @@ windows_nat_target::create_inferior (const char *exec_file,
|
|||||||
PROCESS_INFORMATION pi;
|
PROCESS_INFORMATION pi;
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
DWORD flags = 0;
|
DWORD flags = 0;
|
||||||
const char *inferior_tty = current_inferior ()->tty ();
|
const std::string &inferior_tty = current_inferior ()->tty ();
|
||||||
|
|
||||||
if (!exec_file)
|
if (!exec_file)
|
||||||
error (_("No executable specified, use `target exec'."));
|
error (_("No executable specified, use `target exec'."));
|
||||||
|
|
||||||
const char *inferior_cwd = current_inferior ()->cwd ();
|
const char *inferior_cwd = current_inferior ()->cwd ().c_str ();
|
||||||
std::string expanded_infcwd;
|
std::string expanded_infcwd;
|
||||||
if (inferior_cwd != NULL)
|
if (*inferior_cwd == '\0')
|
||||||
|
inferior_cwd = nullptr;
|
||||||
|
else
|
||||||
{
|
{
|
||||||
expanded_infcwd = gdb_tilde_expand (inferior_cwd);
|
expanded_infcwd = gdb_tilde_expand (inferior_cwd);
|
||||||
/* Mirror slashes on inferior's cwd. */
|
/* Mirror slashes on inferior's cwd. */
|
||||||
@ -2652,14 +2654,14 @@ windows_nat_target::create_inferior (const char *exec_file,
|
|||||||
w32_env = NULL;
|
w32_env = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inferior_tty == nullptr)
|
if (inferior_tty.empty ())
|
||||||
tty = ostdin = ostdout = ostderr = -1;
|
tty = ostdin = ostdout = ostderr = -1;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tty = open (inferior_tty, O_RDWR | O_NOCTTY);
|
tty = open (inferior_tty.c_str (), O_RDWR | O_NOCTTY);
|
||||||
if (tty < 0)
|
if (tty < 0)
|
||||||
{
|
{
|
||||||
print_sys_errmsg (inferior_tty, errno);
|
print_sys_errmsg (inferior_tty.c_str (), errno);
|
||||||
ostdin = ostdout = ostderr = -1;
|
ostdin = ostdout = ostderr = -1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2725,18 +2727,18 @@ windows_nat_target::create_inferior (const char *exec_file,
|
|||||||
}
|
}
|
||||||
/* If not all the standard streams are redirected by the command
|
/* If not all the standard streams are redirected by the command
|
||||||
line, use INFERIOR_TTY for those which aren't. */
|
line, use INFERIOR_TTY for those which aren't. */
|
||||||
if (inferior_tty != nullptr
|
if (!inferior_tty.empty ()
|
||||||
&& !(fd_inp >= 0 && fd_out >= 0 && fd_err >= 0))
|
&& !(fd_inp >= 0 && fd_out >= 0 && fd_err >= 0))
|
||||||
{
|
{
|
||||||
SECURITY_ATTRIBUTES sa;
|
SECURITY_ATTRIBUTES sa;
|
||||||
sa.nLength = sizeof(sa);
|
sa.nLength = sizeof(sa);
|
||||||
sa.lpSecurityDescriptor = 0;
|
sa.lpSecurityDescriptor = 0;
|
||||||
sa.bInheritHandle = TRUE;
|
sa.bInheritHandle = TRUE;
|
||||||
tty = CreateFileA (inferior_tty, GENERIC_READ | GENERIC_WRITE,
|
tty = CreateFileA (inferior_tty.c_str (), GENERIC_READ | GENERIC_WRITE,
|
||||||
0, &sa, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
|
0, &sa, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
|
||||||
if (tty == INVALID_HANDLE_VALUE)
|
if (tty == INVALID_HANDLE_VALUE)
|
||||||
warning (_("Warning: Failed to open TTY %s, error %#x."),
|
warning (_("Warning: Failed to open TTY %s, error %#x."),
|
||||||
inferior_tty, (unsigned) GetLastError ());
|
inferior_tty.c_str (), (unsigned) GetLastError ());
|
||||||
}
|
}
|
||||||
if (redirected || tty != INVALID_HANDLE_VALUE)
|
if (redirected || tty != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
|
@ -559,7 +559,7 @@ static BOOL
|
|||||||
create_process (const char *program, char *args,
|
create_process (const char *program, char *args,
|
||||||
DWORD flags, PROCESS_INFORMATION *pi)
|
DWORD flags, PROCESS_INFORMATION *pi)
|
||||||
{
|
{
|
||||||
const char *inferior_cwd = get_inferior_cwd ();
|
const std::string &inferior_cwd = get_inferior_cwd ();
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
size_t argslen, proglen;
|
size_t argslen, proglen;
|
||||||
|
|
||||||
@ -580,9 +580,9 @@ create_process (const char *program, char *args,
|
|||||||
flags, /* start flags */
|
flags, /* start flags */
|
||||||
NULL, /* environment */
|
NULL, /* environment */
|
||||||
/* current directory */
|
/* current directory */
|
||||||
(inferior_cwd == NULL
|
(inferior_cwd.empty ()
|
||||||
? NULL
|
? NULL
|
||||||
: gdb_tilde_expand (inferior_cwd).c_str()),
|
: gdb_tilde_expand (inferior_cwd.c_str ()).c_str()),
|
||||||
&si, /* start info */
|
&si, /* start info */
|
||||||
pi); /* proc info */
|
pi); /* proc info */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user