69 lines · plain
1// REQUIRES: aarch642 3// RUN: llvm-mc -filetype=obj -triple=aarch64-windows %s -o %t.arm64.obj4// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows %s -o %t.arm64ec.obj5// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows %S/Inputs/loadconfig-arm64ec.s -o %t-loadconfig-arm64ec.obj6// RUN: llvm-mc -filetype=obj -triple=aarch64-windows %S/Inputs/loadconfig-arm64.s -o %t-loadconfig-arm64.obj7 8// Check that all symbols are exported in both EC and native views.9 10// RUN: lld-link -machine:arm64x -lldmingw -dll -noentry -out:%t.dll %t.arm64.obj %t.arm64ec.obj %t-loadconfig-arm64.obj %t-loadconfig-arm64ec.obj11 12// RUN: llvm-readobj --coff-exports %t.dll | FileCheck --check-prefix=EXP %s13// EXP: Format: COFF-ARM64X14// EXP-NEXT: Arch: aarch6415// EXP-NEXT: AddressSize: 64bit16// EXP-NEXT: Export {17// EXP-NEXT: Ordinal: 118// EXP-NEXT: Name: sym19// EXP-NEXT: RVA: 0x200020// EXP-NEXT: }21// EXP-NEXT: Export {22// EXP-NEXT: Ordinal: 223// EXP-NEXT: Name: sym224// EXP-NEXT: RVA: 0x200425// EXP-NEXT: }26// EXP-NEXT: HybridObject {27// EXP-NEXT: Format: COFF-ARM64EC28// EXP-NEXT: Arch: aarch6429// EXP-NEXT: AddressSize: 64bit30// EXP-NEXT: Export {31// EXP-NEXT: Ordinal: 132// EXP-NEXT: Name: sym33// EXP-NEXT: RVA: 0x200834// EXP-NEXT: }35// EXP-NEXT: Export {36// EXP-NEXT: Ordinal: 237// EXP-NEXT: Name: sym238// EXP-NEXT: RVA: 0x200C39// EXP-NEXT: }40// EXP-NEXT: }41 42// Check that an explicit export in the EC view is respected, preventing symbols from being auto-exported in both EC and native views.43 44// RUN: lld-link -machine:arm64x -lldmingw -dll -noentry -out:%t2.dll %t.arm64.obj %t.arm64ec.obj -export:sym \45// RUN: %t-loadconfig-arm64.obj %t-loadconfig-arm64ec.obj46 47// RUN: llvm-readobj --coff-exports %t2.dll | FileCheck --check-prefix=EXP2 %s48// EXP2: Format: COFF-ARM64X49// EXP2-NEXT: Arch: aarch6450// EXP2-NEXT: AddressSize: 64bit51// EXP2-NEXT: HybridObject {52// EXP2-NEXT: Format: COFF-ARM64EC53// EXP2-NEXT: Arch: aarch6454// EXP2-NEXT: AddressSize: 64bit55// EXP2-NEXT: Export {56// EXP2-NEXT: Ordinal: 157// EXP2-NEXT: Name: sym58// EXP2-NEXT: RVA: 0x200859// EXP2-NEXT: }60// EXP2-NEXT: }61 62 .data63 .globl sym64sym:65 .word 066 .globl sym267sym2:68 .word 069