From: Daniel Jacobowitz <drow@mvista.com>
To: Elena Zannoni <ezannoni@cygnus.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [rfa] symbol hashing, part 2/n - ALL_BLOCK_SYMBOLS
Date: Thu, 11 Oct 2001 16:55:00 -0000 [thread overview]
Message-ID: <20011011195450.A22256@nevyn.them.org> (raw)
In-Reply-To: <15302.12121.778853.77938@krustylu.cygnus.com>
On Thu, Oct 11, 2001 at 07:46:33PM -0400, Elena Zannoni wrote:
>
> Daniel,
> Thanks so much for doing this. It makes it so much easier.
>
> Yes, I looked ths over and it seems to work, except that I would really
> prefer the change to printcmd.c split in two. The first bit to
> rationalize that "if (func)..." code. This would have with it all
> the indentation changes as well. The code as it is now doesn't really
> make much sense. So, that looks a good change to me. But it has nothing
> to do with the new macro. After that change is in, you can introduce
> the macro in printcmd.c w/o having all the indent changes.
> It also makes it easier to distinguish a no-op change (the macro) from
> the other one.
OK. Would you prefer I resubmit this patch broken up further, then?
I could do that.
There's a double-edged sword here; every patch in this sequence except
for the hashing change is predicated on the previous patches. So while
I understand that breaking them up does make reviewing much easier,
with the current length of the patch review cycle, every time I
decompose this further I add two or three more days to its eventual
(hopeful) approval. I'm sure you can understand that it's a little
frustrating.
> The cahnge is printcmd.c needs to delete also the
> sym = BLOCK_SYM (b, i);
> line.
... that's what I get for moving too fast between trees. Thanks for noticing.
>
> [Note that I don't maintain printcmd.c, so, I should just shut up :-)]
>
> I applied your patch as is to my sources, and did a grep for BLOCK_SYM,
> and found a few more for loops that could be converted:
>
>
> This one in buildsym.c:
> line ~280:
>
> struct symbol *sym;
> for (i = 0; i < BLOCK_NSYMS (block); i++)
> {
> sym = BLOCK_SYM (block, i);
I could change this one too. It's from a case where the symbols will
never be hashable (i.e. order-sensitive), so I didn't touch it the
first time through. Consistency is good, though.
> And this one in symtab.c:
> line ~1500:
>
> top = BLOCK_NSYMS (block);
> for (bot = 0; bot < top; bot++)
> {
> sym = BLOCK_SYM (block, bot);
>
And this one's #if 0'd out. I could fix it (just the ALL_BLOCK_SYMBOLS
change, I mean), or delete it per the comment above it.
> Another one is in mi/mi-stack-cmd.c.
> There are some also in gdbtk/generic/gdbtk-cmds.c and gdbtk-stack.c.
These I missed; I didn't think to check further down than the top
level. I'll get them when I repost this, which it looks like I'll need
to do.
> Some tricky ones are left, for a second pass. In mdebugread.c: it is
> actually a while loop, in mylookup_symbol, similarly in coffread.c:
> patch_opaque_types(), the for loop is reversed.
> (Were these in your original patch? I don't remember).
The one in coffread worries me; I can not tell from the comments if it
is order-sensitive or not. The one in mdebugread does not, because
mdebugread does dastardly things to blocks. I deliberately left those
unhashed.
> I cannot spot any others, can you?
Nope.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2001-10-11 16:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-09 9:35 Daniel Jacobowitz
2001-10-11 16:39 ` Elena Zannoni
2001-10-11 16:48 ` Daniel Berlin
2001-10-11 16:52 ` Elena Zannoni
2001-10-11 16:55 ` Daniel Jacobowitz [this message]
2001-10-11 17:43 ` Andrew Cagney
2001-10-11 17:48 ` Daniel Jacobowitz
2001-10-11 18:18 ` Andrew Cagney
2001-10-12 9:08 ` Elena Zannoni
2001-10-11 17:48 ` Daniel Berlin
2001-10-11 18:06 ` Andrew Cagney
2001-10-12 9:05 ` Elena Zannoni
2001-10-11 18:05 ` Daniel Jacobowitz
2001-10-12 9:09 ` Elena Zannoni
2001-10-12 10:17 ` Daniel Jacobowitz
2001-10-12 8:49 ` Elena Zannoni
2001-10-12 11:59 ` Daniel Jacobowitz
2001-10-12 13:03 ` Andrew Cagney
2001-10-12 15:34 ` Elena Zannoni
2001-10-12 16:53 ` Daniel Jacobowitz
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=20011011195450.A22256@nevyn.them.org \
--to=drow@mvista.com \
--cc=ezannoni@cygnus.com \
--cc=gdb-patches@sources.redhat.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