Fwd: Two possible function stabs patches

Daniel Jacobowitz drow@mvista.com
Wed Jul 30 01:14:00 GMT 2003


On Tue, Jul 29, 2003 at 06:07:15PM -0700, Geoffrey Keating wrote:
> Oops!  Forgot to attach the actual patches.  Fixed below.
> 
> 
> OK, so I have not one, but two patches!
> 
> 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

This would probably work, but I think it's less useful.

> 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.

This won't work.  You're right; it's unparseable.  Could you manage to
generate "bar::foo:F(0,1)" instead?  GDB should handle that correctly
as-is.

> 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.

i386-linux can do this.  I'd offer to do it, but only if Michael's too
busy - his test setup is vastly more thorough than I could manage.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gcc-patches mailing list