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.
This commit is contained in:
Gary Benson 2015-04-27 11:46:13 +01:00
parent 180d40b903
commit 5fbae7d108
3 changed files with 14 additions and 3 deletions

View file

@ -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".

View file

@ -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.

View file

@ -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);