diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/infrun.c | 18 |
2 files changed, 17 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d833876..a22b7f8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2015-04-28 Gary Benson <gbenson@redhat.com> + + * infrun.c (solist.h): New include. + (follow_exec): Use exec_file_find to prefix execd_pathname + with gdb_sysroot. + 2015-04-28 Patrick Palka <patrick@parcs.ath.cx> * tui/tui-source.c (tui_set_source_content): Avoid calling diff --git a/gdb/infrun.c b/gdb/infrun.c index 7870f70..f09e2da 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -60,6 +60,7 @@ #include "target-descriptions.h" #include "target-dcache.h" #include "terminal.h" +#include "solist.h" /* Prototypes for local functions */ @@ -1133,15 +1134,18 @@ follow_exec (ptid_t ptid, char *execd_pathname) breakpoint_init_inferior (inf_execd); - if (gdb_sysroot && *gdb_sysroot) + if (gdb_sysroot != NULL && *gdb_sysroot != '\0') { - char *name = alloca (strlen (gdb_sysroot) - + strlen (execd_pathname) - + 1); + int fd = -1; + char *name; - strcpy (name, gdb_sysroot); - strcat (name, execd_pathname); - execd_pathname = name; + name = exec_file_find (execd_pathname, &fd); + if (fd >= 0) + close (fd); + + execd_pathname = alloca (strlen (name) + 1); + strcpy (execd_pathname, name); + xfree (name); } /* Reset the shared library package. This ensures that we get a |