This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: gdb/321: stack trace reports incorrect caller to abort()
- From: drow at sources dot redhat dot com
- To: brobecke at sources dot redhat dot com, gdb-prs at sources dot redhat dot com, liblit at acm dot org, nobody at sources dot redhat dot com
- Date: 10 Jul 2002 00:07:14 -0000
- Subject: Re: gdb/321: stack trace reports incorrect caller to abort()
- Reply-to: drow at sources dot redhat dot com, brobecke at sources dot redhat dot com, gdb-prs at sources dot redhat dot com, liblit at acm dot org, nobody at sources dot redhat dot com, gdb-gnats at sources dot redhat dot com
Synopsis: stack trace reports incorrect caller to abort()
Responsible-Changed-From-To: unassigned->brobecke
Responsible-Changed-By: drow
Responsible-Changed-When: Tue Jul 9 17:07:14 2002
Responsible-Changed-Why:
Your patch.
State-Changed-From-To: open->analyzed
State-Changed-By: drow
State-Changed-When: Tue Jul 9 17:07:14 2002
State-Changed-Why:
Joel, I believe this PR is the same issue you fixed in:
2002-07-02 Joel Brobecker <brobecker@gnat.com>
* frame.h (frame_address_in_block): New function.
* blockframe.c (frame_address_in_block): New function extracted
from get_frame_block().
(get_frame_block): Use frame_address_in_block().
(block_innermost_frame): Use frame_address_in_block() to match
the frame pc address against the block boundaries rather than
the frame pc directly. This prevents a failure when a frame pc
is actually a return-address pointing immediately after the end
of the given block.
I still see a problem here, though:
#0 0x40050741 in kill () from /lib/libc.so.6
#1 0x40050424 in raise () from /lib/libc.so.6
#2 0x40051b81 in abort () from /lib/libc.so.6
#3 0x0804844c in b () at bug.c:15
#4 0x4004014f in __libc_start_main () from /lib/libc.so.6
But info frame for #3 correctly says that we are in main,
not in b().
Is this a case your patch was supposed to handle?
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gdb&pr=321