diff options
author | Gary Benson <gbenson@redhat.com> | 2015-04-27 11:46:13 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2015-04-27 15:39:46 +0100 |
commit | 5fbae7d108f4b885228cc657449905543c42c85a (patch) | |
tree | 1f9b4e967858d83dd338bc5d26ed3db268306fd6 | |
parent | 180d40b903774d6c7bd8110ce4f77a2f5fb06e7a (diff) | |
download | gdb-5fbae7d108f4b885228cc657449905543c42c85a.zip gdb-5fbae7d108f4b885228cc657449905543c42c85a.tar.gz gdb-5fbae7d108f4b885228cc657449905543c42c85a.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/auto-load.c | 7 | ||||
-rw-r--r-- | 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); |