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]

Re: [PATCH][gdb] Remove trailing "done" after "Reading symbols from" message


* Tom de Vries <tdevries@suse.de> [2020-03-04 14:21:34 +0100]:

> Hi,
> 
> Using verbose, we get some detail on symbol loading:
> ...
> $ gdb a.out -iex "set verbose on"
> Reading symbols from a.out...
> Reading in symbols for /home/vries/hello.c...done.
> (gdb)
> ...
> 
> And using debug symtab-create, much more detail:
> ...
> $ gdb a.out -iex "set verbose on" -iex "set debug symtab-create 1"
> Reading symbols from a.out...
> Reading minimal symbols of objfile /data/gdb_versions/devel/lto/a.out ...
> Installing 30 minimal symbols of objfile /data/gdb_versions/devel/lto/a.out.
> Done reading minimal symbols.
> Creating one or more psymtabs for objfile /data/gdb_versions/devel/lto/a.out ...
> Created psymtab 0x35a3de0 for module ../sysdeps/x86_64/start.S.
> Created psymtab 0x353e4e0 for module init.c.
> Created psymtab 0x353e560 for module ../sysdeps/x86_64/crti.S.
> Created psymtab 0x353e5e0 for module /home/vries/hello.c.
> Created psymtab 0x35bd530 for module elf-init.c.
> Created psymtab 0x35bd5b0 for module ../sysdeps/x86_64/crtn.S.
> Reading in symbols for /home/vries/hello.c...Created compunit symtab 0x354bd20 for hello.c.
> done.
> (gdb)

I'm struggling to understand what problem you're trying to solve
here.  In general, if we switch on any of the 'set debug ...' flags
the output from GDB gets confused.  These flags aren't intended for
general use, and trying to "fix" GDB's output in the face of these
flags is going to be a huge task, for I'm not sure what benefit.

Other than the output looking a little neater, is there an actual
problem solved here?

Thanks,
Andrew


> ...
> 
> The "Created compunit symtab" message gets inbetween the "Reading in symbols"
> and the trailing "done.". [ Strictly speaking this is a regression since
> commit faa17681cc "Make gdb_flush also flush the wrap buffer", but the
> same problem happens when using -batch before this commit. ]
> 
> Fix this by removing the trailing "done." altogether, such that we get:
> ...
> Created psymtab 0x3590520 for module ../sysdeps/x86_64/crtn.S.
> Reading in symbols for /home/vries/hello.c...
> Created compunit symtab 0x359dd20 for hello.c.
> (gdb)
> ...
> 
> [ Alternatively, we could fix this emitting a "Done reading in symbols" line
> or some such, like is done for minimal symbols.  See above. ]
> 
> [ Note: Removing the trailing "done." for the "Reading symbols from" message
> was done in commit 3453e7e409 'Clean up "Reading symbols" output'. ]
> 
> Build and reg-tested on x86_64-linux.
> 
> OK for trunk?
> 
> Thanks,
> - Tom
> 
> [gdb] Remove trailing "done" after "Reading symbols from" message
> 
> gdb/ChangeLog:
> 
> 2020-03-04  Tom de Vries  <tdevries@suse.de>
> 
> 	* psymtab.c (psymtab_to_symtab): Don't print "done.".
> 
> ---
>  gdb/psymtab.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/gdb/psymtab.c b/gdb/psymtab.c
> index fd7fc8feff..7d33dea0d4 100644
> --- a/gdb/psymtab.c
> +++ b/gdb/psymtab.c
> @@ -760,16 +760,12 @@ psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst)
>  
>        if (info_verbose)
>  	{
> -	  printf_filtered (_("Reading in symbols for %s..."),
> +	  printf_filtered (_("Reading in symbols for %s...\n"),
>  			   pst->filename);
>  	  gdb_flush (gdb_stdout);
>  	}
>  
>        pst->read_symtab (objfile);
> -
> -      /* Finish up the debug error message.  */
> -      if (info_verbose)
> -	printf_filtered (_("done.\n"));
>      }
>  
>    return pst->get_compunit_symtab ();


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