am 22f9d880: am 8a0a5274: Add stack unwinding directives to atomic-android-arm.S.
Merge commit '22f9d880941cf1db87fd19437bce71420eedf8bd' * commit '22f9d880941cf1db87fd19437bce71420eedf8bd': Add stack unwinding directives to atomic-android-arm.S.
This commit is contained in:
commit
afdf977b8d
|
@ -65,6 +65,8 @@ android_atomic_write:
|
|||
*/
|
||||
|
||||
android_atomic_inc:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r2, r0
|
||||
1: @ android_atomic_inc
|
||||
|
@ -84,6 +86,7 @@ android_atomic_inc:
|
|||
sub r0, r1, #1
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -93,6 +96,8 @@ android_atomic_inc:
|
|||
*/
|
||||
|
||||
android_atomic_dec:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r2, r0
|
||||
1: @ android_atomic_dec
|
||||
|
@ -112,6 +117,7 @@ android_atomic_dec:
|
|||
add r0, r1, #1
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -121,6 +127,8 @@ android_atomic_dec:
|
|||
*/
|
||||
|
||||
android_atomic_add:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r2, r1
|
||||
mov r4, r0
|
||||
|
@ -141,6 +149,7 @@ android_atomic_add:
|
|||
sub r0, r1, r4
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
|
||||
/*
|
||||
|
@ -151,6 +160,8 @@ android_atomic_add:
|
|||
*/
|
||||
|
||||
android_atomic_and:
|
||||
.fnstart
|
||||
.save {r4, r5, lr}
|
||||
stmdb sp!, {r4, r5, lr}
|
||||
mov r2, r1 /* r2 = address */
|
||||
mov r4, r0 /* r4 = the value */
|
||||
|
@ -173,6 +184,7 @@ android_atomic_and:
|
|||
mov r0, r5
|
||||
ldmia sp!, {r4, r5, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -182,6 +194,8 @@ android_atomic_and:
|
|||
*/
|
||||
|
||||
android_atomic_or:
|
||||
.fnstart
|
||||
.save {r4, r5, lr}
|
||||
stmdb sp!, {r4, r5, lr}
|
||||
mov r2, r1 /* r2 = address */
|
||||
mov r4, r0 /* r4 = the value */
|
||||
|
@ -204,6 +218,7 @@ android_atomic_or:
|
|||
mov r0, r5
|
||||
ldmia sp!, {r4, r5, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -234,6 +249,8 @@ android_atomic_swap:
|
|||
*/
|
||||
|
||||
android_atomic_cmpxchg:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r4, r0 /* r4 = save oldvalue */
|
||||
1: @ android_atomic_cmpxchg
|
||||
|
@ -255,6 +272,7 @@ android_atomic_cmpxchg:
|
|||
2: @ android_atomic_cmpxchg
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue