> @@ -876,10 +876,17 @@ > move s2, t2 # stash most of temporary regs > REG_S t3, FRAME_T3(k1) # syscall saved gp for fork > mfc0 a1, MIPS_COP_0_STATUS # 2nd arg is STATUS > +#if defined(__mips_n32) || defined(__mips_n64) > + REG_S a4, FRAME_A4(k1) > + REG_S a5, FRAME_A5(k1) > + REG_S a6, FRAME_A6(k1) > + REG_S a7, FRAME_A7(k1) > +#else > move s4, ta0 > move s5, ta1 > move s6, ta2 > move s7, ta3 > +#endif > #REG_S t8, FRAME_T8(k1) > #REG_S t9, FRAME_T9(k1) > REG_S gp, FRAME_GP(k1)
This should be #if !defined(__mips_o32) ... #else ... #endif. Otherwise O64 kernel + N32/N64 userland won't work. Masao