brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 06ea9ec Raw
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