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: Two possible function stabs patches



On Wednesday, July 30, 2003, at 07:17 AM, Andrew Cagney wrote:


Oops!  Forgot to attach the actual patches.  Fixed below.
OK, so I have not one, but two patches!

Um, these appear to come with a little history (Solaris perhaphs?). Can you provide a bit of a background? You'll likely also want to add something to the GNU stabs document found in the GDB distro.

So far as I know, this is a bug that has been in GCC since 1992, and before that I don't know what the history is. I looked at the stabs document in GDB; this patch makes GCC more compliant with it.


The first one is less interesting. It uses the language's name for the function, unless it's a C++ function, in which case it uses the (mangled) assembler name. It'll give a stab like
.stabs "__ZN3bar3fooEv:F(0,1)",36,0,2,__ZN3bar3fooEv
or
.stabs "foo:F(0,1)",36,0,2,foo.11
The second one uses the 'printable name' for the function. That is, for C it's just the name, and for C++ it's the demangled version of its name. I am not at all sure it'll work, because it gives stabs like:
.stabs "int bar::foo():F(0,1)",36,0,2,__ZN3bar3fooEv
which I suspect can't be parsed.
Could someone help me test these? It needs a machine that can use stabs and on which the GDB testsuite doesn't give too many false positives.

I'd strongly encourage you to install GNU/Linux and *BSD on a couple local old/slow Mac boxes. It will make testing a lot easier.

All my old/slow boxen get used for GCC regression testing...


--
Geoff Keating <geoffk@apple.com>


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