Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Keith Seitz <keiths@redhat.com>
To: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: [RFA 00/42] Remove globals from buildsym
Date: Thu, 05 Jul 2018 18:21:00 -0000	[thread overview]
Message-ID: <86ac6592-2df6-c111-b158-19a9e1fd1873@redhat.com> (raw)
In-Reply-To: <20180523045851.11660-1-tom@tromey.com>

On 05/22/2018 09:58 PM, Tom Tromey wrote:
> I've long wanted to remove the globals from buildsym and generally
> clean it up.  I've finally tackled this project, and this series is
> the result.

YAHOO!!!

> Also, I simultaneously wrote this series and learned about some the
> workings of buildsym.  So, there are some cases where something is
> done -- say, an assertion added or a variable made static -- only to
> be un-done later in the series.  Reordering seemed generally painful
> so I have left it as is.

That's reasonable.

> The general idea behind the patches is to move each global variable
> (or related set of global variables) into the existing
> buildsym_compunit structure.  Along the way, some minor cleanups are
> done, for example moving stabs-specific things to stabsread.

Nice.

> Once all of the state is in buildsym_compunit, it is put into
> buildsym.h for use by symbol readers.  Here, I've converted the DWARF
> reader to use the new-style API, leaving the other readers alone.
> (The other readers continue to rely on a global, but now only one.)

There are other symbol readers besides DWARF? :-P

> I haven't tried much to clean up buildsym itself.  The API is just as
> unwieldy as ever -- it just no longer has global state.  I have,
> however, replaced some data structures with self-managing ones.
> 
> There are some holes with the series that you may wish to consider.
> 
> * Perhaps some more comments could be added.
> 
> * There are still some stabs-specific hacks in buildsym.c that I have
>   not attempted to remove.
> 
> * There are some remaining calls to set_last_source_file (NULL) that
>   could perhaps be removed as unnecessary.  I did not check.

Upon a "cursory" inspection, the most common nit that I'll mention is moving comments to header files (from corresponding .c files). TBH, our coding standard appears to be in turmoil right now as we shake out C++ (at least it is in my mind!), so feel free to ignore these types of comments.

> Regression tested by the buildbot.  I also did a reasonable, but not
> exhaustive, amount of testing here.  I've at least smoke-tested the
> stabs reader by running some tests with --target_board=stabs.

I've regtested it locally, too, reproducing a stgit with all of the patches. All looks good.

In general, I didn't find anything glaringly wrong (but I am just back from a `long' vacation and still a little "out of the office"), but I will respond to individual patches with questions and the like.

