This is the mail archive of the gdb@sources.redhat.com 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: 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


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