This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA/patch stabs reader: Recognize language hint in SO stab
- From: Jason Molenda <jmolenda at apple dot com>
- To: gdb-patches at sources dot redhat dot com
- Cc: Jim Blandy <jimb at redhat dot com>, Mark Kettenis <kettenis at jive dot nl>, Eli Zaretskii <eliz at elta dot co dot il>, Devang Patel <dpatel at apple dot com>
- Date: Thu, 5 Aug 2004 13:17:55 -0700
- Subject: Re: RFA/patch stabs reader: Recognize language hint in SO stab
- References: <4F2AF76A-E71B-11D8-B4BD-000A9569836A@apple.com>
I knew I forgot something: Testing.
I tested the patch on an x86 Linux box with gcc 3.4.0 with -gstabs+;
there was no change with or without the patch. The compiler wasn't
setting the desc field in the SO stabs, of course, so I made a small
C++ program
#include <iostream>
int foo (int a);
int
main()
{
int a = 10;
std::cout << "hi there" << a << std::endl;
return foo (a);
}
int foo (int a)
{
return a + 5;
}
called "a.c", and modified the stabs by hand to
.file "a.c"
.stabs "/tmp/",100,0,0,.Ltext0
.stabs "a.c",100,0,4,.Ltext0
The value 4 is N_SO_CC. Without this change, this is what gdb looks
like:
(gdb) b foo
Breakpoint 1 at 0x80488ed: file a.c, line 13.
(gdb) r
Starting program: /tmp/a.out
hi there10
Breakpoint 1, _Z3fooi (a=10) at a.c:14
14 return a + 5;
(gdb)
With this change, we get
(gdb) b foo
Breakpoint 1 at 0x80488ed: file a.c, line 14.
(gdb) r
Starting program: /tmp/a.out
hi there10
Breakpoint 1, foo (a=10) at a.c:14
14 return a + 5;
Current language: auto; currently c++
(gdb)
Huzzah.
(obviously this is just an example of incorrect behavior -- when you're
working with real C++ code the inability to detect the fact that it's a
C++ program causes all sorts of problems.)
J