Re: [PATCH, RFC] MIPS: Implement the getcontext API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 18, 2009 at 05:32:48PM +0000, Joseph S. Myers wrote:
> On Sat, 18 Apr 2009, Ralf Baechle wrote:
> 
> > On Wed, Apr 15, 2009 at 08:19:33PM +0000, Joseph S. Myers wrote:
> > 
> > > >  Here is code to implement the getcontext API for MIPS.  This glibc patch 
> > > > is sent to the linux-mips mailing list, because it makes use of an 
> > > > internal syscall which has not been designated as a part of the public 
> > > > ABI.  I am writing to request this syscall to become fixed as a part of 
> > > > the ABI or to seek for an alternative.  See below for the rationale.
> > > 
> > > Was there any conclusion about whether the assumptions this patch makes 
> > > about the kernel are OK (and so it can go in) or not?
> > 
> > I've probably not spelled it out clearly enough in an earlier email on
> > this topic but yes, I think it's ok.  In all reality the stackframe has
> > de facto become a part of the ABI that needs to be kept stable.
> 
> Thanks - I've now committed the patch.
> 

Note that this code does not compile on mips64, I get the following
error from binutils (2.19.1):
../ports/sysdeps/unix/sysv/linux/mips/getcontext.S: Assembler messages:
../ports/sysdeps/unix/sysv/linux/mips/getcontext.S:102: Error: illegal operands `s.d fs6,(30*8+296)($4)'
../ports/sysdeps/unix/sysv/linux/mips/getcontext.S:103: Error: illegal operands `s.d fs7,(31*8+296)($4)'

The corresponding code lines are:

 98        s.d     fs2, (26 * SZREG + MCONTEXT_FPREGS)(a0)
 99        s.d     fs3, (27 * SZREG + MCONTEXT_FPREGS)(a0)
100        s.d     fs4, (28 * SZREG + MCONTEXT_FPREGS)(a0)
101        s.d     fs5, (29 * SZREG + MCONTEXT_FPREGS)(a0)
102        s.d     fs6, (30 * SZREG + MCONTEXT_FPREGS)(a0)
103        s.d     fs7, (31 * SZREG + MCONTEXT_FPREGS)(a0)

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@xxxxxxxxxxx                 http://www.aurel32.net


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux