sync mips libc bits. need to tackle locking. Reference: /n/atom/patch/applied/mipslibcsync Date: Tue Apr 15 23:24:54 CES 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/libc/mips/tas.s Tue Apr 15 23:24:54 2014 +++ /sys/src/libc/mips/tas.s Tue Apr 15 23:24:54 2014 @@ -17,6 +17,7 @@ BLTZ R1, btas RET + TEXT _tas(SB), $0 TEXT C_4ktas(SB), $0 MOVW R1, R2 /* address of key */ tas1: --- /sys/src/libc/mips/atom.s Tue Apr 15 23:24:54 2014 +++ /sys/src/libc/mips/atom.s Tue Apr 15 23:24:54 2014 @@ -6,26 +6,27 @@ #define SC(base, rt) WORD $((070<<26)|((base)<<21)|((rt)<<16)) #define NOOP WORD $0x27 -TEXT ainc(SB), 1, $-4 /* int ainc(int *); */ +TEXT ainc(SB), 1, $-4 /* long ainc(long *); */ TEXT _xinc(SB), 1, $-4 /* void _xinc(long *); */ MOVW R1, R2 /* address of counter */ loop: MOVW $1, R3 LL(2, 1) NOOP - ADD R1,R3,R3 + ADDU R1, R3 + MOVW R3, R1 /* return new value */ SC(2, 3) NOOP BEQ R3,loop RET -TEXT adec(SB), 1, $-4 /* int adec(int*); */ +TEXT adec(SB), 1, $-4 /* long adec(long*); */ TEXT _xdec(SB), 1, $-4 /* long _xdec(long *); */ MOVW R1, R2 /* address of counter */ loop1: MOVW $-1, R3 LL(2, 1) NOOP - ADD R1,R3,R3 - MOVW R3, R1 + ADDU R1, R3 + MOVW R3, R1 /* return new value */ SC(2, 3) NOOP BEQ R3,loop1