@@ -81,7 +81,6 @@ static bool isSupportedAArch64(uint32_t Type) {
8181 case ELF::R_AARCH64_LD64_GOT_LO12_NC:
8282 case ELF::R_AARCH64_TLSDESC_LD64_LO12:
8383 case ELF::R_AARCH64_TLSDESC_ADD_LO12:
84- case ELF::R_AARCH64_TLSDESC_CALL:
8584 case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
8685 case ELF::R_AARCH64_PREL16:
8786 case ELF::R_AARCH64_PREL32:
@@ -193,7 +192,6 @@ static size_t getSizeForTypeAArch64(uint32_t Type) {
193192 case ELF::R_AARCH64_LD64_GOT_LO12_NC:
194193 case ELF::R_AARCH64_TLSDESC_LD64_LO12:
195194 case ELF::R_AARCH64_TLSDESC_ADD_LO12:
196- case ELF::R_AARCH64_TLSDESC_CALL:
197195 case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
198196 case ELF::R_AARCH64_PREL32:
199197 case ELF::R_AARCH64_MOVW_UABS_G0:
@@ -248,7 +246,14 @@ static bool skipRelocationTypeX86(uint32_t Type) {
248246}
249247
250248static bool skipRelocationTypeAArch64 (uint32_t Type) {
251- return Type == ELF::R_AARCH64_NONE || Type == ELF::R_AARCH64_LD_PREL_LO19;
249+ switch (Type) {
250+ default :
251+ return false ;
252+ case ELF::R_AARCH64_NONE:
253+ case ELF::R_AARCH64_LD_PREL_LO19:
254+ case ELF::R_AARCH64_TLSDESC_CALL:
255+ return true ;
256+ }
252257}
253258
254259static bool skipRelocationTypeRISCV (uint32_t Type) {
@@ -362,7 +367,6 @@ static uint64_t extractValueAArch64(uint32_t Type, uint64_t Contents,
362367 return static_cast <int64_t >(PC) + SignExtend64<32 >(Contents & 0xffffffff );
363368 case ELF::R_AARCH64_PREL64:
364369 return static_cast <int64_t >(PC) + Contents;
365- case ELF::R_AARCH64_TLSDESC_CALL:
366370 case ELF::R_AARCH64_JUMP26:
367371 case ELF::R_AARCH64_CALL26:
368372 // Immediate goes in bits 25:0 of B and BL.
@@ -552,7 +556,6 @@ static bool isGOTAArch64(uint32_t Type) {
552556 case ELF::R_AARCH64_TLSDESC_ADR_PAGE21:
553557 case ELF::R_AARCH64_TLSDESC_LD64_LO12:
554558 case ELF::R_AARCH64_TLSDESC_ADD_LO12:
555- case ELF::R_AARCH64_TLSDESC_CALL:
556559 return true ;
557560 }
558561}
@@ -591,7 +594,6 @@ static bool isTLSAArch64(uint32_t Type) {
591594 case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
592595 case ELF::R_AARCH64_TLSDESC_LD64_LO12:
593596 case ELF::R_AARCH64_TLSDESC_ADD_LO12:
594- case ELF::R_AARCH64_TLSDESC_CALL:
595597 case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
596598 return true ;
597599 }
@@ -667,7 +669,6 @@ static bool isPCRelativeAArch64(uint32_t Type) {
667669 case ELF::R_AARCH64_MOVW_UABS_G2_NC:
668670 case ELF::R_AARCH64_MOVW_UABS_G3:
669671 return false ;
670- case ELF::R_AARCH64_TLSDESC_CALL:
671672 case ELF::R_AARCH64_CALL26:
672673 case ELF::R_AARCH64_JUMP26:
673674 case ELF::R_AARCH64_TSTBR14:
0 commit comments