We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent bf42cf5 commit 88631e3Copy full SHA for 88631e3
ext/opcache/jit/dynasm/dasm_arm64.h
@@ -482,11 +482,12 @@ int dasm_encode(Dst_DECL, void *buffer)
482
}
483
break;
484
case DASM_REL_A: {
485
- ptrdiff_t na;
+ ptrdiff_t na = (((ptrdiff_t)(*b++) << 32) | (unsigned int)n);
486
if ((ins & 0x3000) == 0x3000) { /* ADRP */
487
- na = ((((ptrdiff_t)(*b++) << 32) | (unsigned int)n) & ~0xfff) - (((ptrdiff_t)cp - 4) & ~0xfff);;
+ ins &= ~0x1000;
488
+ na = (na >> 12) - (((ptrdiff_t)cp - 4) >> 12);
489
} else {
- na = (((ptrdiff_t)(*b++) << 32) | (unsigned int)n) - (ptrdiff_t)cp + 4;
490
+ na = na - (ptrdiff_t)cp + 4;
491
492
n = (int)na;
493
CK_REL((ptrdiff_t)n == na, na);
0 commit comments