This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 7/9] Update exec_file_attach to cope with "target:" filenames


Pedro Alves wrote:
> On 03/20/2015 04:48 PM, Gary Benson wrote:
> > This commit adds support for filenames prefixed	with "target:" to
> > exec_file_attach.  This is required to correctly follow inferior
> > exec* calls when a gdb_sysroot prefixed with "target:" is set.
> 
> Hmm, I don't see how.  Isn't this only true when target_pid_to_exec_file
> prepends the sysroot, which it doesn't yet?  I think this should move
> to that other series.

Search for gdb_sysroot in infrun.c.

> A couple bits could use more explanation (in commit log and/or
> comments):
> 
>  - Why is writing into executable files not supported with "target:" ?
>  - The skipping of gdb_realpath_keepfile.

Are these two additions ok?

diff --git a/gdb/exec.c b/gdb/exec.c
index 6b6fc7d..ce61303 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -192,6 +192,7 @@ exec_file_attach (const char *filename, int from_tty)
 
       if (load_via_target)
 	{
+	  /* gdb_bfd_fopen does not support "target:" filenames.  */
 	  if (write_files)
 	    warning (_("writing into executable files is "
 		       "not supported for %s sysroots"),
@@ -247,8 +248,10 @@ exec_file_attach (const char *filename, int from_tty)
 		 scratch_pathname, bfd_errmsg (bfd_get_error ()));
 	}
 
+      /* gdb_realpath_keepfile resolves symlinks on the local
+	 filesystem and so cannot be used for "target:" files.  */
       gdb_assert (exec_filename == NULL);
       if (load_via_target)
 	exec_filename = xstrdup (bfd_get_filename (exec_bfd));
       else
 	exec_filename = gdb_realpath_keepfile (scratch_pathname);

Cheers,
Gary

--
http://gbenson.net/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]