Thanks,
Keith


      parent reply	other threads:[~2018-07-05 18:21 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-23  4:59 Tom Tromey
2018-05-23  4:59 ` [RFA 28/42] Set list_in_scope later in DWARF reader Tom Tromey
2018-07-06 18:11   ` Keith Seitz
2018-07-10  3:23     ` Simon Marchi
2018-07-15 17:55     ` Tom Tromey
2018-05-23  4:59 ` [RFA 01/42] Use new and delete for buildsym_compunit Tom Tromey
2018-07-05 18:50   ` Keith Seitz
2018-07-07  2:31     ` Simon Marchi
2018-07-08 16:25     ` Tom Tromey
2018-05-23  4:59 ` [RFA 23/42] Move pending addrmap globals to buildsym_compunit Tom Tromey
2018-07-10  1:56   ` Simon Marchi
2018-07-12  4:35     ` Tom Tromey
2018-05-23  4:59 ` [RFA 14/42] Move scan_file_globals declaration to stabsread.h Tom Tromey
2018-07-08 16:52   ` Simon Marchi
2018-07-09 23:07     ` Tom Tromey
2018-05-23  4:59 ` [RFA 12/42] Move within_function to stabsread Tom Tromey
2018-07-08 16:49   ` Simon Marchi
2018-05-23  4:59 ` [RFA 09/42] Make context_stack_size static in buildsym.c Tom Tromey
2018-07-08 16:16   ` Simon Marchi
2018-05-23  4:59 ` [RFA 26/42] Remove free_pendings Tom Tromey
2018-07-10  2:55   ` Simon Marchi
2018-07-10  3:16     ` Simon Marchi
2018-05-23  4:59 ` [RFA 07/42] Move last_source_start_addr to buildsym_compunit Tom Tromey
2018-07-08 16:10   ` Simon Marchi
2018-05-23  4:59 ` [RFA 10/42] Move some code from buildsym to stabsread Tom Tromey
2018-07-05 19:16   ` Keith Seitz
2018-07-08 16:35     ` Simon Marchi
2018-07-08 16:59       ` Tom Tromey
2018-07-08 16:37     ` Tom Tromey
2018-05-23  4:59 ` [RFA 04/42] Move last_source file to buildsym_compunit Tom Tromey
2018-07-07  3:51   ` Simon Marchi
2018-07-08 16:33     ` Tom Tromey
2018-07-08 16:37       ` Simon Marchi
2018-07-08 16:52         ` Tom Tromey
2018-07-08 17:01           ` Simon Marchi
2018-05-23  4:59 ` [RFA 13/42] Remove buildsym_new_init Tom Tromey
2018-07-08 16:51   ` Simon Marchi
2018-05-23  4:59 ` [RFA 17/42] Move the subfile stack to buildsym_compunit Tom Tromey
2018-07-08 16:59   ` Simon Marchi
2018-05-23  4:59 ` [RFA 15/42] Remove merge_symbol_lists Tom Tromey
2018-07-08 16:54   ` Simon Marchi
2018-05-23  4:59 ` [RFA 20/42] Use outermost_context_p in more places Tom Tromey
2018-07-08 17:13   ` Simon Marchi
2018-05-23  4:59 ` [RFA 29/42] Move the symbol lists to buildsym_compunit Tom Tromey
2018-07-06 18:35   ` Keith Seitz
2018-07-12  4:45     ` Tom Tromey
2018-07-10  3:38   ` Simon Marchi
2018-07-15 17:44     ` Tom Tromey
2018-05-23  4:59 ` [RFA 03/42] Add assert in prepare_for_building Tom Tromey
2018-07-07 14:06   ` Simon Marchi
2018-05-23  4:59 ` [RFA 22/42] Move current_subfile to buildsym_compunit Tom Tromey
2018-07-10  1:52   ` Simon Marchi
2018-07-12  4:34     ` Tom Tromey
2018-05-23  4:59 ` [RFA 25/42] Remove the "listhead" argument from finish_block Tom Tromey
2018-07-10  2:07   ` Simon Marchi
2018-05-23  4:59 ` [RFA 16/42] Use gdb_assert in two places in buildsym.c Tom Tromey
2018-07-08 16:55   ` Simon Marchi
2018-07-09 23:13     ` Tom Tromey
2018-05-23  4:59 ` [RFA 02/42] Change buildsym_compunit::comp_dir to be a unique_xmalloc_ptr Tom Tromey
2018-07-07  2:34   ` Simon Marchi
2018-05-23  4:59 ` [RFA 05/42] Move pending_macros to buildsym_compunit Tom Tromey
2018-07-07 15:41   ` Simon Marchi
2018-07-08 16:35     ` Tom Tromey
2018-05-23  4:59 ` [RFA 21/42] Move the context stack " Tom Tromey
2018-07-06 17:30   ` Keith Seitz
2018-07-15 18:09     ` Tom Tromey
     [not found]   ` <93a9597f-e7ff-e8ff-e873-9cee5b84d7cc@simark.ca>
2018-07-10  1:45     ` Simon Marchi
2018-07-15 18:10       ` Tom Tromey
2018-05-23  4:59 ` [RFA 18/42] Make free_pending_blocks static Tom Tromey
2018-07-08 17:04   ` Simon Marchi
2018-05-23  4:59 ` [RFA 19/42] Move the using directives to buildsym_compunit Tom Tromey
2018-07-05 20:14   ` Keith Seitz
2018-07-08 16:28     ` Tom Tromey
2018-07-08 17:08       ` Simon Marchi
2018-05-23  4:59 ` [RFA 06/42] Move have_line_numbers " Tom Tromey
2018-07-05 19:01   ` Keith Seitz
2018-07-08 16:05     ` Simon Marchi
2018-07-08 16:26     ` Tom Tromey
2018-05-23  4:59 ` [RFA 08/42] Move processing_acc_compilation to dbxread.c Tom Tromey
2018-07-08 16:15   ` Simon Marchi
2018-05-23  4:59 ` [RFA 27/42] Do not look at file symbols when reading psymtabs Tom Tromey
2018-07-10  3:19   ` Simon Marchi
2018-05-23  6:16 ` [RFA 39/42] Parameterize cp_scan_for_anonymous_namespaces Tom Tromey
2018-07-06 19:23   ` Keith Seitz
2018-07-08 16:40     ` Tom Tromey
2018-07-10  4:25       ` Simon Marchi
2018-05-23  6:16 ` [RFA 33/42] Remove parameter from record_pending_block Tom Tromey
2018-07-10  3:49   ` Simon Marchi
2018-05-23  6:16 ` [RFA 11/42] Move processing_gcc to stabsread Tom Tromey
2018-07-08 16:46   ` Simon Marchi
2018-07-08 16:56     ` Tom Tromey
2018-05-23  6:16 ` [RFA 41/42] Remove some unused buildsym functions Tom Tromey
2018-07-10  4:37   ` Simon Marchi
2018-05-23  6:16 ` [RFA 42/42] Remove record_line_ftype Tom Tromey
2018-07-10  4:38   ` Simon Marchi
2018-05-23  6:16 ` [RFA 32/42] Remove EXTERN from buildsym.h Tom Tromey
2018-07-10  3:44   ` Simon Marchi
2018-05-23  6:16 ` [RFA 34/42] Add many methods to buildsym_compunit Tom Tromey
2018-07-06 19:16   ` Keith Seitz
2018-07-08 16:39     ` Tom Tromey
2018-07-10  4:08   ` Simon Marchi
2018-07-10  4:12     ` Simon Marchi
2018-07-10  4:08   ` Simon Marchi
2018-07-12  5:18     ` Tom Tromey
2018-05-23  6:16 ` [RFA 37/42] Move struct buildsym_compunit to buildsym.h Tom Tromey
2018-07-10  4:15   ` Simon Marchi
2018-05-23  6:16 ` [RFA 40/42] Convert the DWARF reader to new-style buildysm Tom Tromey
2018-07-06 20:10   ` Keith Seitz
2018-07-10  4:36   ` Simon Marchi
2018-07-15 17:38     ` Tom Tromey
2018-05-23  6:16 ` [RFA 24/42] Move pending_blocks and pending_block_obstack to buildsym_compunit Tom Tromey
2018-07-10  2:05   ` Simon Marchi
2018-07-12  4:39     ` Tom Tromey
2018-07-12  5:03       ` Tom Tromey
2018-05-23  6:16 ` [RFA 31/42] Remove a TODO Tom Tromey
2018-07-10  3:42   ` Simon Marchi
2018-05-23  6:16 ` [RFA 36/42] Remove reset_symtab_globals Tom Tromey
2018-07-10  4:11   ` Simon Marchi
2018-05-23  6:16 ` [RFA 35/42] Do not use buildsym.h in some files Tom Tromey
2018-07-10  4:10   ` Simon Marchi
2018-05-23  7:31 ` [RFA 38/42] Introduce legacy-buildsym.h Tom Tromey
2018-07-10  4:22   ` Simon Marchi
2018-07-15 18:43     ` Tom Tromey
2018-07-15 19:46       ` Simon Marchi
2018-07-16  0:22         ` Tom Tromey
2018-05-23  8:49 ` [RFA 30/42] Remove buildsym_init Tom Tromey
2018-07-10  3:41   ` Simon Marchi
2018-06-18 14:46 ` [RFA 00/42] Remove globals from buildsym Tom Tromey
2018-07-05 18:21 ` Keith Seitz [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86ac6592-2df6-c111-b158-19a9e1fd1873@redhat.com \
    --to=keiths@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox