aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-07-24 17:27:58 +0100
committerPedro Alves <palves@redhat.com>2015-07-24 17:27:58 +0100
commitfe23c31f262151ce3265f5b90870d40cb6840f0a (patch)
tree217beb000bc625baabebbd9b2566248c374178ad /gdb
parentafa5870f1bfafa1ccfa8a4b3f432c07c19a2447e (diff)
downloadgdb-fe23c31f262151ce3265f5b90870d40cb6840f0a.zip
gdb-fe23c31f262151ce3265f5b90870d40cb6840f0a.tar.gz
gdb-fe23c31f262151ce3265f5b90870d40cb6840f0a.tar.bz2
Fix failed exec error message
Ref: https://sourceware.org/ml/gdb-patches/2015-07/msg00629.html This fixes the bogus command line in the error message shown when the SHELL environment variable points somewhere that's not something that resembles a shell: $ SHELL=/nonexisting gdb /home/pedro/a.out (gdb) r Starting program: /home/pedro/a.out - Cannot exec /home/pedro/a.out -c exec /home/pedro/a.out . + Cannot exec /nonexisting -c exec /home/pedro/a.out . Error: No such file or directory During startup program exited with code 127. (gdb) gdb/ChangeLog: 2015-07-24 Pedro Alves <palves@redhat.com> * fork-child.c (fork_inferior): Print argv[0] instead of exec_file.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/fork-child.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f6898fc..a3fa56f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2015-07-24 Pedro Alves <palves@redhat.com>
+ * fork-child.c (fork_inferior): Print argv[0] instead of exec_file.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
* aarch64-linux-nat.c: Include nat/gdb_ptrace.h instead of
sys/ptrace.h.
* alpha-linux-nat.c: Likewise.
diff --git a/gdb/fork-child.c b/gdb/fork-child.c
index 66c07fb..4ba62b0 100644
--- a/gdb/fork-child.c
+++ b/gdb/fork-child.c
@@ -365,7 +365,7 @@ fork_inferior (char *exec_file_arg, char *allargs, char **env,
/* If we get here, it's an error. */
save_errno = errno;
- fprintf_unfiltered (gdb_stderr, "Cannot exec %s", exec_file);
+ fprintf_unfiltered (gdb_stderr, "Cannot exec %s", argv[0]);
for (i = 1; argv[i] != NULL; i++)
fprintf_unfiltered (gdb_stderr, " %s", argv[i]);
fprintf_unfiltered (gdb_stderr, ".\n");