summaryrefslogtreecommitdiffstats
path: root/runtime/arch/arm
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-08-06 21:36:46 -0700
committerDan Albert <danalbert@google.com>2014-08-07 09:59:56 -0700
commitbae21bb7f6ca917e0954c970f0bfd2bfa3dcc0a9 (patch)
tree9b52a08a0ec49d15b5839386804bf75cbfec360f /runtime/arch/arm
parent8b62dc0f993d0445401655fc274e5225498fa81c (diff)
downloadart-bae21bb7f6ca917e0954c970f0bfd2bfa3dcc0a9.tar.gz
art-bae21bb7f6ca917e0954c970f0bfd2bfa3dcc0a9.tar.bz2
art-bae21bb7f6ca917e0954c970f0bfd2bfa3dcc0a9.zip
Fix build without -Bsymbolic.
For ARM: Gold is unable to create PLT based relocations for conditional branches. For x86: Some uses of SYMBOL() should have been PLT_SYMBOL(). Bug: 16853291 Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
Diffstat (limited to 'runtime/arch/arm')
-rw-r--r--runtime/arch/arm/quick_entrypoints_arm.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/arch/arm/quick_entrypoints_arm.S b/runtime/arch/arm/quick_entrypoints_arm.S
index 86cb16aab5..c4f8782c23 100644
--- a/runtime/arch/arm/quick_entrypoints_arm.S
+++ b/runtime/arch/arm/quick_entrypoints_arm.S
@@ -502,20 +502,22 @@ END art_quick_check_cast
*/
ENTRY art_quick_aput_obj_with_null_and_bound_check
tst r0, r0
- bne art_quick_aput_obj_with_bound_check
+ bne art_quick_aput_obj_with_bound_check_local
b art_quick_throw_null_pointer_exception
END art_quick_aput_obj_with_null_and_bound_check
ENTRY art_quick_aput_obj_with_bound_check
+art_quick_aput_obj_with_bound_check_local:
ldr r3, [r0, #ARRAY_LENGTH_OFFSET]
cmp r3, r1
- bhi art_quick_aput_obj
+ bhi art_quick_aput_obj_local
mov r0, r1
mov r1, r3
b art_quick_throw_array_bounds
END art_quick_aput_obj_with_bound_check
ENTRY art_quick_aput_obj
+art_quick_aput_obj_local:
cbz r2, .Ldo_aput_null
ldr r3, [r0, #CLASS_OFFSET]
ldr ip, [r2, #CLASS_OFFSET]