On Fri Nov 26 2010 at 03:01:29 +1100, matthew green wrote: > > > > --- locore_mips1.S 8 Nov 2010 18:09:38 -0000 1.68 > > > +++ locore_mips1.S 25 Nov 2010 14:15:39 -0000 > > > @@ -418,7 +418,7 @@ NESTED_NOPROFILE(mips1_SystemCall, CALLF > > > sw a3, FRAME_A3(k1) > > > lw a0, CPUVAR(CURLWP) # 1st arg is curlwp > > > mfhi v1 > > > - #sw t0, FRAME_T0(k1) # no need to save temp > > > regs > > > + sw t0, FRAME_T0(k1) # no need to save temp > > > regs > > > > Yeah, it works with 201011170000Z snapshot binaries. Thanks. > > > > But should we rather fix syscall stubs? > > if the above is necessary for old binaries then it needs to be > done. we should fix the syscall stubs, for sure... but we may > need the above as well.
Actually, I'm not sure on "for sure". If we define the kernel to retain t regs over syscall, there is no need to touch the syscall stubs. The problem is essentially that the old stub did this: brk: syscall la t0 _C_LABEL sw v0 0(t0) and the new one: brk: la t0 _C_LABEL syscall sw v0 0(t0)