diff options
author | 2019-04-04 17:41:33 +0800 | |
---|---|---|
committer | 2019-04-04 13:58:02 +0000 | |
commit | 383f114f8d950f51eb2085ee5ea5375a2403cece (patch) | |
tree | eda6610fe4339e6ffa0d3affc2393e80075c83ba | |
parent | 6d4280c35023389a3886b4f67fe24db283a0abc9 (diff) |
Fix ILL_ILLOPC issue-id 129895920 on 32bit armv7 device
'ldrd r0, r1, [r2, r1]' will be compiled to '0xe18200d1' by clang.
This is an unpredictable instruction on armv7 devices such as
ARM cortex-A7 and may case ILL_ILLOPC (or it may also work).
Bug: 129895920
Change-Id: I7d087e46e59956af00f4261961dce22f1e6d0181
Signed-off-by: yuguoxu <yuguoxu@allwinnertech.com>
-rw-r--r-- | runtime/interpreter/mterp/arm/object.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/interpreter/mterp/arm/object.S b/runtime/interpreter/mterp/arm/object.S index 7736383e95..a044d910dd 100644 --- a/runtime/interpreter/mterp/arm/object.S +++ b/runtime/interpreter/mterp/arm/object.S @@ -48,7 +48,7 @@ cmp r2, #0 beq common_errNullObject @ null object % if is_wide: - ldrd r0, r1, [r2, r1] @ r0,r1 <- obj.field + ldrd r0, r1, [r1, r2] @ r0,r1 <- obj.field % else: ${load} r0, [r2, r1] @ r0 <- obj.field % #endif |