This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: C ASSEMBLER_NAME patch
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: geoffk at apple dot com
- Cc: gcc-patches at gcc dot gnu dot org, gdb at sources dot redhat dot com
- Date: Sat, 26 Jul 2003 12:04:21 -0400
- Subject: Re: C ASSEMBLER_NAME patch
Geoff K writes:
> This is supposed to happen under some circumstances. (Not the
> circumstances that you're experiencing---I'm fixing that now---but some
> other circumstances.)
>
> How should GCC emit stabs so that GDB does the right thing with these
> symbol names?
I'm not an expert on this, so I hope one of the symtab people
(Daniel J) will correct me if I get this wrong:
Names at file scope should not be qualified with ".number", and names at
function scope can be qualified.
The comment in lhd_set_decl_assembler_name says that is what it's doing
("Can't just use the variable's own name for a variable whose scope is
less than the whole compilation.") so it looks like the test just needs
to be adjusted, to my superficial eyes.
We have a test (gdb.base/scope.exp) with lots of function-scoped and
block-scoped static variables, and they are getting qualified,
and gdb handles them properly. It's only these file-scope symbols that
are hurting, and that happens just when a prototype is visible.
That is:
static void f1 ();
static void f1 () { return; }
static void f2 () { return; }
f1 is getting qualified (bad) and f2 is not (good).
Thanks,
Michael C