|
@@ -56,12 +56,6 @@
|
|
|
mtsp %r1,%sr1
|
|
|
.endm
|
|
|
|
|
|
- .macro fixup_branch lbl
|
|
|
- ldil L%\lbl, %r1
|
|
|
- ldo R%\lbl(%r1), %r1
|
|
|
- bv %r0(%r1)
|
|
|
- .endm
|
|
|
-
|
|
|
/*
|
|
|
* unsigned long lclear_user(void *to, unsigned long n)
|
|
|
*
|
|
@@ -82,16 +76,16 @@ $lclu_loop:
|
|
|
$lclu_done:
|
|
|
bv %r0(%r2)
|
|
|
copy %r25,%r28
|
|
|
- .exit
|
|
|
-ENDPROC_CFI(lclear_user)
|
|
|
|
|
|
- .section .fixup,"ax"
|
|
|
-2: fixup_branch $lclu_done
|
|
|
- ldo 1(%r25),%r25
|
|
|
- .previous
|
|
|
+2: b $lclu_done
|
|
|
+ ldo 1(%r25),%r25
|
|
|
|
|
|
ASM_EXCEPTIONTABLE_ENTRY(1b,2b)
|
|
|
|
|
|
+ .exit
|
|
|
+ENDPROC_CFI(lclear_user)
|
|
|
+
|
|
|
+
|
|
|
.procend
|
|
|
|
|
|
/*
|
|
@@ -122,16 +116,15 @@ $lslen_done:
|
|
|
$lslen_nzero:
|
|
|
b $lslen_done
|
|
|
ldo 1(%r26),%r26 /* special case for N == 0 */
|
|
|
-ENDPROC_CFI(lstrnlen_user)
|
|
|
|
|
|
- .section .fixup,"ax"
|
|
|
-3: fixup_branch $lslen_done
|
|
|
+3: b $lslen_done
|
|
|
copy %r24,%r26 /* reset r26 so 0 is returned on fault */
|
|
|
- .previous
|
|
|
|
|
|
ASM_EXCEPTIONTABLE_ENTRY(1b,3b)
|
|
|
ASM_EXCEPTIONTABLE_ENTRY(2b,3b)
|
|
|
|
|
|
+ENDPROC_CFI(lstrnlen_user)
|
|
|
+
|
|
|
.procend
|
|
|
|
|
|
|