@@ -484,17 +484,17 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
484
484
switch (rel.type ) {
485
485
case R_AARCH64_ABS16:
486
486
case R_AARCH64_PREL16:
487
- checkIntUInt (loc, val, 16 , rel);
487
+ checkIntUInt (ctx, loc, val, 16 , rel);
488
488
write16 (ctx, loc, val);
489
489
break ;
490
490
case R_AARCH64_ABS32:
491
491
case R_AARCH64_PREL32:
492
- checkIntUInt (loc, val, 32 , rel);
492
+ checkIntUInt (ctx, loc, val, 32 , rel);
493
493
write32 (ctx, loc, val);
494
494
break ;
495
495
case R_AARCH64_PLT32:
496
496
case R_AARCH64_GOTPCREL32:
497
- checkInt (loc, val, 32 , rel);
497
+ checkInt (ctx, loc, val, 32 , rel);
498
498
write32 (ctx, loc, val);
499
499
break ;
500
500
case R_AARCH64_ABS64:
@@ -535,13 +535,13 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
535
535
case R_AARCH64_ADR_PREL_PG_HI21:
536
536
case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
537
537
case R_AARCH64_TLSDESC_ADR_PAGE21:
538
- checkInt (loc, val, 33 , rel);
538
+ checkInt (ctx, loc, val, 33 , rel);
539
539
[[fallthrough]];
540
540
case R_AARCH64_ADR_PREL_PG_HI21_NC:
541
541
write32AArch64Addr (loc, val >> 12 );
542
542
break ;
543
543
case R_AARCH64_ADR_PREL_LO21:
544
- checkInt (loc, val, 21 , rel);
544
+ checkInt (ctx, loc, val, 21 , rel);
545
545
write32AArch64Addr (loc, val);
546
546
break ;
547
547
case R_AARCH64_JUMP26:
@@ -555,14 +555,14 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
555
555
write32le (loc, 0x14000000 );
556
556
[[fallthrough]];
557
557
case R_AARCH64_CALL26:
558
- checkInt (loc, val, 28 , rel);
558
+ checkInt (ctx, loc, val, 28 , rel);
559
559
writeMaskedBits32le (loc, (val & 0x0FFFFFFC ) >> 2 , 0x0FFFFFFC >> 2 );
560
560
break ;
561
561
case R_AARCH64_CONDBR19:
562
562
case R_AARCH64_LD_PREL_LO19:
563
563
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);
566
566
writeMaskedBits32le (loc, (val & 0x1FFFFC ) << 3 , 0x1FFFFC << 3 );
567
567
break ;
568
568
case R_AARCH64_LDST8_ABS_LO12_NC:
@@ -571,45 +571,45 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
571
571
break ;
572
572
case R_AARCH64_LDST16_ABS_LO12_NC:
573
573
case R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC:
574
- checkAlignment (loc, val, 2 , rel);
574
+ checkAlignment (ctx, loc, val, 2 , rel);
575
575
write32Imm12 (loc, getBits (val, 1 , 11 ));
576
576
break ;
577
577
case R_AARCH64_LDST32_ABS_LO12_NC:
578
578
case R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC:
579
- checkAlignment (loc, val, 4 , rel);
579
+ checkAlignment (ctx, loc, val, 4 , rel);
580
580
write32Imm12 (loc, getBits (val, 2 , 11 ));
581
581
break ;
582
582
case R_AARCH64_LDST64_ABS_LO12_NC:
583
583
case R_AARCH64_LD64_GOT_LO12_NC:
584
584
case R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
585
585
case R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC:
586
586
case R_AARCH64_TLSDESC_LD64_LO12:
587
- checkAlignment (loc, val, 8 , rel);
587
+ checkAlignment (ctx, loc, val, 8 , rel);
588
588
write32Imm12 (loc, getBits (val, 3 , 11 ));
589
589
break ;
590
590
case R_AARCH64_LDST128_ABS_LO12_NC:
591
591
case R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC:
592
- checkAlignment (loc, val, 16 , rel);
592
+ checkAlignment (ctx, loc, val, 16 , rel);
593
593
write32Imm12 (loc, getBits (val, 4 , 11 ));
594
594
break ;
595
595
case R_AARCH64_LD64_GOTPAGE_LO15:
596
- checkAlignment (loc, val, 8 , rel);
596
+ checkAlignment (ctx, loc, val, 8 , rel);
597
597
write32Imm12 (loc, getBits (val, 3 , 14 ));
598
598
break ;
599
599
case R_AARCH64_MOVW_UABS_G0:
600
- checkUInt (loc, val, 16 , rel);
600
+ checkUInt (ctx, loc, val, 16 , rel);
601
601
[[fallthrough]];
602
602
case R_AARCH64_MOVW_UABS_G0_NC:
603
603
writeMaskedBits32le (loc, (val & 0xFFFF ) << 5 , 0xFFFF << 5 );
604
604
break ;
605
605
case R_AARCH64_MOVW_UABS_G1:
606
- checkUInt (loc, val, 32 , rel);
606
+ checkUInt (ctx, loc, val, 32 , rel);
607
607
[[fallthrough]];
608
608
case R_AARCH64_MOVW_UABS_G1_NC:
609
609
writeMaskedBits32le (loc, (val & 0xFFFF0000 ) >> 11 , 0xFFFF0000 >> 11 );
610
610
break ;
611
611
case R_AARCH64_MOVW_UABS_G2:
612
- checkUInt (loc, val, 48 , rel);
612
+ checkUInt (ctx, loc, val, 48 , rel);
613
613
[[fallthrough]];
614
614
case R_AARCH64_MOVW_UABS_G2_NC:
615
615
writeMaskedBits32le (loc, (val & 0xFFFF00000000 ) >> 27 ,
@@ -622,7 +622,7 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
622
622
case R_AARCH64_MOVW_PREL_G0:
623
623
case R_AARCH64_MOVW_SABS_G0:
624
624
case R_AARCH64_TLSLE_MOVW_TPREL_G0:
625
- checkInt (loc, val, 17 , rel);
625
+ checkInt (ctx, loc, val, 17 , rel);
626
626
[[fallthrough]];
627
627
case R_AARCH64_MOVW_PREL_G0_NC:
628
628
case R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
@@ -631,7 +631,7 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
631
631
case R_AARCH64_MOVW_PREL_G1:
632
632
case R_AARCH64_MOVW_SABS_G1:
633
633
case R_AARCH64_TLSLE_MOVW_TPREL_G1:
634
- checkInt (loc, val, 33 , rel);
634
+ checkInt (ctx, loc, val, 33 , rel);
635
635
[[fallthrough]];
636
636
case R_AARCH64_MOVW_PREL_G1_NC:
637
637
case R_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
@@ -640,7 +640,7 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
640
640
case R_AARCH64_MOVW_PREL_G2:
641
641
case R_AARCH64_MOVW_SABS_G2:
642
642
case R_AARCH64_TLSLE_MOVW_TPREL_G2:
643
- checkInt (loc, val, 49 , rel);
643
+ checkInt (ctx, loc, val, 49 , rel);
644
644
[[fallthrough]];
645
645
case R_AARCH64_MOVW_PREL_G2_NC:
646
646
writeSMovWImm (loc, val >> 32 );
@@ -649,11 +649,11 @@ void AArch64::relocate(uint8_t *loc, const Relocation &rel,
649
649
writeSMovWImm (loc, val >> 48 );
650
650
break ;
651
651
case R_AARCH64_TSTBR14:
652
- checkInt (loc, val, 16 , rel);
652
+ checkInt (ctx, loc, val, 16 , rel);
653
653
writeMaskedBits32le (loc, (val & 0xFFFC ) << 3 , 0xFFFC << 3 );
654
654
break ;
655
655
case R_AARCH64_TLSLE_ADD_TPREL_HI12:
656
- checkUInt (loc, val, 24 , rel);
656
+ checkUInt (ctx, loc, val, 24 , rel);
657
657
write32Imm12 (loc, val >> 12 );
658
658
break ;
659
659
case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
@@ -682,7 +682,7 @@ void AArch64::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel,
682
682
// movk x0, #0x10
683
683
// nop
684
684
// nop
685
- checkUInt (loc, val, 32 , rel);
685
+ checkUInt (ctx, loc, val, 32 , rel);
686
686
687
687
switch (rel.type ) {
688
688
case R_AARCH64_TLSDESC_ADD_LO12:
@@ -734,7 +734,7 @@ void AArch64::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel,
734
734
735
735
void AArch64::relaxTlsIeToLe (uint8_t *loc, const Relocation &rel,
736
736
uint64_t val) const {
737
- checkUInt (loc, val, 32 , rel);
737
+ checkUInt (ctx, loc, val, 32 , rel);
738
738
739
739
if (rel.type == R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21) {
740
740
// Generate MOVZ.
0 commit comments