diff options
| author | Ben Cheng <bccheng@google.com> | 2009-10-13 17:06:10 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-10-13 17:06:10 -0700 |
| commit | afdf977b8d79a8c76dcbfd4a5f159c32a8833aab (patch) | |
| tree | 0d32d5eebea5ae83425de8ffbf0fa5b5bd393a7d /libcutils | |
| parent | a01fdd534dd40865c966b5c5347cf74d0ff3116f (diff) | |
| parent | 22f9d880941cf1db87fd19437bce71420eedf8bd (diff) | |
| download | system_core-afdf977b8d79a8c76dcbfd4a5f159c32a8833aab.tar.gz system_core-afdf977b8d79a8c76dcbfd4a5f159c32a8833aab.tar.bz2 system_core-afdf977b8d79a8c76dcbfd4a5f159c32a8833aab.zip | |
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.
Diffstat (limited to 'libcutils')
| -rw-r--r-- | libcutils/atomic-android-arm.S | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libcutils/atomic-android-arm.S b/libcutils/atomic-android-arm.S index 4da61954..da5c26b0 100644 --- a/libcutils/atomic-android-arm.S +++ b/libcutils/atomic-android-arm.S @@ -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 /* * ---------------------------------------------------------------------------- |
