> I must have been blind -- there's a matching ".set pop" elsewhere. Is a > "nop" really missing in the output? I've assembled the file and I can't > see any problem: > > 000000000000022c <handle_daddi_ov_int>: > 22c: 0c000000 jal 0 <except_vec0_generic> > 22c: R_MIPS_26 do_daddi_ov > 22c: R_MIPS_NONE *ABS* > 22c: R_MIPS_NONE *ABS* > 230: 03a0202d move a0,sp > 234: 08000000 j 0 <except_vec0_generic> > 234: R_MIPS_26 ret_from_exception > 234: R_MIPS_NONE *ABS* > 234: R_MIPS_NONE *ABS* > 238: 00000000 nop > 23c: 00000000 nop Oooh, it's SOOO strange! For me, it is: ... 228: 03a0202d move a0,sp 22c: 0c000000 jal 0 <except_vec0_generic> 22c: R_MIPS_26 do_daddi_ov 22c: R_MIPS_NONE *ABS* 22c: R_MIPS_NONE *ABS* 230: 08000000 j 0 <except_vec0_generic> 230: R_MIPS_26 ret_from_exception 230: R_MIPS_NONE *ABS* 230: R_MIPS_NONE *ABS* because the last '.set *reorder' before is in 'nmi_handler', and it is a '.set noreorder'. I will get a newer kernel (I did 2.6.1 because it worked for me, and 2.6.3 crashed on my PC with astonishing frequency, so I didn't want to take a chance) and check. Anyway, the procedure is 'handle_daddi_ov' and not 'handle_daddi_ov_int' in my genex.S, and it's substantially longer than your code. Do you have the SAVE_ALL there? I don't see it. Yours, Stanislaw Skowronek