This is the mail archive of the gdb-patches@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: [patch] Fix to processing end of function stab in dbxread.c


On Thu, Jul 11, 2002 at 02:10:49PM -0700, Jim Ingham wrote:
> >I judge from your example that MacOSX has resolved addresses attached
> >to N_SLINE stabs, but not in ending N_FUN stabs?  GDB assumes that
> >function_start_offset applies to both of them equally (and it will be
> >zero if we expect both to be resolved).  On GNU/Linux both N_SLINE and
> >final N_FUN have offsets within the function.  I suspect that on some
> >Solaris variant N_SLINE and final N_FUN will both have resolved values.
> >In that case using last_function_start + valu will put us well outside
> >of the actual function, causing mayhem.
> 
> That's right.  MacOS X's linker does fix up the SLINE stabs, but it 
> does what stabs.texi says to do with the end of function stabs.
> 
> It would suprise me if there were a Solaris compile/linker that does 
> otherwise with the end of FUN stab.  After all, it seems like the 
> Solaris tools go out of their way to avoid having STABS that the linker 
> has to fix up.  Also, the comment in stabs.texi says "Recent versions 
> of GCC will mark the end of the function with an N_FUN symbol..."  
> Sounds like the Solaris compilers may not have this end of function FUN 
> stab at all.
> 
> Would somebody with access to a Solaris box with acc on it compile a 
> simple program with "-g" and see if it has this stab, and if so what 
> its value is?
> 
> I bet the code I suggested will work fine.

ACC is HP/UX, isn't it?  The Sun compiler is Sun Workshop CC.  In any
case, it appears that Solaris does not mark the end of functions with
stabs.  I'm satisfied; sorry for the runaround.

You might want to repost the patch not-mangled this time; since your
mail client persistently wraps things attaching it might be simplest.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


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