This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc 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 MIPS n32/64 runtime symbol resolution register saving


On Sat, May 15, 2004 at 02:33:41PM -0700, cgd@broadcom.com wrote:
> The set of registers being saved/restored during n32/64 runtime symbol
> resolution was incomplete.  This would lead to args 6 and 7 to a
> dynamically-resolved function being clobbered the first time it was
> invoked.
> 
> (I'm not quite sure this hasn't been noticed previously.  It looks it
> might not be seen depending on compiler and binutils version, and on
> the way the compiler generates function calls.  But, in any case, the
> existing register save/restore code seems fairly obviously incomplete
> since there are 8 arg registers that must not be clobbered by the
> symbol resolution code.)

I've been using an identical patch for a while.  Sorry for not getting
around to submitting it.

> 2004-05-15  Chris Demetriou  <cgd@broadcom.com>
> 
> 	* sysdeps/mips/dl-machine.h (ELF_DL_FRAME_SIZE)
> 	(ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS): For the N32
> 	and 64 ABIs, save and restore regs $10 and $11 (a6 and a7).

-- 
Daniel Jacobowitz


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