C ASSEMBLER_NAME patch
Michael Elizabeth Chastain
mec@shout.net
Sat Jul 26 16:04:00 GMT 2003
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
More information about the Gdb
mailing list