public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] gprofng: Use execvp instead of execv
@ 2023-08-17 20:19 Vladimir Mezentsev
  0 siblings, 0 replies; only message in thread
From: Vladimir Mezentsev @ 2023-08-17 20:19 UTC (permalink / raw)
  To: bfd-cvs, gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1f572864da9682a7d423477b1795b7dacc1f11da

commit 1f572864da9682a7d423477b1795b7dacc1f11da
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date:   Tue Aug 15 19:45:12 2023 -0700

    gprofng: Use execvp instead of execv
    
    gp-display-gui (https://savannah.gnu.org/projects/gprofng-gui)
    can be installed in a different directory.
    In this case, $PATH is used to look up gp-display-text.
    execv() does not use $PATH to find the executable.
    
    gprofng/ChangeLog
    2023-08-15  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
    
            * src/gp-display-text.cc (reexec): Use execvp instead of execv.

Diff:
---
 gprofng/src/gp-display-text.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gprofng/src/gp-display-text.cc b/gprofng/src/gp-display-text.cc
index 0d0a5e75e44..85ae274fc63 100644
--- a/gprofng/src/gp-display-text.cc
+++ b/gprofng/src/gp-display-text.cc
@@ -20,6 +20,7 @@
 
 #include "config.h"
 #include <unistd.h>     // isatty
+#include <errno.h>
 
 #include "gp-print.h"
 #include "ipcio.h"
@@ -55,7 +56,11 @@ reexec ()
 {
   if (dbeSession != NULL)
     dbeSession->unlink_tmp_files ();
-  execv (exe_name, new_argv);
+  execvp (exe_name, new_argv);
+  fprintf (stderr, GTXT ("Error: reexec() failed (%d: %s)\n"), errno,
+	   STR(strerror (errno)));
+  fflush (stderr);
+  exit (1);
 }
 
 /**

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-08-17 20:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-17 20:19 [binutils-gdb] gprofng: Use execvp instead of execv Vladimir Mezentsev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).