This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: gdb 6.x 'next' does not work on mips-linux/mipsel-linux
- From: Daniel Jacobowitz <drow at false dot org>
- To: Atsushi Nemoto <anemo at mba dot ocn dot ne dot jp>, gdb-patches at sources dot redhat dot com
- Cc: jvh at tivo dot com, gdb at sources dot redhat dot com
- Date: Sun, 8 May 2005 23:36:31 -0400
- Subject: Re: gdb 6.x 'next' does not work on mips-linux/mipsel-linux
- References: <20050427141714.GB10305@nevyn.them.org> <20050509.121635.85420824.nemoto@toshiba-tops.co.jp>
On Mon, May 09, 2005 at 12:16:35PM +0900, Atsushi Nemoto wrote:
> >>>>> On Wed, 27 Apr 2005 10:17:14 -0400, Daniel Jacobowitz <drow@false.org> said:
> drow> 2005-04-27 Daniel Jacobowitz <dan@codesourcery.com>
>
> drow> * mips-tdep.c (mips_stub_frame_sniffer): Handle .MIPS.stubs
> drow> section like .plt.
>
> This fix still not be checked in. Is there any problem with this
> patch?
None; I forgot about it! Sorry.
I have checked in the attached.
--
Daniel Jacobowitz
CodeSourcery, LLC
2005-05-08 Daniel Jacobowitz <dan@codesourcery.com>
* mips-tdep.c (mips_stub_frame_sniffer): Handle .MIPS.stubs
section like .plt.
Index: mips-tdep.c
===================================================================
RCS file: /big/fsf/rsync/src-cvs/src/gdb/mips-tdep.c,v
retrieving revision 1.379
diff -u -p -r1.379 mips-tdep.c
--- mips-tdep.c 17 Mar 2005 18:07:46 -0000 1.379
+++ mips-tdep.c 27 Apr 2005 14:12:21 -0000
@@ -2091,11 +2091,21 @@ static const struct frame_unwind mips_st
static const struct frame_unwind *
mips_stub_frame_sniffer (struct frame_info *next_frame)
{
+ struct obj_section *s;
CORE_ADDR pc = frame_pc_unwind (next_frame);
+
if (in_plt_section (pc, NULL))
return &mips_stub_frame_unwind;
- else
- return NULL;
+
+ /* Binutils for MIPS puts lazy resolution stubs into .MIPS.stubs. */
+ s = find_pc_section (pc);
+
+ if (s != NULL
+ && strcmp (bfd_get_section_name (s->objfile->obfd, s->the_bfd_section),
+ ".MIPS.stubs") == 0)
+ return &mips_stub_frame_unwind;
+
+ return NULL;
}
static CORE_ADDR