Index: llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp =================================================================== --- llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp +++ llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp @@ -34,7 +34,9 @@ case LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF: return MCSymbolRefExpr::VK_GOTPAGEOFF; case LLVMDisassembler_VariantKind_ARM64_TLVP: + return MCSymbolRefExpr::VK_TLVPPAGE; case LLVMDisassembler_VariantKind_ARM64_TLVOFF: + return MCSymbolRefExpr::VK_TLVPPAGEOFF; default: llvm_unreachable("bad LLVMDisassembler_VariantKind"); } Index: llvm/test/MC/AArch64/arm64-tls-modifiers-darwin.s =================================================================== --- llvm/test/MC/AArch64/arm64-tls-modifiers-darwin.s +++ llvm/test/MC/AArch64/arm64-tls-modifiers-darwin.s @@ -1,5 +1,7 @@ ; RUN: llvm-mc -triple=arm64-apple-ios7.0 %s -o - | FileCheck %s -; RUN: llvm-mc -triple=arm64-apple-ios7.0 -filetype=obj %s -o - | llvm-objdump -r - | FileCheck %s --check-prefix=CHECK-OBJ +; RUN: llvm-mc -triple=arm64-apple-ios7.0 -filetype=obj %s -o %t.o +; RUN: llvm-objdump -r %t.o | FileCheck %s --check-prefix=CHECK-OBJ +; RUN: llvm-otool -tV %t.o | FileCheck %s --check-prefix=CHECK-DIS adrp x2, _var@TLVPPAGE ldr x0, [x15, _var@TLVPPAGEOFF] @@ -11,3 +13,7 @@ ; CHECK-OBJ: 8 ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var ; CHECK-OBJ: 4 ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var ; CHECK-OBJ: 0 ARM64_RELOC_TLVP_LOAD_PAGE21 _var + +; CHECK-DIS: 0000000000000000 adrp x2, _var@TLVPPAGE +; CHECK-DIS: 0000000000000004 ldr x0, [x15, _var@TLVPPAGEOFF] +; CHECK-DIS: 0000000000000008 add x30, x0, _var@TLVPPAGEOFF