This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: gdb 6.x 'next' does not work on mips-linux/mipsel-linux


Daniel,

I applied your patch to my copy of 6.3.50.20050420, ran testsuite/gdb.base/call-strs.exp,
and it passed. Thanks. This is great.

-John

> -----Original Message-----
> From: Daniel Jacobowitz [mailto:drow@false.org]
> Sent: Wednesday, April 27, 2005 7:17 AM
> To: Atsushi Nemoto; John Van Horne; gdb@sources.redhat.com
> Subject: Re: gdb 6.x 'next' does not work on mips-linux/mipsel-linux
> 
> 
> On Wed, Apr 27, 2005 at 09:43:06AM -0400, Daniel Jacobowitz wrote:
> > Hmm, no step into the lazy resolution stub; it's already 
> been resolved
> > to strcpy.  The system I'm doing all my testing on 
> apparently does not
> > do lazy binding :-(  Looks like a binutils problem - I believe I
> > remember fixing this bug some time after binutils 2.14 was released.
> > 
> > I'll keep trying to reproduce this.
> 
> Got it.  Could either of you please test this patch?  Without 
> it, I get
> failures in call-strs.exp; with it, everything passes.
> 
> -- 
> Daniel Jacobowitz
> CodeSourcery, LLC
> 
> 2005-04-27  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
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]