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]

[PATCH v2] Do not manipulate "target:" filenames as local paths


Hi all,

This patch alters two places that manipulate object file filenames
to detect "target:" filenames and to not attempt to manipulate them
as paths on the local filesystem:

 - allocate_objfile is updated to not attempt to expand "target:"
   filenames with gdb_abspath.

 - load_auto_scripts_for_objfile is updated to not attempt to load
   auto-load scripts for object files with "target:" filenames.

Built and regtested on RHEL6.6 x86_64.

Ok to commit?

Cheers,
Gary


gdb/ChangeLog:

	* objfiles.c (allocate_objfile): Do not attempt to expand name
	if name is a "target:" filename.
	* auto-load.c (load_auto_scripts_for_objfile): Do not attempt
	to load auto-load scripts for objfiles with "target:" filenames.
---
 gdb/ChangeLog   |    7 +++++++
 gdb/auto-load.c |    7 +++++--
 gdb/objfiles.c  |    3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/gdb/auto-load.c b/gdb/auto-load.c
index 778eeb6..7da288f 100644
--- a/gdb/auto-load.c
+++ b/gdb/auto-load.c
@@ -1195,8 +1195,11 @@ load_auto_scripts_for_objfile (struct objfile *objfile)
 {
   /* Return immediately if auto-loading has been globally disabled.
      This is to handle sequencing of operations during gdb startup.
-     Also return immediately if OBJFILE is not actually a file.  */
-  if (!global_auto_load || (objfile->flags & OBJF_NOT_FILENAME) != 0)
+     Also return immediately if OBJFILE was not created from a file
+     on the local filesystem.  */
+  if (!global_auto_load
+      || (objfile->flags & OBJF_NOT_FILENAME) != 0
+      || is_target_filename (objfile->original_name))
     return;
 
   /* Load any extension language scripts for this objfile.
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index ff20bc8..c6f9f00 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -301,7 +301,8 @@ allocate_objfile (bfd *abfd, const char *name, int flags)
       gdb_assert ((flags & OBJF_NOT_FILENAME) != 0);
       expanded_name = xstrdup ("<<anonymous objfile>>");
     }
-  else if ((flags & OBJF_NOT_FILENAME) != 0)
+  else if ((flags & OBJF_NOT_FILENAME) != 0
+	   || is_target_filename (name))
     expanded_name = xstrdup (name);
   else
     expanded_name = gdb_abspath (name);
-- 
1.7.1


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