aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2015-04-17 09:47:30 +0100
committerGary Benson <gbenson@redhat.com>2015-04-17 09:47:30 +0100
commita10de6046fbd50e99742af428a815dcd94e2fba8 (patch)
tree86cf6669c963b4a71d35b3f92591698e7ade8ee0 /gdb/infcmd.c
parent92209ddfdc725c51d0368716ee316193deb24e8a (diff)
downloadfsf-binutils-gdb-a10de6046fbd50e99742af428a815dcd94e2fba8.zip
fsf-binutils-gdb-a10de6046fbd50e99742af428a815dcd94e2fba8.tar.gz
fsf-binutils-gdb-a10de6046fbd50e99742af428a815dcd94e2fba8.tar.bz2
Introduce exec_file_locate_attach
This commit adds a new function, exec_file_locate_attach, which works like exec_file_attach except that, instead of a filename argument, it takes an integer process ID and attempts to determine the executable filename from that. gdb/ChangeLog: * gdbcore.h (exec_file_locate_attach): New declaration. * exec.c (exec_file_locate_attach): New function, factored out from... * infcmd.c (attach_command_post_wait): ...here.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r--gdb/infcmd.c25
1 files changed, 2 insertions, 23 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 6caa878..7e2484b 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -2462,8 +2462,6 @@ proceed_after_attach (int pid)
static void
attach_command_post_wait (char *args, int from_tty, int async_exec)
{
- char *exec_file;
- char *full_exec_path = NULL;
struct inferior *inferior;
inferior = current_inferior ();
@@ -2471,27 +2469,8 @@ attach_command_post_wait (char *args, int from_tty, int async_exec)
/* If no exec file is yet known, try to determine it from the
process itself. */
- exec_file = (char *) get_exec_file (0);
- if (!exec_file)
- {
- exec_file = target_pid_to_exec_file (ptid_get_pid (inferior_ptid));
- if (exec_file)
- {
- /* It's possible we don't have a full path, but rather just a
- filename. Some targets, such as HP-UX, don't provide the
- full path, sigh.
-
- Attempt to qualify the filename against the source path.
- (If that fails, we'll just fall back on the original
- filename. Not much more we can do...) */
-
- if (!source_full_path_of (exec_file, &full_exec_path))
- full_exec_path = xstrdup (exec_file);
-
- exec_file_attach (full_exec_path, from_tty);
- symbol_file_add_main (full_exec_path, from_tty);
- }
- }
+ if (get_exec_file (0) == NULL)
+ exec_file_locate_attach (ptid_get_pid (inferior_ptid), from_tty);
else
{
reopen_exec_file ();