diff options
author | Dan Albert <danalbert@google.com> | 2014-08-06 21:36:46 -0700 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2014-08-07 09:59:56 -0700 |
commit | bae21bb7f6ca917e0954c970f0bfd2bfa3dcc0a9 (patch) | |
tree | 9b52a08a0ec49d15b5839386804bf75cbfec360f /runtime/arch/arm | |
parent | 8b62dc0f993d0445401655fc274e5225498fa81c (diff) | |
download | art-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.S | 6 |
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] |