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 v5] Add support for the readnever concept


On 12/01/2017 10:16 PM, Sergio Durigan Junior wrote:
> Changes from v4:
> 
> - Cleaned-up the commit message and ChangeLogs.
> 
> - Simplified condition when checking for readnever.  Removed "top.h"
>   from files that didn't need it.
> 
> - Added xref to "-readnever" option (on symbol-file command) pointing
>   to "--readnever".
> 
> - Merged READNOW_HELP and READNEVER_HELP.
> 
> 
> The purpose of this concept is to turn the load of debugging
> information off, either globally (via the '--readnever' option), or
> objfile-specific.  The implementation proposed here is an extension of
> the patch distributed with Fedora GDB; looking at the Fedora patch
> itself and the history, one can see some reasons why it was never
> resubmitted:
> 
>   - The patch appears to have been introduced as a workaround, at
>     least initially;
>   - The patch is far from perfect, as it simply shunts the load of
>     DWARF debugging information, without really worrying about the
>     other debug format.
>   - Who really does non-symbolic debugging anyways?
> 
> One use of this feature is when a user simply wants to do the
> following sequence: attach, dump core, detach.  Loading the debugging
> information in this case is an unnecessary cause of delay.
> 
> This patch expands the version shipped with Fedora GDB in order to
> make the feature available for all the debuginfo backends, not only
> for DWARF.  It also implements a per-objfile flag which can be
> activated by using the "-readnever" command when using the
> 'add-symbol-file' or 'symbol-file' commands.
> 
> It's also worth mentioning that this patch tests whether GDB correctly
> fails to initialize if both '--readnow' and '--readnever' options are
> passed.
> 
> Tested on the BuildBot.
> 
> gdb/ChangeLog:
> 
> 2017-12-01  Andrew Cagney  <cagney@redhat.com>
> 	    Joel Brobecker  <brobecker@adacore.com>
> 	    Sergio Durigan Junior  <sergiodj@redhat.com>
> 
> 	* NEWS (Changes since GDB 8.0: Mention new '--readnever'
> 	feature.
> 	* coffread.c (coff_symfile_read): Do not map over sections with
> 	'coff_locate_sections' if readnever is on.
> 	* dwarf2read.c (dwarf2_has_info): Return 0 if
> 	readnever is on.
> 	* elfread.c (elf_symfile_read): Do not map over sections with
> 	'elf_locate_sections' if readnever is on.
> 	* main.c (validate_readnow_readnever): New function.
> 	(captured_main_1): Add support for --readnever.
> 	(print_gdb_help): Document --readnever.
> 	* objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
> 	flag.
> 	* symfile.c (readnever_symbol_files): New global.
> 	(symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
> 	'READNEVER_SYMBOL_FILES' is set.
> 	(validate_readnow_readnever): New function.
> 	(symbol_file_command): Handle '-readnever' option.
> 	Call 'validate_readnow_readnever'.
> 	(add_symbol_file_command): Handle '-readnever' option.
> 	Call 'validate_readnow_readnever'.
> 	(_initialize_symfile): Document new '-readnever' option for
> 	both 'symbol-file' and 'add-symbol-file' commands.
> 	* top.h (readnever_symbol_files): New extern global.
> 	* xcoffread.c (xcoff_initial_scan): Do not read debug
> 	information if readnever is on.
> 
> gdb/doc/ChangeLog:
> 
> 2017-12-01  Andrew Cagney  <cagney@redhat.com>
> 	    Joel Brobecker  <brobecker@adacore.com>
> 	    Sergio Durigan Junior  <sergiodj@redhat.com>
> 
> 	* gdb.texinfo (File Options): Document --readnever.
> 	(Commands to Specify Files): Likewise, for 'symbol-file' and
> 	'add-symbol-file'.
> 
> gdb/testsuite/ChangeLog:
> 
> 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
> 	    Sergio Durigan Junior  <sergiodj@redhat.com>
> 	    Pedro Alves  <palves@redhat.com>
> 
> 	* gdb.base/readnever.c, gdb.base/readnever.exp: New files.

OK.

Thanks,
Pedro Alves


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