@@ -484,17 +484,17 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
484484 switch (rel.type ) {
485485 case R_AARCH64_ABS16:
486486 case R_AARCH64_PREL16:
487- checkIntUInt (loc, val, 16 , rel);
487+ checkIntUInt (ctx, loc, val, 16 , rel);
488488 write16 (ctx, loc, val);
489489 break ;
490490 case R_AARCH64_ABS32:
491491 case R_AARCH64_PREL32:
492- checkIntUInt (loc, val, 32 , rel);
492+ checkIntUInt (ctx, loc, val, 32 , rel);
493493 write32 (ctx, loc, val);
494494 break ;
495495 case R_AARCH64_PLT32:
496496 case R_AARCH64_GOTPCREL32:
497- checkInt (loc, val, 32 , rel);
497+ checkInt (ctx, loc, val, 32 , rel);
498498 write32 (ctx, loc, val);
499499 break ;
500500 case R_AARCH64_ABS64:
@@ -535,13 +535,13 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
535535 case R_AARCH64_ADR_PREL_PG_HI21:
536536 case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
537537 case R_AARCH64_TLSDESC_ADR_PAGE21:
538- checkInt (loc, val, 33 , rel);
538+ checkInt (ctx, loc, val, 33 , rel);
539539 [[fallthrough]];
540540 case R_AARCH64_ADR_PREL_PG_HI21_NC:
541541 write32AArch64Addr (loc, val >> 12 );
542542 break ;
543543 case R_AARCH64_ADR_PREL_LO21:
544- checkInt (loc, val, 21 , rel);
544+ checkInt (ctx, loc, val, 21 , rel);
545545 write32AArch64Addr (loc, val);
546546 break ;
547547 case R_AARCH64_JUMP26:
@@ -555,14 +555,14 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
555555 write32le (loc, 0x14000000 );
556556 [[fallthrough]];
557557 case R_AARCH64_CALL26:
558- checkInt (loc, val, 28 , rel);
558+ checkInt (ctx, loc, val, 28 , rel);
559559 writeMaskedBits32le (loc, (val & 0x0FFFFFFC ) >> 2 , 0x0FFFFFFC >> 2 );
560560 break ;
561561 case R_AARCH64_CONDBR19:
562562 case R_AARCH64_LD_PREL_LO19:
563563 case R_AARCH64_GOT_LD_PREL19:
564- checkAlignment (loc, val, 4 , rel);
565- checkInt (loc, val, 21 , rel);
564+ checkAlignment (ctx, loc, val, 4 , rel);
565+ checkInt (ctx, loc, val, 21 , rel);
566566 writeMaskedBits32le (loc, (val & 0x1FFFFC ) << 3 , 0x1FFFFC << 3 );
567567 break ;
568568 case R_AARCH64_LDST8_ABS_LO12_NC:
@@ -571,45 +571,45 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
571571 break ;
572572 case R_AARCH64_LDST16_ABS_LO12_NC:
573573 case R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC:
574- checkAlignment (loc, val, 2 , rel);
574+ checkAlignment (ctx, loc, val, 2 , rel);
575575 write32Imm12 (loc, getBits (val, 1 , 11 ));
576576 break ;
577577 case R_AARCH64_LDST32_ABS_LO12_NC:
578578 case R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC:
579- checkAlignment (loc, val, 4 , rel);
579+ checkAlignment (ctx, loc, val, 4 , rel);
580580 write32Imm12 (loc, getBits (val, 2 , 11 ));
581581 break ;
582582 case R_AARCH64_LDST64_ABS_LO12_NC:
583583 case R_AARCH64_LD64_GOT_LO12_NC:
584584 case R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
585585 case R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC:
586586 case R_AARCH64_TLSDESC_LD64_LO12:
587- checkAlignment (loc, val, 8 , rel);
587+ checkAlignment (ctx, loc, val, 8 , rel);
588588 write32Imm12 (loc, getBits (val, 3 , 11 ));
589589 break ;
590590 case R_AARCH64_LDST128_ABS_LO12_NC:
591591 case R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC:
592- checkAlignment (loc, val, 16 , rel);
592+ checkAlignment (ctx, loc, val, 16 , rel);
593593 write32Imm12 (loc, getBits (val, 4 , 11 ));
594594 break ;
595595 case R_AARCH64_LD64_GOTPAGE_LO15:
596- checkAlignment (loc, val, 8 , rel);
596+ checkAlignment (ctx, loc, val, 8 , rel);
597597 write32Imm12 (loc, getBits (val, 3 , 14 ));
598598 break ;
599599 case R_AARCH64_MOVW_UABS_G0:
600- checkUInt (loc, val, 16 , rel);
600+ checkUInt (ctx, loc, val, 16 , rel);
601601 [[fallthrough]];
602602 case R_AARCH64_MOVW_UABS_G0_NC:
603603 writeMaskedBits32le (loc, (val & 0xFFFF ) << 5 , 0xFFFF << 5 );
604604 break ;
605605 case R_AARCH64_MOVW_UABS_G1:
606- checkUInt (loc, val, 32 , rel);
606+ checkUInt (ctx, loc, val, 32 , rel);
607607 [[fallthrough]];
608608 case R_AARCH64_MOVW_UABS_G1_NC:
609609 writeMaskedBits32le (loc, (val & 0xFFFF0000 ) >> 11 , 0xFFFF0000 >> 11 );
610610 break ;
611611 case R_AARCH64_MOVW_UABS_G2:
612- checkUInt (loc, val, 48 , rel);
612+ checkUInt (ctx, loc, val, 48 , rel);
613613 [[fallthrough]];
614614 case R_AARCH64_MOVW_UABS_G2_NC:
615615 writeMaskedBits32le (loc, (val & 0xFFFF00000000 ) >> 27 ,
@@ -622,7 +622,7 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
622622 case R_AARCH64_MOVW_PREL_G0:
623623 case R_AARCH64_MOVW_SABS_G0:
624624 case R_AARCH64_TLSLE_MOVW_TPREL_G0:
625- checkInt (loc, val, 17 , rel);
625+ checkInt (ctx, loc, val, 17 , rel);
626626 [[fallthrough]];
627627 case R_AARCH64_MOVW_PREL_G0_NC:
628628 case R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
@@ -631,7 +631,7 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
631631 case R_AARCH64_MOVW_PREL_G1:
632632 case R_AARCH64_MOVW_SABS_G1:
633633 case R_AARCH64_TLSLE_MOVW_TPREL_G1:
634- checkInt (loc, val, 33 , rel);
634+ checkInt (ctx, loc, val, 33 , rel);
635635 [[fallthrough]];
636636 case R_AARCH64_MOVW_PREL_G1_NC:
637637 case R_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
@@ -640,7 +640,7 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
640640 case R_AARCH64_MOVW_PREL_G2:
641641 case R_AARCH64_MOVW_SABS_G2:
642642 case R_AARCH64_TLSLE_MOVW_TPREL_G2:
643- checkInt (loc, val, 49 , rel);
643+ checkInt (ctx, loc, val, 49 , rel);
644644 [[fallthrough]];
645645 case R_AARCH64_MOVW_PREL_G2_NC:
646646 writeSMovWImm (loc, val >> 32 );
@@ -649,11 +649,11 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
649649 writeSMovWImm (loc, val >> 48 );
650650 break ;
651651 case R_AARCH64_TSTBR14:
652- checkInt (loc, val, 16 , rel);
652+ checkInt (ctx, loc, val, 16 , rel);
653653 writeMaskedBits32le (loc, (val & 0xFFFC ) << 3 , 0xFFFC << 3 );
654654 break ;
655655 case R_AARCH64_TLSLE_ADD_TPREL_HI12:
656- checkUInt (loc, val, 24 , rel);
656+ checkUInt (ctx, loc, val, 24 , rel);
657657 write32Imm12 (loc, val >> 12 );
658658 break ;
659659 case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
@@ -682,7 +682,7 @@ void AArch64::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel,
682682 // movk x0, #0x10
683683 // nop
684684 // nop
685- checkUInt (loc, val, 32 , rel);
685+ checkUInt (ctx, loc, val, 32 , rel);
686686
687687 switch (rel.type ) {
688688 case R_AARCH64_TLSDESC_ADD_LO12:
@@ -734,7 +734,7 @@ void AArch64::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel,
734734
735735void AArch64::relaxTlsIeToLe (uint8_t *loc, const Relocation &rel,
736736 uint64_t val) const {
737- checkUInt (loc, val, 32 , rel);
737+ checkUInt (ctx, loc, val, 32 , rel);
738738
739739 if (rel.type == R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21) {
740740 // Generate MOVZ.
0 commit comments