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,4 @@ ; 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 adrp x2, _var@TLVPPAGE ldr x0, [x15, _var@TLVPPAGEOFF] @@ -7,7 +6,3 @@ ; CHECK: adrp x2, _var@TLVPPAG ; CHECK: ldr x0, [x15, _var@TLVPPAGEOFF] ; CHECK: add x30, x0, _var@TLVPPAGEOFF - -; 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 Index: llvm/test/tools/llvm-objdump/MachO/disassemble-arm64-tlv-modifers.s =================================================================== --- /dev/null +++ llvm/test/tools/llvm-objdump/MachO/disassemble-arm64-tlv-modifers.s @@ -0,0 +1,20 @@ +; RUN: llvm-mc -triple=arm64-apple-ios7.0 -filetype=obj %s -o %t.o + +adrp x2, _var@TLVPPAGE +ldr x0, [x15, _var@TLVPPAGEOFF] +add x30, x0, _var@TLVPPAGEOFF + +; RUN: llvm-objdump -rd %t.o | FileCheck %s --check-prefix=CHECK-OBJDUMP +; RUN: llvm-objdump --macho -d --full-leading-addr --no-show-raw-insn %t.o \ +; RUN: | FileCheck %s --check-prefix=CHECK-MACHO + +; CHECK-OBJDUMP: adrp x2, 0x0 +; CHECK-OBJDUMP-NEXT: 0: ARM64_RELOC_TLVP_LOAD_PAGE21 _var +; CHECK-OBJDUMP-NEXT: ldr x0, [x15] +; CHECK-OBJDUMP-NEXT: 4: ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var +; CHECK-OBJDUMP-NEXT: add x30, x0, #0 +; CHECK-OBJDUMP-NEXT: 8: ARM64_RELOC_TLVP_LOAD_PAGEOFF12 _var + +; CHECK-MACHO: 0000000000000000 adrp x2, _var@TLVPPAGE +; CHECK-MACHO-NEXT: 0000000000000004 ldr x0, [x15, _var@TLVPPAGEOFF] +; CHECK-MACHO-NEXT: 0000000000000008 add x30, x0, _var@TLVPPAGEOFF