RFA/patch stabs reader: Recognize language hint in SO stab
Jason Molenda
jmolenda@apple.com
Thu Aug 5 20:17:00 GMT 2004
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
More information about the Gdb-patches
mailing list