From: Hannes Domani Date: Wed, 13 May 2020 10:41:51 +0000 (+0200) Subject: Use errno value of first openp failure X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=96445f0b66af20343e2ffed08c4da8cfac101a03;p=binutils-gdb.git Use errno value of first openp failure Fixes this testsuite fail on Windows: FAIL: gdb.base/bad-file.exp: directory If both tries to open the file fail (without and with ".exe"), use the errno value of the first try. gdb/ChangeLog: 2020-05-27 Hannes Domani * exec.c (exec_file_attach): Use errno value of first openp failure. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 08641e5721b..2f2958c599b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-05-27 Hannes Domani + + * exec.c (exec_file_attach): Use errno value of first openp failure. + 2020-05-27 Hannes Domani * nat/windows-nat.c (windows_thread_info::~windows_thread_info): diff --git a/gdb/exec.c b/gdb/exec.c index 14c77495a38..ee13c5e027e 100644 --- a/gdb/exec.c +++ b/gdb/exec.c @@ -435,6 +435,7 @@ exec_file_attach (const char *filename, int from_tty) #if defined(__GO32__) || defined(_WIN32) || defined(__CYGWIN__) if (scratch_chan < 0) { + int first_errno = errno; char *exename = (char *) alloca (strlen (filename) + 5); strcat (strcpy (exename, filename), ".exe"); @@ -443,6 +444,8 @@ exec_file_attach (const char *filename, int from_tty) O_RDWR | O_BINARY : O_RDONLY | O_BINARY, &scratch_storage); + if (scratch_chan < 0) + errno = first_errno; } #endif if (scratch_chan < 0)