This is the mail archive of the gdb-cvs@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]

[binutils-gdb] Do not manipulate "target:" filenames as local paths


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

commit 5fbae7d108f4b885228cc657449905543c42c85a
Author: Gary Benson <gbenson@redhat.com>
Date:   Mon Apr 27 11:46:13 2015 +0100

    Do not manipulate "target:" filenames as local paths
    
    This commit 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.
    
    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.

Diff:
---
 gdb/ChangeLog   | 7 +++++++
 gdb/auto-load.c | 7 +++++--
 gdb/objfiles.c  | 3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index faa65f8..4e29252 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2015-04-27  Gary Benson <gbenson@redhat.com>
+
+	* 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.
+
 2015-04-27  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
 	* s390-linux-tdep.c: Include "elf/s390.h" and "elf-bfd.h".
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);


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