diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_emit_arm.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_emit_arm.h b/src/lj_emit_arm.h index dff9fac4..496b37a3 100644 --- a/src/lj_emit_arm.h +++ b/src/lj_emit_arm.h | |||
@@ -274,7 +274,7 @@ static void emit_call(ASMState *as, void *target) | |||
274 | ptrdiff_t delta = ((char *)target - (char *)p) - 8; | 274 | ptrdiff_t delta = ((char *)target - (char *)p) - 8; |
275 | if ((((delta>>2) + 0x00800000) >> 24) == 0) { | 275 | if ((((delta>>2) + 0x00800000) >> 24) == 0) { |
276 | if ((delta & 1)) | 276 | if ((delta & 1)) |
277 | *p = ARMI_BLX | ((uint32_t)(delta>>2) & 0x00ffffffu) | ((delta&2) << 27); | 277 | *p = ARMI_BLX | ((uint32_t)(delta>>2) & 0x00ffffffu) | ((delta&2) << 23); |
278 | else | 278 | else |
279 | *p = ARMI_BL | ((uint32_t)(delta>>2) & 0x00ffffffu); | 279 | *p = ARMI_BL | ((uint32_t)(delta>>2) & 0x00ffffffu); |
280 | } else { /* Target out of range: need indirect call. But don't use R0-R3. */ | 280 | } else { /* Target out of range: need indirect call. But don't use R0-R3. */ |