> ----Original Message-----
> From: Daniel Jacobowitz [mailto:drow false.org]
> Sent: 27 July 2007 15:25
> To: Robert Norton
> Subject: Re: Segfault in varobj.c
>
> On Fri, Jul 27, 2007 at 07:20:50AM -0700, Robert Norton
wrote:
> > Ah. Thanks. There doesn't seem to be any
equivalent
> function in the 6.6
> > version. Can you remember how this would have been
handled then?
>
> Badly, I'm afraid. Vladimir and Nick did a lot of work
cleaning this
> stuff up after 6.6.
OK, thanks.
The below was supposed to go the mailing list but I think my
question is
largely answered. Here it is for the record:
> No, that won't happen any more. See get_value_type.
Ah. Thanks. There doesn't seem to be any equivalent function
in the 6.6
version. Can you remember how this would have been handled
then?
Appreciate that you're probably not interested in dredging
up the past.
I tried variations on the following code but still wasn't
able to
reproduce in 6.6 so there must be something more to my test
binary:
typedef int * INT_PTR;
struct test_struct {
INT_PTR x;
};
struct test_struct test;
int main(void) {
int x = 1;
test.x = &x;
return *test.x;
}
rnorton x-cbga-09:rnorton> gdb --interpreter=mi gdbtestfp
...
^done,reason="breakpoint-hit",bkptno="1"
,thread-id="0",frame={addr="0x00
000140",func="main",args=[],file="gdbtes
t.c",line="10"}
(gdb)
-var-create - * test
^done,name="var1",numchild="1",type=&quo
t;struct test_struct"
(gdb)
-var-list-children test
&"Variable object not foundn"
^error,msg="Variable object not found"
(gdb)
-var-list-children var1
^done,numchild="1",children={child={name="var
1.x",exp="x",numchild="1",t
ype="INT_PTR"}}
(gdb)
-var-list-children var1.x
^done,numchild="1",children={child={name="var
1.x.*x",exp="*x",numchild="
0",type="int"}}
(gdb)
-var-list-children var1.x.*x
^done,numchild="0"
(gdb)
Suppose I'll just have to go with a workaround until such
time as we can
upgrade.
Thanks,
Robert
> --
> Daniel Jacobowitz
> CodeSourcery
>
>
|