[BOLT][AArch64] Adds tls relocations support (#117465)
Co-authored-by: yavtuk <yavtuk@ya.ru>
This commit is contained in:
parent
1738b75b61
commit
e11d49cbf5
@ -75,6 +75,8 @@ static bool isSupportedAArch64(uint64_t Type) {
|
|||||||
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
|
||||||
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
|
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
||||||
@ -183,6 +185,8 @@ static size_t getSizeForTypeAArch64(uint64_t Type) {
|
|||||||
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
|
||||||
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
|
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
||||||
@ -651,6 +655,8 @@ static bool isTLSAArch64(uint64_t Type) {
|
|||||||
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
|
||||||
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
||||||
case ELF::R_AARCH64_TLSDESC_CALL:
|
case ELF::R_AARCH64_TLSDESC_CALL:
|
||||||
@ -716,6 +722,8 @@ static bool isPCRelativeAArch64(uint64_t Type) {
|
|||||||
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
|
||||||
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
|
||||||
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
|
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
|
||||||
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
|
||||||
|
@ -1449,6 +1449,8 @@ public:
|
|||||||
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
|
||||||
case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
|
case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
|
||||||
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0:
|
||||||
|
case ELF::R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
|
||||||
case ELF::R_AARCH64_MOVW_UABS_G0:
|
case ELF::R_AARCH64_MOVW_UABS_G0:
|
||||||
case ELF::R_AARCH64_MOVW_UABS_G0_NC:
|
case ELF::R_AARCH64_MOVW_UABS_G0_NC:
|
||||||
case ELF::R_AARCH64_MOVW_UABS_G1:
|
case ELF::R_AARCH64_MOVW_UABS_G1:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user