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]

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


Ping:
https://sourceware.org/ml/gdb-patches/2015-04/msg00547.html

Gary Benson wrote:
> 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
> 

-- 
http://gbenson.net/


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