Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / COFF / arm64ec-reloc.test
blob3060891bfe02e872f6b7fbbb299268d55cd0e09b
1 REQUIRES: aarch64, x86
2 RUN: split-file %s %t.dir && cd %t.dir
4 Link a mix of ARM64EC and x86_64 data and check that relocations work.
6 RUN: llvm-mc -filetype=obj -triple=arm64ec-windows arm64ec-data-sym.s -o arm64ec-data-sym.obj
7 RUN: llvm-mc -filetype=obj -triple=x86_64-windows x86_64-data-sym.s -o x86_64-data-sym.obj
8 RUN: lld-link -out:test.dll -machine:arm64ec arm64ec-data-sym.obj x86_64-data-sym.obj -dll -noentry
10 RUN: llvm-readobj --hex-dump=.data test.dll | FileCheck -check-prefix=ARM64EC-DATA %s
11 ARM64EC-DATA: 0x180001000 00100080 01000000 08100080 01000000
13 RUN: llvm-readobj --coff-basereloc test.dll | FileCheck -check-prefix=RELOCS %s
14 RELOCS:      BaseReloc [
15 RELOCS-NEXT:   Entry {
16 RELOCS-NEXT:     Type: DIR64
17 RELOCS-NEXT:     Address: 0x1000
18 RELOCS-NEXT:   }
19 RELOCS-NEXT:   Entry {
20 RELOCS-NEXT:     Type: DIR64
21 RELOCS-NEXT:     Address: 0x1008
22 RELOCS-NEXT:   }
23 RELOCS-NEXT: ]
25 #--- arm64ec-data-sym.s
26         .data
27         .globl arm64ec_data_sym
28         .p2align 2, 0x0
29 arm64ec_data_sym:
30         .xword arm64ec_data_sym
32 #--- x86_64-data-sym.s
33         .data
34         .globl x86_64_data_sym
35         .p2align 2, 0x0
36 x86_64_data_sym:
37         .quad x86_64_data_sym