43 lines · plain
1# REQUIRES: x862# RUN: llvm-mc %s -filetype=obj -o %t.obj -triple=x86_64-windows-msvc3# RUN: lld-link /entry:main /out:%t.exe /LARGEADDRESSAWARE:NO %t.obj4# RUN: llvm-readobj --coff-basereloc %t.exe | FileCheck %s --check-prefix=CHECKPASS5 6# This test case checks that the "ADDR32" relocation symbol is collected7# when linking a 64bit executable, and the output contains the HIGHLOW8# relocated symbol.9 10# Check that the HIGHLOW relocation base type is in the generated executable11# CHECKPASS: Format: COFF-x86-6412# CHECKPASS: Arch: x86_6413# CHECKPASS: AddressSize: 64bit14# CHECKPASS: BaseReloc15# CHECKPASS: Entry {16# CHECKPASS-NEXT: Type: HIGHLOW17 18 .text19 .def main;20 .scl 2;21 .type 32;22 .endef23 .intel_syntax noprefix24 .globl main25 .p2align 4, 0x9026 27main: # @main28 sub rsp, 4029 30 mov dword ptr [rip + arr + 24], 731 32 mov eax, 133 mov ecx, 2034 mov eax, dword ptr [rcx + 4 * rax + arr]35 36 ret37 38 .globl arr39 .p2align 440arr:41 .zero 4042 43